Извлечение BigQuery в GS с несколькими универсальными URI дает пустые BLOB-объекты - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь извлечь таблицу из BigQuery, используя google.cloud.storage.Client метод extract_table в Python, задав в качестве параметра в destination_uri массив из нескольких подстановочных знаков Uris.

destination_uri=['gs://{}/{}/{}-*'.format(bucket_name, prefix, i) for i in range(nb_node)]

Ожидаемое поведение - BigQuery будет равномерно разбивать мой стол на несколько больших двоичных объектов.

Размер файла составляет 242 МБ со сжатием

Что действительно происходит, так это то, что получается 1 файл из 242 МБ и 6 пустых других с 20 В, если я дам 7 URIS.

Другие параметры конфигурации: destination_format = "NEWLINE_DELIMITED_JSON" and compression="GZIP"

Любая подсказка, почему это происходит?

Большое спасибо.

Ответы [ 2 ]

2 голосов
/ 21 февраля 2020

Не существует понятия «равномерно».

Экспорт файлов может быть очень спорадиальным c Один может быть несколько гигабайт, другие несколько мегабайт.

Это описано здесь , а также из нашего опыта:

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

0 голосов
/ 12 марта 2020

Простой, если вы хотите, чтобы ваш фрагмент был равномерно рассечен, используйте разделы в вашей таблице BQ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...