我有一个格式为的csv文件:
key, age, marks, feature_n
abc, 23, 84, 85.3
xyz, 25, 67, 70.2
这里的功能数量可能会有所不同。例如:我有3个功能(年龄,标记和feature_n)。我必须将它转换为Map [String,String],如下所示:
[key,value]
["abc","age:23,marks:84,feature_n:85.3"]
["xyz","age:25,marks:67,feature_n:70.2"]
我必须将上述数据加到列'键'上的另一个数据集A上。并附加'值'数据集A中的另一列。可以将csv文件加载到具有模式的数据框中(模式由csv文件的第一行定义)。
val newRecords = sparkSession.read.option("header", "true").option("mode", "DROPMALFORMED").csv("/records.csv");
发布此消息后,我将使用数据集A加入数据框newRecords并附加'值'到数据集A的一列。
如何迭代每一行的每一列,不包括列"键"并生成格式字符串"年龄:23,标记:84,feature_n:85.3"来自newRecords?
我可以改变csv文件的格式,如果有帮助,可以使用JSON格式的数据。
我是Scala和Spark的新手。
答案 0 :(得分:0)
我建议采用以下解决方案:
git checkout 2.0.6