我的問題是我必須在列表中找到這些不是空的。當我使用過濾器功能不是空的,比我得到的每一行。在非空WrappedArray上過濾數據幀
我的程序代碼如下所示:
...
val csc = new CassandraSQLContext(sc)
val df = csc.sql("SELECT * FROM test").toDF()
val wrapped = df.select("fahrspur_liste")
wrapped.printSchema
列fahrspur_liste
包含包裹陣列和本專欄我來分析。當我運行的代碼,比我得到這個結構,我的包裹陣列和這些條目:
root
|-- fahrspur_liste: array (nullable = true)
| |-- element: long (containsNull = true)
+--------------+
|fahrspur_liste|
+--------------+
| []|
| []|
| [56]|
| []|
| [36]|
| []|
| []|
| [34]|
| []|
| []|
| []|
| []|
| []|
| []|
| []|
| [103]|
| []|
| [136]|
| []|
| [77]|
+--------------+
only showing top 20 rows
現在我要過濾這些行,讓我只有條目[56],[36],[ 34],[103],...
我該如何編寫一個過濾器函數,我只得到這些行,其中包含一個數字?
可以通過定義用戶在火花定義函數實現這一點。一個用於測試數組是否爲空,另一個用於測試數組是否包含某些內容。 – dumitru