在数据帧 API 中使用 spark SQL udf

use spark SQL udf in dataframe API

如何使用在 spark 中运行良好的 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 的类型更安全的 scala 数据框 API?

如果您已经创建了函数,您可以使用以下方式注册创建的 UDF:

sparksession.sqlContext.udf.register(yourFunction)

希望对您有所帮助。

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。格奥尔格,是吗?