【问题标题】:Can a mapper write to multiple files映射器可以写入多个文件吗
【发布时间】:2013-10-28 17:30:39
【问题描述】:

我是 Hadoop 和 Map reduce 的新手,我使用的是旧版本的 hadoop 0.19。 我有一个程序可以读取文件/excel,并将列内容作为地点、位置、名称等列表提供给我。

假设我有映射器将我的输入文件分成两部分。 这些映射器中的每一个都会给我一个上述实体的列表。

我的问题是:

  1. 如何跟踪数据并为每个映射器中的每个文件分别保存地点和名称列表。reducer 如何识别这些文件并为每个文件提供地点和名称的综合列表。

说 Doc-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 中做到这一点的方法。

【问题讨论】:

    标签: java hadoop mapreduce


    【解决方案1】:

    如果这是一个仅限 Map 的作业,则输出文件的数量将与 Mappers 的数量相同。如果这是一个 MapReduce 作业,您可以指定 Reducer 的数量。提供一个 Partitioner,将数据从特定的 Mapper 发送到特定的 Reducer。如果您不确定 Mapper 的数量,请使 Reducer 的数量略高于总数,并且仅使用 Partitioner 中的前 n 个 Reducer。

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 2012-11-26
      • 1970-01-01
      • 2018-10-03
      • 2023-01-21
      • 2015-07-17
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多