【发布时间】:2019-04-15 12:36:58
【问题描述】:
我正在编写一个 scala UDF,它从列中获取值并检查列表中的特定值是否存在然后执行某些操作,如果存在其他值执行某些操作等等。例如:
val listOfValues = List("001", "002", "003", "004", "005")
if ($"column".isin(listOfValues: _*) || (logic 2) && (logic 3)) "value 1"
else if ($"column".isin(listOfValues: _*) || (logic 3) || (logic 4)) "value 2"
else if ($"column".isin(listOfValues: _*) && (logic 4) && (logic 5)) "value 3"
else "value 4"
现在的问题是$"column".isin(listOfValues: _*) 返回一列,但没有返回单个真/假值。我需要每行都有一个真/假值才能正确使用条件。
关于如何检查 df 列是否包含列表中的这些值作为真/假有什么建议吗?
【问题讨论】:
标签: scala apache-spark apache-spark-sql user-defined-functions