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

Java 如何使映射器从两个具有公共列的不同文件中获取输入?,java,hadoop,mapreduce,hdfs,Java,Hadoop,Mapreduce,Hdfs,希望使用MapReduce查找零“停机”的“航空公司列表” “机场名称”在一个文件中给出,其“停机”在另一个文件中出现。这两个文件中的列字段是“机场ID” 第一个cvs文件包含以下字段: Airline (IATA) Airline ID Source airport Source airport ID Destination airport Destination airport ID Codeshare stoppage

希望使用MapReduce查找零“停机”的“航空公司列表”

“机场名称”在一个文件中给出,其“停机”在另一个文件中出现。这两个文件中的列字段是“机场ID”

第一个cvs文件包含以下字段:

   Airline (IATA) 
    Airline ID 
    Source airport
    Source airport ID 
    Destination airport
    Destination airport ID 
    Codeshare 
    stoppages
    Equipment
和file-2包含的字段是

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

如何处理这种情况?请详细解释。

您可以使用map reduce中的联接处理两个数据集。看起来第二个文件比第一个文件小,可以加载到内存中。使用DistributedCacheAPI加载第二个文件,并在mappper代码中使用映射端连接概念

我在任何文件中都看不到“Airline Name”,我也不理解这句话:“如果这两个文件的数据结构相同,并且可以接受相同的输入”,请以可读的方式重写它。HI Ishan,您是否正在考虑将数据加载到hive数据库中,然后执行join query以检索所需的数据。。。。?请详细介绍一下