如何从RDD中保存的文本文件创建Shark查询



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

我该怎么做?

我现在得到的解决方案是将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

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

相关内容

  • 没有找到相关文章

最新更新