小编opu*_*111的帖子

Slick 3.0批量插入或更新(upsert)

在Slick 3.0中执行批量insertOrUpdate的正确方法是什么?

我正在使用适当查询的MySQL

INSERT INTO table (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);
Run Code Online (Sandbox Code Playgroud)

MySQL批量INSERT或UPDATE

这是我目前的代码非常慢:-(

// FIXME -- this is slow but will stop repeats, an insertOrUpdate
// functions for a list would be much better
val rowsInserted = rows.map {
  row => await(run(TableQuery[FooTable].insertOrUpdate(row)))
}.sum
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是相当于

def insertOrUpdate(values: Iterable[U]): DriverAction[MultiInsertResult, NoStream, Effect.Write]
Run Code Online (Sandbox Code Playgroud)

mysql sql scala slick typesafe

26
推荐指数
1
解决办法
1万
查看次数

为什么word2Vec使用余弦相似度?

我一直在阅读关于Word2Vec的文章(例如这篇文章),我认为我理解训练向量以最大化在相同上下文中找到的其他单词的概率.

但是,我不明白为什么余弦是衡量单词相似度的正确方法.余弦相似性表示两个矢量指向同一方向,但它们可能具有不同的大小.

例如,余弦相似性比较文档的词袋是有意义的.两个文档可能具有不同的长度,但具有相似的单词分布.

为什么不说欧几里德距离呢?

任何人都可以解释为什么余弦相似性适用于word2Vec?

nlp word2vec deep-learning

17
推荐指数
2
解决办法
6335
查看次数

从SQL查询创建Spark Dataframe

我确定这是一个简单的SQLContext问题,但我在Spark文档或Stackoverflow中找不到任何答案

我想从MySQL上的SQL查询创建Spark Dataframe

例如,我有一个复杂的MySQL查询

SELECT a.X,b.Y,c.Z FROM FOO as a JOIN BAR as b ON ... JOIN ZOT as c ON ... WHERE ...
Run Code Online (Sandbox Code Playgroud)

我想要一个包含X,Y和Z列的Dataframe

我想出了如何将整个表加载到Spark中,我可以将它们全部加载,然后在那里进行加入和选择.然而,这是非常低效的.我只想加载我的SQL查询生成的表.

这是我目前对代码的近似,但不起作用.Mysql-connector有一个"dbtable"选项,可用于加载整个表.我希望有一些方法来指定查询

  val df = sqlContext.format("jdbc").
    option("url", "jdbc:mysql://localhost:3306/local_content").
    option("driver", "com.mysql.jdbc.Driver").
    option("useUnicode", "true").
    option("continueBatchOnError","true").
    option("useSSL", "false").
    option("user", "root").
    option("password", "").
    sql(
"""
select dl.DialogLineID, dlwim.Sequence, wi.WordRootID from Dialog as d
join DialogLine as dl on dl.DialogID=d.DialogID
join DialogLineWordInstanceMatch as dlwim o n dlwim.DialogLineID=dl.DialogLineID
join WordInstance as wi on wi.WordInstanceID=dlwim.WordInstanceID
join WordRoot as wr on wr.WordRootID=wi.WordRootID
where …
Run Code Online (Sandbox Code Playgroud)

sql mysqli scala mysql-connector apache-spark

14
推荐指数
1
解决办法
2万
查看次数

使用HTTP Post从客户端流式传输数据

我想将数据从客户端流式传输到服务器.

我的应用程序将音频数据传输到服务器.我不知道当我开始流式播放音频时会有多长时间.我希望通过在记录数据时传输数据来减少延迟.上传完所有数据后,我会处理它.

所以,我想要的是一个HTTP POST,身体是流.在客户端,POST将在数据可用时发送.在服务器端,我希望它像普通的POST一样到达,并带有完整的收集数据.

我目前正在使用Restlet,并将我的流作为Chunked POST实现到Restlet框架.

但是,我找不到允许我开始POST的客户端API,然后开始流式传输数据.

我没有找到任何有用的搜索存档.任何人都可以在这里给我一个指针.可以通过这种方式使用HTTP POST吗?我可以使用Restlet吗?是否有另一种标准模式/ API用于从客户端到服务器的流式传输?

非常感谢彼得

post http stream restlet

9
推荐指数
2
解决办法
1万
查看次数

Slick 3在Scala中使用逻辑进行交易

我有关于Slick 3和Transactions的问题

我已阅读文档

http://slick.typesafe.com/doc/3.1.0/dbio.html

和其他Slick 3交易问题

Slick 3 Transactions

在Slick 3中的事务中执行非数据库操作

但他们没有帮助我

我需要从数据库中读取一些值,在Scala中运行一些逻辑,然后根据结果修改数据库.我希望整个操作都是原子的.

我的代码看起来像这样:

database.run(TableQuery[X].filter(blah).result).map { x =>
  database.run { 
    if( someLogicNotInSQL(x) ) 
      TableQuery[Y].insert(someFoo) 
    else 
      TableQuery[Y].insert(someBah)
  } 
}
Run Code Online (Sandbox Code Playgroud)

如何获取查询的值,在Scala中运行一些逻辑,然后将另一个操作(例如insert)全部作为一个原子事务运行.

谢谢彼得

scala transactions slick typesafe

8
推荐指数
1
解决办法
1227
查看次数

Java Null的隐式包装

我需要从Scala访问大量Java接口.这些接口有可能返回Null的方法,我想将它们转换为Option[T]

我找到了其他Option.apply()类似的答案

如何将可以为null或数组的值隐式包装到Scala选项中

选项化Java getter

但是,这要求对于每个Java接口,我手动创建一个Scala包装器.像这样...

class ScalaFoo extends JavaFoo {
  def bar = Option(super.bar)
}
Run Code Online (Sandbox Code Playgroud)

这似乎很乱,很难维护,容易出错.我不希望所有那些无效的额外代码,我想自动包装所有Java接口,这样如果一个更改,包装器也会改变.

当然,有一种方法可以用implicits做到这一点,不是吗?

java null scala implicit

7
推荐指数
1
解决办法
690
查看次数

使用null参数从Scala调用Java API

我有一些需要调用Java API的Scala代码

Java API接受可能为null的参数.我的Scala当然使用了Option.

举例来说,假设我有一个Java对象的构造Foo(Integer),其中Integer可能null.我想给Scala打电话bar: Option[Int].

我试过这个

import scala.collection.JavaConversions._
import scala.collection.JavaConverters._

val foo = Foo( bar.getOrElse(null) )
Run Code Online (Sandbox Code Playgroud)

但得到了这个编译错误

Error:(335, 44) type mismatch;
  found   : Any
  required: Integer
  bar.getOrElse(null),
Run Code Online (Sandbox Code Playgroud)

这样做的正确习惯是什么?

null scala java-api scala-option

6
推荐指数
2
解决办法
1498
查看次数

FFMPEG:AAC 频段数量超出限制

我正在使用 FFMPEG C API 来解码 MP4 文件中的音频。

我的代码在解码 OGG 或 MP3 文件时有效,但在解码 MP4 中的 AAC 音频的第一帧时失败

我收到此错误

avcodec_send_packet(codecContext, packet)

[aac @ 0x7f80eb9e3a00] Number of bands (31) exceeds limit (5)
Run Code Online (Sandbox Code Playgroud)

什么是“频段数量”以及如何增加它?这条消息的真正含义是什么?

先感谢您

ffmpeg aac

6
推荐指数
0
解决办法
5557
查看次数

如何在Julia中禁用@assert

作为老的C程序员,我在代码中使用了很多断言。现在,我想全局关闭它们,以加快处理速度。最佳做法是什么?

assert julia

6
推荐指数
1
解决办法
108
查看次数

Python 3.6 类型检查:numpy 数组和使用定义的类

我认为这个问题已经被问过,但我找不到它

如何检查 Python 3.6 中的非内置类型?

例如,假设我想要一个函数 foo() ,它将 numpy 数组作为参数,并返回我的类 Bah 的实例

def foo(a: np.array) -> Bah
Run Code Online (Sandbox Code Playgroud)

我可以做这样的事情吗?如何将这些类型添加到检查中?

python typechecking python-3.6

5
推荐指数
1
解决办法
1万
查看次数