我有两个不同的文件,每个文件包含不同的数据。我想对这些文件进行一些处理,然后根据匹配的键将数据合并在一起。在Hadoop中实现此目标的最佳方法是什么?我正在考虑以某种方式创建两个映射器,每个映射器将处理一个文件,然后还原器合并数据?我不确定这是否可能。关于我如何将Hadoop中两个文件中的数据合并在一起,是否有人有任何建议?
最佳答案
有多种写映射/归约作业的方法(Hive,Pig,Cascading,Java等),但本质上,联接是多输入作业,其中映射器以key_to_join_by和rest_of_data格式发射记录,而reducer进行实际联接(除非其中一个文件小到足以容纳在内存中,您就可以在映射器中进行联接)
您可以在Pig here中看到有关此操作的示例
关于hadoop - 如何设计Hadoop作业以将字段从一个文件匹配到另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249798/