![](/img/trans.png)
[英]Hadoop: Processing different files with different Mappers and combining results in Reducer using Custom Writable
[英]Implementing mulitple mappers and single reducer in hadoop
我是hadoop的新手。 我有多个包含文件的文件夹来处理hadoop中的数据。 我怀疑在map-reducer算法中实现mapper。 我可以指定多个映射器来处理多个文件,并使用单个reducer将所有输入文件作为一个输出吗? 如果可能,请提供实施上述步骤的指南。
如果您有多个文件,请使用MultipleInputs
addInputPath()方法可用于:
对于单个缩减器,每个映射的输出键都相同...比如1或“abc”。 这样,框架将只创建一个reducer。
如果要以相同的方式映射文件(例如,它们都具有相同的格式和处理要求),那么您可以配置单个映射器来处理所有这些文件。
您可以通过配置TextInputFormat类来完成此操作:
string folder1 = "file:///home/chrisgerken/blah/blah/folder1";
string folder2 = "file:///home/chrisgerken/blah/blah/folder2";
string folder3 = "file:///home/chrisgerken/blah/blah/folder3";
TextInputFormat.setInputPaths(job, new Path(folder1), new Path(folder2), new Path(folder3));
这将导致映射器处理文件夹1,2和3中的所有文件。
当然,如果您需要使用不同的输入类型,则必须适当地配置该类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.