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

使用 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.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))


沧海一幻觉
浏览 140回答 2
2回答

慕森卡

您可以在加载时继续加载数据,但加载到名为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. 通过这种方式,您现在拥有一个新列,而无需在本地下载或进行所有混乱。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python