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 storage API:是不是可以将 AVRO 文件直接流式传输/保存到 Google Cloud Storage?
使用 event_name 列启用集群,以便将数据从 Firebase Analytics 流式传输到 Bigquery