【问题标题】:Different ways of updating bigquery table更新 bigquery 表的不同方法
【发布时间】:2019-02-07 00:25:59
【问题描述】:

在 gcp 中,每当文件(多种格式,如 json、xml)上传到存储桶时,我都需要更新 bigquery 表。我有两个选择,但不确定它们各自的优缺点是什么。有人可以提出更好的解决方案吗?为什么?

方法一:

文件上传到bucket-->触发云函数(更新bigquery表)-->Bigquery

方法二:

文件上传到存储桶-->触发云函数(触发数据流作业)-->数据流-->Bigquery。

在生产环境中,哪种方法更适合,为什么?如果有其他方法,请告诉我。

【问题讨论】:

    标签: google-bigquery google-cloud-functions google-cloud-dataflow


    【解决方案1】:

    这是一个相当广泛的问题,所以如果它被投票关闭,我不会感到惊讶。尽管如此,我总是会选择#2 (GCS -> CF -> Dataflow -> BigQuery)。

    请记住,Cloud Functions 有一个最长执行时间。如果您从 Cloud Function 启动加载作业,则需要将逻辑烘焙到其中以轮询和检查状态(BigQuery 中的加载作业是异步的)。如果它失败了,你需要处理它。但是,如果它仍在运行并且您达到了 Cloud Function 的最大执行量怎么办?

    至少通过使用 Dataflow,您不会遇到最大执行时间的问题,如果由于某些暂时性原因(例如)失败,您可以简单地重新运行管道网络问题。

    【讨论】:

    • 非常感谢@Graham。您是否有任何门户网站的链接可以深入解释这些概念?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多