我有一个包含在下面火花 - 分裂,转换和存储矢量数据转换为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