簡體   English   中英

如何基於Spark中的DataFrame的多個值編寫條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM