2016-05-13 49 views
-2

想要使用MapReduce找到零「停車」的「航空公司列表」。Mapper如何從兩個具有公共列的不同文件中輸入數據?

「機場名稱」在一個文件中給出,其「停機」在其他文件中。其中這兩個文件列字段是「機場ID」

首先CVS文件包含以下字段:

Airline (IATA) 
    Airline ID 
    Source airport 
    Source airport ID 
    Destination airport 
    Destination airport ID 
    Codeshare 
    stoppages 
    Equipment 

和文件2包含字段

Airline ID 
Airline Name 
Alias airline 
IATA code 
ICAO 
Callsign 
Country/territory 
Active 

如何處理這種情況呢?請詳細解釋。

+0

我沒有在任何文件中看到「航空公司名稱」,我也不明白這句話:「如果這兩個文件的數據結構相同並且能夠採用相同的輸入」,請以可讀方式重寫它。 – vefthym

回答

0

您可以使用map-reduce中的連接來處理兩個數據集。看起來您的第二個文件與第一個文件相比較小,並且可以加載到內存中。使用分佈式緩存API加載第二個文件,並在映射代碼中使用地圖邊連接概念。

+0

您好,您是否正在考慮將數據加載到配置單元數據庫中,然後執行連接查詢以檢索想要的數據....?請詳細介紹我 – user3302083

相關問題