Scala 在dataframe API中使用spark SQL udf

Scala 在dataframe API中使用spark SQL udf,scala,apache-spark,apache-spark-sql,spark-dataframe,udf,Scala,Apache Spark,Apache Spark Sql,Spark Dataframe,Udf,我如何使用在spark-like中非常有效的UDF sparkSession.sql("select * from chicago where st_contains(st_makeBBOX(0.0, 0.0, 90.0, 90.0), geom)").show 摘自 通过spark更类型安全的scala数据帧API?如果您已经创建了一个函数,您可以使用以下方法注册创建的UDF: sparksession.sqlContext.udf.register(yourFunction) 我希望这能

我如何使用在spark-like中非常有效的UDF

sparkSession.sql("select * from chicago where st_contains(st_makeBBOX(0.0, 0.0, 90.0, 90.0), geom)").show
摘自
通过spark更类型安全的scala数据帧API?

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

sparksession.sqlContext.udf.register(yourFunction)

我希望这能有所帮助。

奥利维耶夫斯我认为他在寻找不同的东西。我认为Georg希望在dataframe的
select
api中使用udf by string。例如:

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

df.select(getUdf("square", col("num")).as("newColumn")) // something like this
现在的问题是,是否存在一个名为
getUdf
的函数,可以用来检索通过字符串注册的udf。乔治,是这样吗?

;)实际上,我有一个库(geospark),它注册了一些函数,但丢弃/不存储sparksession.sqlContext.udf.register返回的引用,我想知道如何取回它们,即不必依赖随机字符串。