Colab Enterprise Notebook Scheduler 与 GCP 功能和调度程序

问题描述 投票:0回答:1

我正在尝试使用 Google Cloud Platform 构建数据摄取管道 (ETL) 我有 python 脚本,可以下载公共数据,将其上传到云存储,并对这些数据执行转换并将其上传到 BigQuery 这些脚本必须按计划运行(每小时和每天) 我们正在考虑两种选择来实现这一目标:

选项 1:

  • 创建一个 pub/Sub 主题
  • 在云调度程序中创建一个计划,将消息发布到此发布/订阅主题
  • 使用 python 代码创建一个云函数,该函数订阅此 pub/sub 主题,因此每当收到来自 pub/sub 的消息时就会被触发

选项2:

  • 将我的Python代码上传到Colab笔记本企业版
  • 安排笔记本运行

这两个选项总体来说哪个更好? 两种方法之间的成本、可靠性和效率是否有比较?

已尝试这两种方法来构建数据摄取管道,并且它们按预期工作

google-cloud-platform google-cloud-functions google-cloud-pubsub google-cloud-scheduler google-cloud-colab-enterprise
1个回答
0
投票

我有更好的建议:

  • 将代码打包到容器中
  • 在 Cloud Run Jobs 上部署容器
  • 使用 Cloud Scheduler 调用 Cloud Run 作业

这里,对该提案的一些解释:

  • 容器是当今打包代码的通用方法。在这里,我建议在 Cloud Run Jobs 上运行它,但您也可以将容器部署在 K8S 集群(例如 GKE)上、计算引擎上、任何其他接受容器的服务上。
  • Cloud Run Job 经过完美设计,可以在无服务器模式下大规模高效运行。它是下一代 Cloud Functions(Cloud Functions gen2 后端是 Cloud Run!);作业最多可以运行 7 天!
  • Cloud Scheduler 是完美的日程安排服务。使用 OAuth 安全性和具有 Cloud Run Invoker 角色的服务帐户调用 Cloud Run 作业执行 API。
© www.soinside.com 2019 - 2024. All rights reserved.