【发布时间】:2021-01-16 20:25:49
【问题描述】:
我一直是 Google App Engine 的 Mapreduce 库的长期用户,用于处理 Google Datastore 中的数据。 Google 不再支持它,它在 Python 3 中根本不起作用。我正在尝试将我们较旧的 Mapreduce 作业迁移到 Google 的 Dataflow / Apache Beam 运行器,但the official documentation 很糟糕,它只是描述了 Apache Beam,它确实如此不告诉你如何迁移。
尤其是这样的问题:
- 在 Mapreduce 中,作业将在您现有的已部署应用程序上运行。但是在 Beam 中,您必须创建和部署自定义 Docker 映像才能为 Dataflow 构建环境,对吗?
- 要在 Mapreduce 中创建一个新的作业模板,您只需要编辑一个 yaml 文件并部署它。要在 Apache Beam 中创建一个,您需要创建自定义 runner 代码,一个部署到谷歌云存储的模板文件,并与 docker 镜像链接,对吗?
以上内容准确吗?如果是这样,通常情况下使用 Dataflow 比使用 Mapreduce 困难得多吗?是否有任何库或提示可以使这更容易?
【问题讨论】:
标签: google-app-engine mapreduce apache-beam google-dataflow