gpt4 book ai didi

hadoop - 自定义分区器以平衡 reducer 的输入

转载 作者:可可西里 更新时间:2023-11-01 15:49:53 24 4
gpt4 key购买 nike

假设我的映射器输出 N 个键(这些键是不同的),并且我有 K 个缩减器。如何编写自定义 Paritioner,以便每个 reducer 接收大约 N/K 个 key ?哪个 key 接收到哪个并不重要。

示例:假设我的映射器输出 10 对 <k1,v1>,<k2,v2>,<k3,v3>,...<k10,v10> ,我有 3 个 reducer 。我想要 3 对进入第一个 Reducer,3 对进入第 2 个,4 对进入第 3 个,无论哪个键进入哪个 reducer 。

我的尝试:

  • 随机分配reducer。例如,随机分配 <k1,v1>到第一个 reducer ,<k2,v2>到第二个 reducer ,依此类推。但是仍然有 reducer 比其他 reducer 获得更多的数据
  • 我不想修改哪些键对应哪些 reducer。因为键 k1,k2,...k10我的映射器根据输入数据发生变化 --> 我必须为每个输入数据更改代码。此外,这些键具有相同的作用。我只需要在 reducer 之间平均分配它们。

非常感谢。

最佳答案

默认分区器使用散列函数,它通过设计提供均匀分布,因此除非您对数据有所了解,否则您不会得到更好的结果,例如应分发的 key 的确切值。

关于hadoop - 自定义分区器以平衡 reducer 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50980096/

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