Максимальное количество файлов при использовании задания передачи данных большого запроса - PullRequest
0 голосов
/ 21 июня 2020

У меня в корзине GCP около 54 000 файлов. Когда я пытаюсь запланировать задание передачи данных большого запроса для перемещения файлов из корзины GCP в большой запрос, я получаю следующую ошибку:

Код ошибки 9: Превышены пределы выполнения передачи. Максимальный размер: 15,00 ТБ. Максимальное количество файлов: 10000. Найдено: размер = 267065994 Б (0,00 ТБ); количество файлов = 54824.

Я думал, что максимальное количество файлов составляет 10 миллионов.

Ответы [ 2 ]

1 голос
/ 22 июня 2020

Я думаю, что служба передачи BigQuery перечисляет все файлы, соответствующие подстановочному знаку, а затем использует этот список для их загрузки. Таким образом, это будет то же самое, что предоставление полного списка для bq load ..., следовательно, достигнет предела в 10 000 URI. Вероятно, это необходимо, потому что служба передачи BigQuery будет пропускать уже загруженные файлы, поэтому ей нужно просматривать их один за другим, чтобы решить, какие на самом деле загрузить.

Я думаю, что ваш единственный вариант - запланировать задание самостоятельно и загрузить их прямо в BigQuery. Например, используя Cloud Composer или напишите небольшую облачную службу, которая может быть вызвана Cloud Scheduler .

0 голосов
/ 26 июня 2020

Сообщение об ошибке Transfer Run limits exceeded, как упоминалось ранее, связано с известным пределом для заданий загрузки в BigQuery. К сожалению, это жесткий предел, и его нельзя изменить. Запрос функции на увеличение этого лимита продолжается, но пока нет ETA для его реализации.

Основная рекомендация по этой проблеме - разделить одну операцию на несколько процессов который будет отправлять данные в запросах, которые не превышают этот предел. Этим мы могли бы ответить на главный вопрос: «Почему я вижу это сообщение об ошибке и как этого избежать?».

Теперь нормально спрашивать «Как автоматизировать или выполнять эти действия проще?» Я могу подумать о включении большего количества продуктов:

  • Dataflow, который поможет вам обрабатывать данные, которые будут добавлены в BigQuery. Здесь вы можете отправить несколько запросов.

  • Pub / Sub, поможет прослушивать события и автоматизировать время начала обработки.

Пожалуйста, взгляните на эту предлагаемую реализацию , где вышеупомянутый сценарий более широко описан.

Надеюсь, это будет полезно! :)

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