小编Jer*_*emy的帖子

使用typedcolumn选择Spark数据集

查看select()spark DataSet 上的函数,有各种生成的函数签名:

(c1: TypedColumn[MyClass, U1],c2: TypedColumn[MyClass, U2] ....)
Run Code Online (Sandbox Code Playgroud)

这似乎暗示我应该能够直接引用MyClass的成员并且类型安全,但我不确定如何...

ds.select("member")当然有效..似乎也ds.select(_.member)可能以某种方式工作?

scala apache-spark apache-spark-dataset

10
推荐指数
2
解决办法
8171
查看次数

如何使用 Spark 决策树调整分类阈值

我正在使用 Spark 2.0 和新的 spark.ml。包。有没有办法调整分类阈值,以便减少误报的数量。如果重要的话,我也在使用 CrossValidator。

我看到 RandomForestClassifier 和 DecisionTreeClassifier 都输出一个概率列(我可以手动使用,但 GBTClassifier 不会。

decision-tree apache-spark apache-spark-mllib

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

Spark 聚合函数超过范围并带有跳过或跨步

我正在尝试在具有范围的窗口函数上计算像 sum() 这样的聚合函数,但我只想包含每 N 行。并且它跳过的内容应该相对于窗口的前面(始终包含窗口中的第一行)

//val df = some Dataframe {symbol,datetime,metric}
val baseWin = Window.partitionBy("symbol").orderBy("datetime")

//This is a plain sum over the window
val plain = sum(col("metric")).over(baseWin.rowsBetween(-12,0))

//This is ALMOST what I want (every 3rd) BUT isn't relative to the window
val almost = sum(when(col("datetime")/lit(DAY) %3 === 0, col("metric")).over(baseWin.rowsBetween(-12,0))
Run Code Online (Sandbox Code Playgroud)

scala window-functions apache-spark

4
推荐指数
1
解决办法
651
查看次数