我有一个JavaRDD<List<String>>
,并且在使用时,我的文件在每个字符串列表的开头和结尾处都用[]写成
javacontext.parallelize(rdd).coalesce(1, true).saveAsTextFile("dirname");
我们可以将JavaRDD<List<String>>
转换为JavaRDD<String>
并将其写入文件吗?
答案 0 :(得分:0)
您可以使用map
为String.join
中的每个List<String>
应用JavaRDD
:
String separator = ",";
JavaRDD<String> ys = rdd
.map(new Function<List<String>, String>() {
@Override
public String call(List<String> xs) throws Exception {
return String.join(separator, xs);
}
});
或使用lambdas:
JavaRDD<String> ys = rdd
.map((Function<List<String>, String>) xs -> String.join(separator, xs));