Google экспортирует таблицу больших запросов в несколько файлов в облачном хранилище Google и иногда в один файл - PullRequest
1 голос
/ 18 октября 2019

Я использую библиотеки Python Bigquery для экспорта данных из таблиц Bigquery в GCS в формате csv.

Я дал шаблон подстановки, предполагая, что некоторые таблицы могут быть больше 1 ГБ

Иногда дажехотя таблица занимает несколько МБ, она создает несколько файлов, а иногда просто создает только 1 файл.

Есть ли логика за этим?

Мой рабочий процесс экспорта следующий:

project = bq_project dataset_id = bq_dataset_id table_id = bq_table_id     
bucket_name =bq_bucket_name workflow_name=workflow_nm 
csv_file_nm=workflow_nm+"/"+csv_file_prefix_in_gcs+'*'client = 
bigquery.Client() destination_uri = "gs://{}/{}".format(bucket_name, 
csv_file_nm) dataset_ref = client.dataset(dataset_id, project=project) 
table_ref = dataset_ref.table(table_id) destination_table = 
client.get_table(dataset_ref.table(table_id)) configuration = 
bigquery.job.ExtractJobConfig() configuration.destination_format='CSV' – 
csv_file_nm=workflow_nm+"/"+csv_file_prefix_in_gcs 

1 Ответ

1 голос
/ 18 октября 2019

Я думаю, что это предполагаемое поведение экспорта. В документации Bigquery Export указано следующее:

При экспорте данных в несколько файлов размер файлов будет различаться.

Это соответствуетк поведению, которое вы видите в своем экспорте.

...