1

我有一个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

我怎样才能做到这一点?

4

1 回答 1

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

现在,很容易创建一个表。

于 2014-09-29T01:38:18.567 回答