在dataframe API中使用spark SQL udf

时间:2017-02-21 20:14:56

标签: scala apache-spark apache-spark-sql spark-dataframe udf

我如何使用在火花中效果很好的UDF

sparkSession.sql("select * from chicago where st_contains(st_makeBBOX(0.0, 0.0, 90.0, 90.0), geom)").show

摘自http://www.geomesa.org/documentation/user/spark/sparksql.html 通过spark`s more typesafe scala dataframe API?

2 个答案:

答案 0 :(得分:1)

如果您已创建了一个函数,则可以使用以下命令注册创建的UDF:

sparksession.sqlContext.udf.register(yourFunction)

我希望这会有所帮助。

答案 1 :(得分:0)

Oliviervs我认为他正在寻找与众不同的东西。我认为Georg希望在数据框的select API中按字符串使用udf。例如:

val squared = (s: Long) => {
  s * s
}
spark.udf.register("square", squared)

df.select(getUdf("square", col("num")).as("newColumn")) // something like this

当前的问题是是否存在称为getUdf的函数,该函数可用于检索通过字符串注册的udf。乔治,是吗?