我有2个数据源,每个数据源以不同的格式存储数据。
每个应由不同的映射器处理,但两个映射器将以相同的中间格式到达以传递给reducer。
我知道我可以通过为hadoop流添加多个“-input”选项来处理多个输入,但是如何为每个输入分配单独的mapper?
答案 0 :(得分:0)
Hadoop的InputFormat包含一个类“MultipleInputs”。这用于添加多个输入文件,这些文件可由多个Mapper处理。以下是语法。
MultipleInputs.addInputpath(作业,路径,inputformatClass,1stMapperClass); MultipleInputs.addInputpath(作业,路径,inputformatClass,2stMapperClass);
映射器的输出将由一个reducer处理。 _____________________________ OR _______________________________________
您可以使用map-reduce的DistributedCache API,其中一个文件可以存储到内存中,您可以执行地图侧连接。你可以去下面的网址..
Not understanding the path in distributed path
请让我知道它是否有帮助>