在数据框 API 中使用 spark SQL udf
Posted
技术标签:
【中文标题】在数据框 API 中使用 spark SQL udf【英文标题】:use spark SQL udf in dataframe API 【发布时间】:2017-02-21 20:14:55 【问题描述】:如何使用在 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?
【问题讨论】:
【参考方案1】:如果你已经创建了一个函数,你可以使用以下方法注册创建的 UDF:
sparksession.sqlContext.udf.register(yourFunction)
我希望这会有所帮助。
【讨论】:
【参考方案2】: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。乔治,对吗?
【讨论】:
;) 实际上我有一个库 (geospark) 并注册了一些函数,但丢弃/不存储sparksession.sqlContext.udf.register
返回的引用,我想知道如何取回它们,即没有依赖随机字符串。以上是关于在数据框 API 中使用 spark SQL udf的主要内容,如果未能解决你的问题,请参考以下文章