BigQuery:如何使用传输 API 将文件从 GCS 加载到现有表?

Posted

技术标签:

【中文标题】BigQuery:如何使用传输 API 将文件从 GCS 加载到现有表?【英文标题】:BigQuery: How to load file from GCS to existing table using the transfer API? 【发布时间】:2020-04-26 20:07:22 【问题描述】:

在气流中,我想将文件从 GCS 加载到现有的 BigQuery 表中。有一个操作员这样做 GoogleCloudStorageToBigQueryOperator 似乎每次都创建一个新表。如果我指定现有表,则会引发错误。如何配置它以便可以加载到现有表中?

【问题讨论】:

你能分享一下你目前正在运行的代码吗? 【参考方案1】:

当您没有设置write_disposition = "WRITE_APPEND" 属性时,通常会发生此问题。 例如,在下面的代码中,CSV 正在从 GCS 加载到 BigQuery。 如果您删除提到的属性,则每次代码运行时都会重新创建该表。

run = GoogleCloudStorageToBigQueryOperator(
    bucket = "<bucket>",
    source_objects = ['gcs_to_bigquery/file.csv'],
    source_format = "CSV",
    field_delimiter = ",",
    skip_leading_rows = 1,
    destination_project_dataset_table = "<project>.<dataset>.gcs_composer_bq",
    task_id = 'xxxxxxxx',
    write_disposition = "WRITE_APPEND"
)

您可以找到该运算符here的所有现有属性

【讨论】:

以上是关于BigQuery:如何使用传输 API 将文件从 GCS 加载到现有表?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用API 而不是使用Google BigQuery数据传输服务?

如何调用按需bigquery数据传输服务?

bigquery storage API:是不是可以将 AVRO 文件直接流式传输/保存到 Google Cloud Storage?

使用 event_name 列启用集群,以便将数据从 Firebase Analytics 流式传输到 Bigquery

如何使用 createWriteStream 将 JSON 流式传输到 BigQuery 表?

将数据从 Google 表格流式传输到 BigQuery 以在 Tableau 中进行可视化