如何使用 Scala 调用 UDF
How to call an UDF using Scala
如何通过 DataFrame 在 Scala 中表达以下代码API?
sqlContext.read.parquet("/input").registerTempTable("data")
sqlContext.udf.register("median", new Median)
sqlContext.sql(
"""
|SELECT
| param,
| median(value) as median
|FROM data
|GROUP BY param
""".stripMargin).registerTempTable("medians")
我已经开始通过
val data = sqlContext.read.parquet("/input")
sqlContext.udf.register("median", new Median)
data.groupBy("param")
但是我不知道如何调用 median
函数。
您可以使用 callUDF
data.groupBy("param").agg(callUDF("median", $"value"))
或直接调用:
val median = new Median
data.groupBy("param").agg(median($"value"))
// Equivalent to
data.groupBy("param").agg(new Median()($"value"))
不过,我认为使用 object
而不是 class
更有意义。
如何通过 DataFrame 在 Scala 中表达以下代码API?
sqlContext.read.parquet("/input").registerTempTable("data")
sqlContext.udf.register("median", new Median)
sqlContext.sql(
"""
|SELECT
| param,
| median(value) as median
|FROM data
|GROUP BY param
""".stripMargin).registerTempTable("medians")
我已经开始通过
val data = sqlContext.read.parquet("/input")
sqlContext.udf.register("median", new Median)
data.groupBy("param")
但是我不知道如何调用 median
函数。
您可以使用 callUDF
data.groupBy("param").agg(callUDF("median", $"value"))
或直接调用:
val median = new Median
data.groupBy("param").agg(median($"value"))
// Equivalent to
data.groupBy("param").agg(new Median()($"value"))
不过,我认为使用 object
而不是 class
更有意义。