gpt4 book ai didi

hadoop - 如何避免在链式hadoop中不必要地重复映射步骤

转载 作者:行者123 更新时间:2023-12-02 21:14:03 24 4
gpt4 key购买 nike

我有两个链接的mapreduce步骤(在更大的分支工作流程中)。第一个按id分组,在极少数情况下会产生一个具有不同id的新对象(可能是亿万个输入对象中的几千个)。第二个对象再次将所有对象(包括新对象)按ID分组,并生成一堆我关心的东西。

当除了新对象以外的所有其他东西都已经在同一服务器上并按ID排序时,再次读取/重新混合所有数据似乎非常浪费。有没有一种方法可以将新的东西改组到当前的 reducer 中,然后让它们重新开始列表?

我正在使用Hadoop流,因此与之匹配的任何答案都将是理想选择,但我也对常规答案感兴趣。

最佳答案

如果新对象是由reducer生成的,则您无法通过MapReduce一次性完成。考虑使用spark代替;对于迭代任务来说更好。

如果新对象是由映射器生成的,而第一阶段的简化器只是传递,则您应该能够一步一步完成:第一阶段的映射器应同时发出原始记录和新记录(没有规则可以表示映射器必须为1:1。映射器可以产生比输入更多或更少的记录)

关于hadoop - 如何避免在链式hadoop中不必要地重复映射步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39353925/

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