python - 在 GCP 上使用 python numpy 和 pandas 部署小批量作业

标签 python pandas google-cloud-platform batch-processing google-cloud-dataflow

我有一个小型的日常计算工作,从 BigQuery 导入数据,使用 Python 数值计算库(pandas、numpy)进行处理,然后将结果写入外部表(另一个项目的 Firestore 或 MySQL)

在 GCP 上部署它的推荐方法是什么?

我们的开发人员建议我们不要仅仅为了执行批处理作业而创建单个虚拟机。他们宁愿不自己管理虚拟机基础设施,并且应该有支持批处理作业的服务。他们坚持要求我使用 Dataflow。但我认为 Dataflow 的分布式特性有点矫枉过正。

非常感谢,


2019 年 10 月 14 日更新:

我正在考虑将批处理作业 Docker 化并部署到 K8 集群。缺点是集群应该托管多个作业,以值得进行设置和维护工作。有人可以就这种方法的可行性和适用性给我建议吗?


2019 年 10 月 15 日更新:

感谢 Alex Titov 在 https://googlecloud-community.slack.com/archives/C0G6VB4UE/p1571032864020000 发表评论。根据他的建议,我将把我的工作分解为多个小型 Cloud Functions 组件,并通过 Cloud Scheduler 和/或 Cloud Composer 将它们作为管道链接在一起。

最佳答案

Cloud Dataflow完全可以满足您的需求,因此它比虚拟机更容易管理、扩展和构建。提前问自己几个问题,如果不适用,请使用 Dataflow:

  • 我是否希望仅限于特定云提供商(本例中为 GCP)
  • 在此项目中,是否使用了其他云服务,或者仅使用云中的基础设施(保持一致性)。另外我们希望项目朝什么方向发展? (使用自定义或云解决方案)
  • 我想绝对控制这个批处理软件处理工具吗?如果是这样,您可能没有使用 Dataflow
  • 其他考虑因素,例如成本、部署时间、启动时间

如果所有答案都倾向于云服务,那么就使用它。

关于python - 在 GCP 上使用 python numpy 和 pandas 部署小批量作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58351290/

相关文章:

loops - 如何在 Pandas 中将 DataFrame 的行迭代为系列?

python - 这是在 DataFrame 中设置值的安全方法吗?为什么这有效?

mysql - 在 python2.7 中使用 pool.apply_async 不会将值插入到 MySQL 表中

python - Pandas ,计算分组值(即计算多重性)

python - 如何使用 python 查询本地镜像的 Google Cloud Vision API?

java - 如何获取存储在 google-cloud-storage 存储桶子目录中的图像的 URL

python - 使用 url 通过 urllib python 请求时遇到编码问题

python - 如何在图上找到一组元素的所有唯一排列

python - <span> 内没有类的 BS4 文本

python - Keras 模型永远用 dask 数据框进行训练