[英]How to write a condition based on multiple values for a DataFrame in Spark
我正在使用Spark應用程序(使用Scala),我有一個包含多個值的List。 我想使用這個列表來為我的DataFrame編寫一個where
子句,並在元組上只選擇一個子集。 例如,我的List包含'value1','value2'和'value3'。 我想寫這樣的東西:
mydf.where($"col1" === "value1" || $"col1" === "value2" || $"col1" === "value3)
我如何以編程方式執行此操作導致列表包含許多值?
您可以將值列表映射到“過濾器”列表(類型為Column
),並通過應用||
將此列表縮減為單個過濾器 每兩個過濾器上的操作員:
val possibleValues = Seq("value1", "value2", "value3")
val result = mydf.where(possibleValues.map($"col1" === _).reduce(_ || _))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.