繁体   English   中英

BigQuery - 如何导入 WRITE_TRUNCATE 以覆盖大查询数据?

[英]BigQuery - How to import WRITE_TRUNCATE for big query data overwrite?

我正在使用 python BigQuery 客户端 ( https://github.com/tylertreat/BigQuery-Python ) 将数据从谷歌云存储上传到表。 我想覆盖数据,所以我需要将 writeDisposition 设置为 WRITE_TRUNCATE。 我应该从哪里导入 WRITE_TRUNCATE?

job = client.import_data_from_uris( gs_file_path,
                               'dataset_name',
                               'table_name', 
                               schema, 
                               source_format=JOB_SOURCE_FORMAT_CSV,
                               writeDisposition=WRITE_TRUNCATE,
                               field_delimiter='\t')

这是当前错误 - NameError: name 'WRITE_TRUNCATE' is not defined.

另外,我很想知道其他类似名称常量的导入。

也许如果在你运行任何东西之前:

from bigquery.client import JOB_WRITE_TRUNCATE

然后运行:

job = client.import_data_from_uris( gs_file_path,
                                   'dataset_name',
                                   'table_name', 
                                   schema, 
                                   source_format=JOB_SOURCE_FORMAT_CSV,
                                   writeDisposition=JOB_WRITE_TRUNCATE,
                                   field_d

elimiter='\t')

它可能已经对你有用了。 不过,我认为定义自己这个变量并按照您的意愿使用它可能会以相同的方式工作并且更简单一些,如下所示:

write_disposition = 'WRITE_TRUNCATE'
job = client.import_data_from_uris( gs_file_path,
                               'dataset_name',
                               'table_name', 
                               schema, 
                               source_format=JOB_SOURCE_FORMAT_CSV,
                               writeDisposition=write_disposition,
                               field_delimiter='\t')

如果您想要一些附加操作,您是否只需将值更改为write_disposition='WRITE_APPEND'等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM