Я хотел бы ограничить задание (запрос) BigQuery, отправленное с Python SDK, для использования определенного количества слотов. Например, у меня есть 400 слотов в BigQuery (фиксированная ставка). И допустим, у меня есть тяжелый запрос, который использует 300 слотов во время выполнения (по статистике). Я хотел бы определить нижний предел для задания, скажем, 100 слотов. Я допускаю, что выполнение будет медленнее, но это нормально. Мне просто нужно, чтобы задание не "съело" более 100 слотов во время выполнения.
Я обнаружил, что можно установить ограничение по байтам с помощью maximumBytesBilled
(описано здесь). Можно ли установить слоты аналогичным образом?
В настоящее время невозможно вручную установить количество слотов, которые будут использоваться заданием запроса.
BigQuery автоматически рассчитывает, сколько слотов требуется для каждого запроса, в зависимости от размера и сложности запроса. Согласно документации Google :
В зависимости от сложности и размера запрос может не требовать всех слотов, на которые он имеет право, или может потребоваться больше. Большой запрос динамически гарантирует, что при справедливом планировании все слоты могут быть полностью использована в любой момент времени.
Вы можете подать запрос функции, если хотите, чтобы над этим работала команда инженеров BigQuery.
Я не знаю о вашем варианте использования, однако обходным путем, если вы хотите, чтобы запрос использовал определенные слоты, было бы создание/использование другого проекта и выделение ему 100 слотов.