gpt4 book ai didi

python - appengine-mapreduce 在随机播放阶段因内存不足而失败

转载 作者:行者123 更新时间:2023-12-01 03:54:53 24 4
gpt4 key购买 nike

我在数据存储中存储了约 5000 万个实体。每个项目可以是总共 7 种类型中的一种类型。

接下来,我有一个简单的 MapReduce 作业,用于计算每种类型的项目数。它是用 python 编写的,基于 appengine-mapreduce 库。映射器发出 (type, 1) 。 reducer 只是将每种类型接收到的 1 的数量相加。

当我使用 5000 个分片运行此作业时, map 阶段运行良好。它总共使用 20 个实例,根据我的任务队列配置,这是最大可能的实例。

但是,shuffle-hash 阶段仅使用一个实例,并且会因内存不足错误而失败。我无法理解为什么只有一个实例用于散列以及如何修复此内存不足错误。

我尝试过编写组合器,但我从未在 MapReduce 状态页面或日志中看到组合器阶段。

此外,github 上的 appengine-mapreduce wiki 已过时,我找不到可以提问的活跃社区。

最佳答案

您说得对,Python shuffle 是基于内存的并且无法扩展。有一种方法可以让 Python MR 使用 Java MR shuffle 阶段(快速且可扩展)。不幸的是,有关它的文档(设置以及两个库的通信方式)很差。看这个issue了解更多信息。

关于python - appengine-mapreduce 在随机播放阶段因内存不足而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37645138/

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