加载新数据时如何在bigquery表中添加字段

时间:2019-10-12 14:45:03

标签: google-bigquery

使用以下示例:

# from google.cloud import bigquery
# client = bigquery.Client()
# dataset_id = 'my_dataset'

dataset_ref = client.dataset(dataset_id)
job_config = bigquery.LoadJobConfig()
job_config.schema = [
    bigquery.SchemaField("name", "STRING"),
    bigquery.SchemaField("post_abbr", "STRING"),
]
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://cloud-samples-data/bigquery/us-states/us-states.csv"

load_job = client.load_table_from_uri(
    uri, dataset_ref.table("us_states"), 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(dataset_ref.table("us_states"))
print("Loaded {} rows.".format(destination_table.num_rows))

如何为此添加文件名和current_date字段?创建期间有可能吗?还是我必须等到表制作好后再以某种方式在那里做?

谢谢!

1 个答案:

答案 0 :(得分:0)

直接从不包含这些字段的CSV中读取内容,我不确定可以做到这一点。

但是,另一种方法可能是将CSV读取到数据框中,然后添加这些额外的列并将数据框写入BigQuery中,这样您就可以对选择添加的字段进行额外的控制。