【发布时间】:2021-08-07 23:43:44
【问题描述】:
我正在尝试编写可以从 Map 中删除几个键的 udf。但是 Map 的 key 和 value 类型并不固定,可以是 String 或者 Array 或者其他。我应该如何定义这样的udf。我使用的是 Spark 2.4.4 版。
下面是我对 Map[String, string] 的 udf:
val mapKeys = //Seq[String]
val mapFilterUdf = udf[Map[String, String], Map[String, String]] {
map => map.filter{case (key, _) => mapKeys.contains(key)}
}
mapFilterUdf(dataFrame.col("column_name")).as(column.name)
【问题讨论】:
标签: scala apache-spark apache-spark-sql user-defined-functions