使用 Python 客户端将 CSV 附加到 BigQuery table
Appending CSV to BigQuery table with Python client
我每周都有一个相同格式的新 CSV 文件,我需要使用 Python 客户端将其附加到 BigQuery table。我使用第一个 CSV 成功创建了 table,但我不确定如何追加后续的 CSV。我找到的唯一方法是 google.cloud.bigquery.client.Client().insert_rows() 方法。参见 api link here。这将要求我首先将 CSV 作为字典列表阅读。有没有更好的方法将数据从 CSV 附加到 BigQuery table?
请参阅下面的简单示例
# 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))
中查看更多详细信息
我每周都有一个相同格式的新 CSV 文件,我需要使用 Python 客户端将其附加到 BigQuery table。我使用第一个 CSV 成功创建了 table,但我不确定如何追加后续的 CSV。我找到的唯一方法是 google.cloud.bigquery.client.Client().insert_rows() 方法。参见 api link here。这将要求我首先将 CSV 作为字典列表阅读。有没有更好的方法将数据从 CSV 附加到 BigQuery table?
请参阅下面的简单示例
# 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))
中查看更多详细信息