如何将存储在 GG Bigquery 中的数据导出到 GZ 文件中。
Posted
技术标签:
【中文标题】如何将存储在 GG Bigquery 中的数据导出到 GZ 文件中。【英文标题】:How to export data stored in GG Bigquery into GZ file. 【发布时间】:2018-10-16 03:51:07 【问题描述】:我使用此代码将数据导出到 csv 文件中,并且可以正常工作:
project_id = 'project_id'
client = bigquery.Client()
dataset_id = 'dataset_id'
bucket_name = 'bucket_name'
table_id = 'table_id'
destination_uri = 'gs:///'.format(bucket_name, 'file.csv')
dataset_ref = client.dataset(dataset_id, project=project_id)
table_ref = dataset_ref.table(table_id)
extract_job = client.extract_table(
table_ref,
destination_uri)
extract_job.result()
但我更喜欢 GZ 文件,因为我的表高达 700M。谁能帮我将数据导出到 GZ 文件中?
【问题讨论】:
【参考方案1】:您需要添加一个jobConfig
,例如:
job_config = bigquery.job.ExtractJobConfig()
job_config.compression = 'GZIP'
完整代码:
from google.cloud import bigquery
client = bigquery.Client()
project_id = 'fh-bigquery'
dataset_id = 'public_dump'
table_id = 'afinn_en_165'
bucket_name = 'your_bucket'
destination_uri = 'gs:///'.format(bucket_name, 'file.csv.gz')
dataset_ref = client.dataset(dataset_id, project=project_id)
table_ref = dataset_ref.table(table_id)
job_config = bigquery.job.ExtractJobConfig()
job_config.compression = 'GZIP'
extract_job = client.extract_table(
table_ref,
destination_uri,
job_config = job_config
)
extract_job.result()
【讨论】:
你会发布一个新问题吗?以上是关于如何将存储在 GG Bigquery 中的数据导出到 GZ 文件中。的主要内容,如果未能解决你的问题,请参考以下文章
如何将 GCS 中的 csv 随机样本导出到 BigQuery
无法将 Google BigQuery 导出到本地计算机中的 CSV 文件