【问题标题】:Load batch CSV Files from Cloud Storage to BigQuery and append on same table将批量 CSV 文件从 Cloud Storage 加载到 BigQuery 并附加到同一张表上
【发布时间】:2022-01-17 08:44:32
【问题描述】:

我是 GCP 的新手,最近在 Google Cloud Storage 上创建了一个存储分区。 RAW 文件每小时以 CSV 格式转储到 GCS 存储桶中。

我想将所有 CSV 文件从 Cloud Storage 加载到 BigQuery,并且会有一个计划选项来从 Cloud Storage 加载最近的文件并将数据附加到 BigQuery 上的同一个表中。

请帮我设置一下。

【问题讨论】:

    标签: google-bigquery google-cloud-storage


    【解决方案1】:

    有很多选择。但我只会介绍 2 个:

    1. 您可以什么都不做,在 BigQuery 中使用 external table,这意味着您将数据放在 Cloud Storage 中,并要求 BigQuery 直接从 Cloud Storage 请求数据。您不会复制数据(并且为存储支付更少的费用),但查询速度较慢(需要从性能较低的存储加载数据并动态解析 CSV)并且您处理所有文件查询。您不能使用 partitioningclustering 等 BigQuery 高级功能...
    2. 执行 BigQuery 加载操作以加载 BigQuery 表中的所有现有文件(我建议 partition the table if you can)。对于新文件,请忘记旧学校预定的摄取过程。借助云,您可以实现事件驱动。捕获通知 Cloud Storage 上的新文件的事件并将其直接加载到 BigQuery 中。你必须为此写一个小的Cloud Functions,但这是最有效和最推荐的模式。您可以找到代码示例here

    只是对最新解决方案的警告,您每天和每个表只能执行 1500 个加载作业(大约每分钟 1 个)

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 2017-07-12
      • 1970-01-01
      • 2013-05-24
      • 2021-08-03
      相关资源
      最近更新 更多