我有一個包含在下面火花 - 分裂,轉換和存儲矢量數據轉換爲CSV文件
+--------------------+-----+-----------+
| features|Label|OutputLabel|
+--------------------+-----+-----------+
|(1133,[33,296,107...| 0| 0.0|
|(1133,[19,1045,10...| 0| 0.0|
|(1133,[9,398,1075...| 0| 0.0|
|(1133,[0,927,1074...| 0| 0.0|
|(1133,[41,223,107...| 0| 0.0|
|(1133,[70,285,108...| 0| 0.0|
|(1133,[4,212,1074...| 0| 0.0|
|(1133,[25,261,107...| 0| 0.0|
|(1133,[0,258,1074...| 0| 0.0|
|(1133,[2,219,1074...| 0| 0.0|
|(1133,[8,720,1074...| 0| 0.0|
|(1133,[2,260,1074...| 0| 0.0|
|(1133,[54,348,107...| 0| 0.0|
|(1133,[167,859,10...| 0| 0.0|
|(1133,[1,291,1074...| 0| 0.0|
|(1133,[1,211,1074...| 0| 0.0|
|(1133,[23,216,107...| 0| 0.0|
|(1133,[126,209,11...| 0| 0.0|
|(1133,[70,285,108...| 0| 0.0|
|(1133,[96,417,107...| 0| 0.0|
+--------------------+-----+-----------+
所示它的列狀的第一列中的一個矢量數據的火花數據幀
更新:請參閱模式下面此數據幀的
root
|-- features: vector (nullable = true)
|-- Label: integer (nullable = true)
|-- OutputLabel: double (nullable = true)
問題1:我需要的第一列的數據拆分爲兩列,以使整數數據應該來在一列與陣列數據應進來另一列。不知道如何在Spark/Scala中做到這一點?任何指針都會有幫助。
當我試圖寫這個數據幀以csv文件,我得到了下面的錯誤
異常線程「main」 java.lang.UnsupportedOperationException: CSV數據源不支持 結構,價值觀:array> 數據類型。
問題2:我知道,即使這個數據幀不能寫成文本文件,因爲它會只寫一列到輸出文件,它不應該是結構類型的。那麼是否可以在將第一列分成兩個單獨的列之後編寫此數據框?第二列數據將是數組數據類型。我們可以用這種方式寫入輸出文件嗎?
問題3:我們有可能將數組數據單獨寫入csv文件嗎?
你可以分享你的數據框的模式說明? –
@RameshMaharjan我已經更新了這個問題以獲得模式。請檢查一下 – JKC