我在Windows 10上運行的火花2.1,我從MySQL中取出數據使用JDBC火花和表看起來像這樣星火:子集數列和刪除空行
x y z
------------------
1 a d1
Null v ed
5 Null Null
7 s Null
Null bd Null
我想創建一個新的火花數據集只包含上表中的x and y columns
,我不想僅保留那些在這兩列中都不爲空的行。我得到的表應該是這樣的
x y
--------
1 a
7 s
以下是代碼:
val load_DF = spark.read.format("jdbc").option("url", "jdbc:mysql://100.150.200.250:3306").option("dbtable", "schema.table_name").option("user", "uname1").option("password", "Pass1").load()
val filter_DF = load_DF.select($"x".isNotNull,$"y".isNotNull).rdd
// lets print first 5 values of filter_DF
filter_DF.take(5)
res0: Array[org.apache.spark.sql.Row] = Array([true,true], [false,true], [true,false], [true,true], [false,true])
如圖所示,上述結果並沒有給我的實際值,但是當值返回布爾值(真當值爲空時不爲空和假)
感謝,它運行沒有任何錯誤,但沒有在輸出中沒有數據。它顯示一張空白表。我也嘗試過使用單個過濾器,例如'load_DF.select($「x」,$「y」)。filter(「x!= null」)'但沒有運氣。 – Nagesh
嘗試load_DF.select($「x」,$「y」)。filter(「x!= null」) –