过滤Scala中Spark数据帧中的数据

时间:2017-06-03 14:09:29

标签: scala apache-spark spark-dataframe

我有一个数据帧df,其中包含以下数据:

**customers**   **product**   **Val_id**
     1               A            1
     2               B            X
     3               C               
     4               D            Z

我已成功过滤了列val_id为空的数据

df.where(col("val_id").isin(""))

但是我无法找到一种方法来过滤列val_id不为空的数据,我尝试了类似下面的内容,但是对我来说不起作用:

df.where(col("val_id").isnotin(""))

任何人都可以帮助我使用Spark Scala来实现它。

3 个答案:

答案 0 :(得分:2)

假设Val_id是String类型,您可以使用此不等运算符!==

df.where(col("Val_id") !== "").show

相反,您也可以使用===来匹配空白。

答案 1 :(得分:2)

您可以使用过滤器来获得所需的输出:

df.filter("rule_id != ''")

答案 2 :(得分:0)

如果列类型为String

df.where(trim(col("val_id")) != "")