如何在hadoop/map reduce中创建固定行数的输出文件?

2024-04-22

假设我们有 N 个具有不同行数的输入文件。我们需要生成输出文件,使得每个输出文件恰好有 K 行(最后一个输出文件可以有

  • 是否可以使用单个 MR 作业来完成此操作?
  • 我们应该打开文件以便在reducer中显式写入。
  • 输出中的记录应该被打乱。

thanks,
帕拉梅什


假设输入文件有 990 条记录,必须分为 9 个文件,每个文件有 100 条记录,最后一个文件有 90 条记录。共有10个文件

Use the NLine输入格式 https://hadoop.apache.org/docs/r1.2.1/api/org/apache/hadoop/mapred/lib/NLineInputFormat.html并设置mapred.line.input.format.linespermap到 100。这样每个映射器将处理输入数据集中的 100 行。将reducer的数量设置为10,这是输出文件的数量。

在映射器中发出 1 到 10 之间的键(这是输出文件的数量),并将值作为输入记录发出。确保映射器发出的键在 1 到 10 之间平衡且不倾斜。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在hadoop/map reduce中创建固定行数的输出文件? 的相关文章

随机推荐