我是Hadoop和Map Reduce的新手,我使用的是旧版本的hadoop 0.19。我有一个程序可以读取文件/excel,并为我提供列内容作为地点,位置,名称等的列表。
假设我让映射器将我的输入文件分成两部分。这些映射器中的每一个都会给我一个上述实体的列表。
我的问题是:
- 如何维护数据跟踪并分别保存每个映射器中每个文件的地名和名称列表。reducer将如何识别这些文件并为每个文件提供综合的地点列表和另一个名称。
说文档-1:
list of places from mapper1---NY,1 US,2
list of names from mapper1---James 3 ,Ron 8
list of places from mapper-2 --NY 6 UK 5
list of names from mapper 2--Kate 9
像这样的东西。
如何保存每个映射器以及每种类型的实体的名称或地点的输出。
reducer将如何仅识别和减少名称并提出最终列表或仅位置,并提出与该文件相关的最终列表。
请帮助我解决这个问题,并让我知道任何帮助我在 Java 中做到这一点的方法。
如果这是仅映射作业,则输出文件的数量将与映射器数量相同。如果这是一个MapReduce作业,你可以指定Reduce的数量。提供一个分区程序,用于将数据从特定映射器发送到特定的化简器。如果您不确定映射器的数量,请将化简器的数量略高于总数,并且仅使用分区程序中的前 n 个化简器。