gpt4 book ai didi

hadoop - 映射器中的中间文件 (Mapreduce)

转载 作者:可可西里 更新时间:2023-11-01 16:56:49 25 4
gpt4 key购买 nike

所以我是这个 Hadoop 世界的新手,我试图了解映射器和缩减器的工作原理,我的问题(和疑问)是:

我有一个长映射器,在生成 [key,value] 对之前需要生成一些中间文件。例如,在整个映射器中:文件 A 和 B 作为输入,我需要一个输出文件 E,其中包含一些无法减少的中间文件。

file A -> file C
file B -> file D
file C + file D -> file E

有没有可能实现这个?中间文件是否保留在节点中?

最佳答案

这是传统无法实现的。但是有 2 种方法是可能的:

  • 您可以从每个映射器创建和写入 HDFS 上的文件。请注意,因为基于输入数据的大小/编号。文件中可能有许多并行运行的映射器,因此文件名必须是唯一的。
  • 更好的方法:从 mapper 为 reducer 发出一个复杂的键。这个复杂的 key 有两个部分:IdentifierOfKey:Key。 IdentifierOfKey 只不过是一个标志,表示该记录需要转到文件 E。现在在 reducer 中,您可以使用多个输出将数据放入多个文件。

关于hadoop - 映射器中的中间文件 (Mapreduce),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28813726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com