我有一些工作,比如说一个是从谷歌云存储桶加载一个文本文件到 bigquery 表,另一个是预定查询,通过一些转换将数据从一个表复制到另一个表,我想要第二个工作取决于第一个的成功,如果可能的话,我们如何在 bigquery 中实现这一点?
非常感谢。
最好的问候,
最佳答案
现在,开发人员需要整合操作链。 它可以使用 Cloud Functions(支持、Node.js、Go、Python)或通过 Cloud Run 容器(支持 gcloud API、任何编程语言)来完成。
基本上你需要
- 发布工作
- 获取工作 ID
- 对职位 ID 进行投票
- 作业完成触发其他步骤
如果使用云函数
- 将文件放入专用的 GCS 存储桶中
- 设置一个监控该存储桶的 GCF,当上传新文件时,它将执行导入 GCS 的函数 - 等待操作结束
- 在 GCF 结束时,您可以触发其他功能以进行下一步
Cloud Functions 的另一个用例:
A:触发器启动 GCF
B:函数执行查询(将数据复制到另一个表)
C: 获取一个工作 id - 稍微延迟触发另一个函数
I:一个函数得到一个jobid
J:工作的投票准备好了吗?
K:如果还没准备好,稍微延迟一下再开火
L:如果准备好触发下一步 - 可以是专用函数或参数化函数
关于google-bigquery - 如何在 google bigquery 中设置作业依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60001336/