使用 Python。有什么方法可以在将 csv 文件处理到 Big Query 时添加额外的字段。我想添加一个带有当前日期的 date_loaded 字段?我使用过的 Google 代码示例..# 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.CSVuri = '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 requestprint('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))
2 回答
慕森卡
TA贡献1806条经验 获得超8个赞
您可以在加载时继续加载数据,但加载到名为old_table
.
加载后,您可以运行以下内容:
bq --location=US query --destination_table mydataset.newtable --use_legacy_sql=false --replace=true 'select *, current_date() as date_loaded from mydataset.old_table'
这基本上将旧表的内容加载date_loaded
到new_table
. 通过这种方式,您现在拥有一个新列,而无需在本地下载或进行所有混乱。
添加回答
举报
0/150
提交
取消