2015-06-22 82 views
0

我试图使用Apache Spark来比较基于某些常见字段的两个不同文件,并从两个文件中获取值并将其写为输出文件。使用Apache Spark/Spark SQL加入文件

我正在使用Spark SQL来连接这两个文件(将RDD存储为表格后)。

这是正确的方法吗?

我们可以compare/join没有Apache SQL的文件吗?

请在此建议我。

回答

0

如果使用普通火花,则可以加入两个RDD。

let a = RDD<Tuple2<K,T>> 
let b = RDD<Tuple2<K,S>> 
RDD<Tuple2<K,Tuple2<S,T>>> c = a.join(b) 

这产生每对对密钥K的RDD还有leftOuterJoin,rightOuterJoin,并在RDD fullOuterJoin方法。

因此,您必须映射两个数据集以生成由您的公用密钥索引的两个RDD,然后加入它们。这里是我参考的documentation

+0

谢谢。是否有可能只从两个文件中获取必填字段而不是所有字段?我们应该用什么方式来获得它? – Shankar

1

尝试在匹配记录的数据集的两个数据框之间进行内部连接。