我有一个JavaPairRDD<Dimension, Metrics>,这里Dimension&Metrics对象有一堆成员。有没有办法将其转换为Dataset<Row>两个对象的所有列/成员。或者还有一种方法可以将其转储JavaPairRDD到一个文件中,其中两个对象的列/成员由制表符或逗号分隔。
1 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
您可以使用map()转换将 JavaPairRDD 转换为 JavaRDD,将维度和指标中的所有成员表示为逗号分隔的字符串。
在此之后,您可以将其保存为文本文件。
这样做的逻辑步骤:
覆盖 Dimension 和 Metrics 类中的 toString() 。您可以在其中将逗号分隔的值列表作为字符串返回。
在您的火花应用程序中 -
Function<Tuple2<Dimension, Metrics>, String> f = tuple -> (tuple._1.toString() +"," + tuple._2.toString());
JavaRDD csvRdd = pairRDD.map(f);
csvRdd.saveAsTextFile("your file path")
添加回答
举报
0/150
提交
取消