【问题标题】:Google Dataprep copy flows from one project to anotherGoogle Dataprep 副本从一个项目流向另一个项目
【发布时间】:2019-08-01 12:19:43
【问题描述】:

我有两个 Google 项目:devprod。我还从位于这些项目中的不同存储桶中导入数据:dev-bucketprod-bucket

dev 环境中进行并测试更改后,如何将更改顺利应用(部署/复制)到prod

我现在要做的是从dev 导出流,然后将其重新导入prod。但是,每次我需要在 `prod 流程中手动执行以下操作:

  • 更改在流中用作输入的数据集
  • 为正确的 BigQuery 数据集(dev-dataset-bigqueryprod-dataset-bigquery)替换手动和预定目标

如何才能更顺畅?

【问题讨论】:

  • 不确定这是否真的可行,因为 Dataprep 没有公开的 API,这意味着您可以通过 UI 执行的操作无法通过脚本完成。另外,恕我直言,除非我测试过它在开发中运行良好,否则我不想将我的开发同步到产品。
  • 是的,当然,这是我的观点。在开发中对其进行了测试后,我如何才能简单地将更改部署到产品中?也许同步不是正确的词。
  • 也许大三角帆可以帮助你:spinnaker.io。在我们公司,我们还使用 CICD 来保持 QA 环境(而非开发环境)与产品同步。

标签: google-cloud-platform google-bigquery google-cloud-dataprep trifacta


【解决方案1】:

如果您想在 Google Cloud Storage (GCS) 存储桶 dev-bucketprod-bucket 之间复制数据,Google 提供了具有此功能的存储传输服务。 https://cloud.google.com/storage-transfer/docs/create-manage-transfer-console 您可以手动触发将数据从一个存储桶复制到另一个存储桶,也可以让它按计划运行。

对于第二部分,听起来dev-dataset-bigqueryprod-dataset-bigquery 都是从GCS 中的文件加载的?如果是这种情况,BigQuery Transfer Service 可能会派上用场。 https://cloud.google.com/bigquery/docs/cloud-storage-transfer您可以手动触发传输作业,也可以让它按计划运行。

正如其他人在 cmets 中所说,如果您需要在启动从 dev 到 prod 的传输之前验证数据,则 Spinnaker 等 CI 系统可能会有所帮助。如果验证可以自动化,Apache Airflow 等系统(如果您需要托管版本,则在 Cloud Composer 上运行)提供比传输服务更大的灵活性。

【讨论】:

  • 这与在不同项目之间复制文件没有太大关系。正如您在某些链接(不仅仅是传输)中指出的那样,您可以使用 gcloud utils 。在这里,我们谈论的是 Dataprep 中的流。他们打算如何管理不同的项目(dev/staging/prod)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2018-03-10
  • 1970-01-01
  • 2013-01-04
  • 2016-04-15
  • 1970-01-01
  • 2013-12-30
相关资源
最近更新 更多