我每周都有一个格式相同的新 CSV 文件,我需要使用 Python 客户端将其附加到 BigQuery 表中。我使用第一个 CSV 成功创建了表,但我不确定如何附加后续的 CSV。我发现的唯一方法是 google.cloud.bigquery.client.Client().insert_rows() 方法。请参阅此处的api 链接。这将要求我首先将 CSV 作为字典列表读取。有没有更好的方法将数据从 CSV 附加到 BigQuery 表?
1672 次
1 回答
1
请参阅下面的简单示例
# from google.cloud import bigquery
# client = bigquery.Client()
# table_ref = client.dataset('my_dataset').table('existing_table')
job_config = bigquery.LoadJobConfig()
job_config.write_disposition = bigquery.WriteDisposition.WRITE_APPEND
job_config.skip_leading_rows = 1
# The source format defaults to CSV, so the line below is optional.
job_config.source_format = bigquery.SourceFormat.CSV
uri = "gs://your_bucket/path/your_file.csv"
load_job = client.load_table_from_uri(
uri, table_ref, job_config=job_config
) # API request
print("Starting job {}".format(load_job.job_id))
load_job.result() # Waits for table load to complete.
print("Job finished.")
destination_table = client.get_table(table_ref)
print("Loaded {} rows.".format(destination_table.num_rows))
在BigQuery 文档中查看更多详细信息
于 2019-09-08T20:18:56.007 回答