gpt4 book ai didi

google-app-engine - Appengine 上的 Map-Reduce 状态?

转载 作者:太空宇宙 更新时间:2023-11-03 15:18:34 25 4
gpt4 key购买 nike

appengine-mapreduce这似乎是在 AppEngine 上做事的官方方式。但是除了一些拼凑在一起的维基页面和冗长的视频之外,似乎没有任何文档。有声明说该库仅支持 map 步骤。但消息来源表明也有 shuffle 的实现。 .

这个 appengine-mapreduce 库的一个版本似乎也包含在 SDK 中,但它不适合公众使用。因此,您基本上应该将库加载到运行时中两次。

然后是appengine-pipeline . “API 的一个主要用例是将各种 App Engine MapReduce 连接到一个计算管道中。”但是 appengine-mapreduce 库中似乎也有与管道相关的代码。

那么我从哪里开始了解这一切是如何组合在一起的呢?从我的项目中调用哪个库。除了解析更改日志之外,是否有关于 appengine-mapreduce 的任何体面的文档?

最佳答案

Which is the library to call from my project.

它们有不同的用途,您没有提供有关您尝试执行的操作的详细信息。

这里最基本的层是任务队列,它可以让您安排可以高度并行化的后台工作。这是扇出。假设您有一个包含 1000 个网站的列表,您想要检查每个网站的响应时间并为加载时间超过 5 秒的任何网站发送一封电子邮件。通过将这些作为并发任务运行,与按顺序检查所有 1000 个站点相比,您可以更快地完成工作。

现在假设您不想为每个速度较慢的站点都发送一封电子邮件,您只想检查所有 1000 个站点并发送一封摘要电子邮件,其中说明有多少网站花费的时间超过 5 秒,有多少网站花费的时间更少。这是扇入。任务队列更棘手,因为您需要知道所有任务何时完成,并且您需要收集和汇总它们的结果。

输入管道 API。 Pipeline API 抽象了任务队列,使扇入更容易。您编写看起来像同步的过程代码,但使用 Python futures 并(尽可能)并行执行。 Pipeline API 跟踪任务依赖性并收集结果以促进构建分布式工作流。

MapReduce API 包装了 Pipeline API 以促进特定类型的分布式工作流:将一项工作的结果映射到一组键/值对,并通过组合它们的值将多组结果缩减为一个。

因此,它们围绕分布式任务执行的通用系统提供了越来越多的抽象层和便利性。正确的解决方案取决于您要实现的目标。

关于google-app-engine - Appengine 上的 Map-Reduce 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8411805/

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