【发布时间】:2020-11-18 16:58:38
【问题描述】:
需要在结构化流中对 UDF 内的表执行一些查询。问题是,如果我尝试使用 spark.sql 在 UDF 内部,我会收到空指针异常。在这里遵循的最佳方式是什么。
基本上我需要从一个表中流式传输,然后使用该数据从另一个表执行一些范围查询。
例如。
val appleFilter = udf((appleId : String) => {
val query = "select count(*) from appleMart where appleId='"+appleId+"'"
val appleCount = spark.sql(query).collect().head.getLong(0)
(appleCount>0)
})
val newApple = apples.filter(appleFilter($"appleId"))
【问题讨论】:
标签: apache-spark user-defined-functions databricks spark-structured-streaming delta-lake