2015-06-22 123 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

嘗試在匹配記錄的數據集的兩個數據框之間進行內部連接。