我有一个日常的小型计算工作,可以从BigQuery导入数据,使用Python数值计算库(pandas,numpy)进行处理,然后将结果写入外部表(另一个项目的Firestore或MySQL)
在GCP上部署它的推荐方法是什么?
我们的开发人员建议不要创建仅用于批处理作业的虚拟机。他们希望自己不要管理VM基础结构,并且应该有支持批处理作业的服务。他们坚持认为我使用Dataflow。但是我认为Dataflow的分布式特性有点过大。
非常感谢,
2019年10月14日更新:
我正在考虑将批处理作业进行码头化并部署到K8集群。缺点是群集应承载多个作业,值得进行设置和维护。有人可以给我建议这种方法的可行性和适用性吗?
2019年10月15日更新:
感谢Alex Titov在https://googlecloud-community.slack.com/archives/C0G6VB4UE/p1571032864020000发表的评论。根据他的建议,我将把工作分解为多个小型Cloud Functions组件,并通过Cloud Scheduler和/或Cloud Composer将它们作为管道链接在一起。
答案 0 :(得分:2)
Cloud Dataflow完全满足您的需求,因此比VM更易于管理,扩展和构建。事先只问自己几个问题,如果不适用,请使用Dataflow:
如果所有答案都倾向于云服务,请使用它。
答案 1 :(得分:0)
如果您将工作容器化,则有2种无服务器的解决方案来运行它。每天,如果Cloud Run可以持续15分钟以上(在路线图中,但没有发布日期),则将提供第3个
使用Cloud Build。考虑正确设置timeout。实际上,Cloud Build是为运行任何容器而设计的。我wrote an article on this
使用AI-Platform。一位(出色的)Google员工有released an article on this
这两种解决方案都很棒,您可以选择运行容器的基础VM的机器类型。因此,您不必管理K8S集群,也可以在不使用它时为其付费。