我有一个JavaPairRDD<String, String> results
,我通过调用来保存它:
results.saveAsTextFile("data")
然后我得到文件内容,如:
(www.abc.com,0.15712321 www.def.com,www.aaa.com,www.ccc.com)
现在,我想使用Shark创建一个包含三个字段的表:
url STRING | rank DOUBLE | links STRING
www.abc.com | 0.15712321 | www.def.com,www.aaa.com,www.ccc.com
我该怎么做?
答案 0 :(得分:0)
我现在获得的解决方案是将JavaPairRDD<String, String>
转换为JavaRDD<String>
JavaRDD<String> ret = results.map(new Function<Tuple2<String, String>, String>() {
@Override
public String call(Tuple2<String, String> pair) {
return pair._1() + " " + pair._2();
}
});
ret.saveAsTextFile("data");
然后我得到的文件如下:
www.abc.com 0.15712321 www.def.com,www.aaa.com,www.ccc.com
现在,创建表格很容易。