查看select()spark DataSet 上的函数,有各种生成的函数签名:
(c1: TypedColumn[MyClass, U1],c2: TypedColumn[MyClass, U2] ....)
Run Code Online (Sandbox Code Playgroud)
这似乎暗示我应该能够直接引用MyClass的成员并且类型安全,但我不确定如何...
ds.select("member")当然有效..似乎也ds.select(_.member)可能以某种方式工作?
我正在使用 Spark 2.0 和新的 spark.ml。包。有没有办法调整分类阈值,以便减少误报的数量。如果重要的话,我也在使用 CrossValidator。
我看到 RandomForestClassifier 和 DecisionTreeClassifier 都输出一个概率列(我可以手动使用,但 GBTClassifier 不会。
我正在尝试在具有范围的窗口函数上计算像 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)