我一直是 Google App Engine 的 Mapreduce 库的长期用户,用于处理 Google Datastore 中的数据。Google 不再支持它,它在 Python 3 中根本不起作用。我正在尝试将我们较旧的 Mapreduce 作业迁移到 Google 的 Dataflow / Apache Beam 运行器,但官方文档很糟糕,它只是描述了 Apache Beam,它确实不告诉你如何迁移。
特别是,问题是这样的:
- 在 Mapreduce 中,作业将在您现有的已部署应用程序上运行。但是在 Beam 中,您必须创建和部署自定义 Docker 映像来构建 Dataflow 环境,对吗?
- 要在 Mapreduce 中创建新的作业模板,您只需编辑一个 yaml 文件并部署它。要在 Apache Beam 中创建一个,您需要创建自定义运行器代码、部署到谷歌云存储的模板文件,并与 docker 映像链接,对吗?
以上准确吗?如果是这样,通常情况下使用 Dataflow 比使用 Mapreduce 困难得多吗?是否有任何图书馆或提示可以使这更容易?