首页 > 解决方案 > BigQuery:如何使用传输 API 将文件从 GCS 加载到现有表?

问题描述

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

标签: pythongoogle-bigqueryairflow

解决方案


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

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"
)

您可以在此处找到此运算符的所有现有属性


推荐阅读