Как экспортировать данные, хранящиеся в GG Bigquery, в файл GZ. - PullRequest
0 голосов
/ 16 октября 2018

Я использовал этот код для экспорта данных в 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 Ответ

0 голосов
/ 16 октября 2018

Вам необходимо добавить 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()
...