为了账号安全,请及时绑定邮箱和手机立即绑定

将csv上传到大查询时添加日期加载字段

将csv上传到大查询时添加日期加载字段

沧海一幻觉 2021-08-24 16:26:51
使用 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_loadednew_table. 通过这种方式,您现在拥有一个新列,而无需在本地下载或进行所有混乱。


查看完整回答
反对 回复 2021-08-24
  • 2 回答
  • 0 关注
  • 139 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信