使用Apache Spark/Spark SQL加入文件
问题描述:
我试图使用Apache Spark来比较基于某些常见字段的两个不同文件,并从两个文件中获取值并将其写为输出文件。使用Apache Spark/Spark SQL加入文件
我正在使用Spark SQL来连接这两个文件(将RDD存储为表格后)。
这是正确的方法吗?
我们可以compare/join
没有Apache SQL的文件吗?
请在此建议我。
答
如果使用普通火花,则可以加入两个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。
答
尝试在匹配记录的数据集的两个数据框之间进行内部连接。
谢谢。是否有可能只从两个文件中获取必填字段而不是所有字段?我们应该用什么方式来获得它? – Shankar