如何使Mapper从具有公共列的两个不同文件中获取输入?

时间:2016-05-13 09:54:23

标签: java hadoop mapreduce hdfs

想要找到"航空公司列表"零和#34;停工"使用MapReduce。

"机场名称"在一个文件中提供他们的" stoppages"存在于其他文件中。这两个文件中的列字段是"机场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

如何处理这种情况?请详细说明。

1 个答案:

答案 0 :(得分:0)

您可以使用map-reduce中的连接处理两个数据集。看起来你的第二个文件比第一个文件小,可以加载到内存中。使用DistributedCache API加载第二个文件,并在mappper代码中使用map side-join概念。