2
我有一個火花數據幀,我需要爲特定列過濾空白和空格。火花數據幀同時過濾空白和空格
可以說數據框有兩列。 col2既有空白也有空白。
col1 col2
1 abc
2 null
3 null
4
5 def
我想應用一個過濾器將col2作爲空值或空白的記錄。 任何人都可以幫助這個。
版本: Spark1.6.2 斯卡拉2.10
我有一個火花數據幀,我需要爲特定列過濾空白和空格。火花數據幀同時過濾空白和空格
可以說數據框有兩列。 col2既有空白也有空白。
col1 col2
1 abc
2 null
3 null
4
5 def
我想應用一個過濾器將col2作爲空值或空白的記錄。 任何人都可以幫助這個。
版本: Spark1.6.2 斯卡拉2.10
標準的邏輯運算符是在星火Column
已定義:
scala> val myDF = Seq((1, "abc"),(2,null),(3,null),(4, ""),(5,"def")).toDF("col1", "col2")
myDF: org.apache.spark.sql.DataFrame = [col1: int, col2: string]
scala> myDF.show
+----+----+
|col1|col2|
+----+----+
| 1| abc|
| 2|null|
| 3|null|
| 4| |
| 5| def|
+----+----+
scala> myDF.filter(($"col2" =!= "") && ($"col2".isNotNull)).show
+----+----+
|col1|col2|
+----+----+
| 1| abc|
| 5| def|
+----+----+
注:根據您的星火版本則需要!==
或=!=
(中後者是更當前的選擇)。
如果你有n
條件得到滿足,我可能會用一個列表來減少布爾列在一起:
val conds = List(myDF("a").contains("x"), myDF("b") =!= "y", myDF("c") > 2)
val filtered = myDF.filter(conds.reduce(_&&_))
我能單獨過濾掉空值和空白像下面。 'val df2 = df.filter(「col2!=''」).filter(col(「col2」)。isNotNull === true)' – Ramesh
但我想包括兩個條件在相同的過濾器表達式 – Ramesh
@srinivas根據我上面的評論 – Ramesh