Что возвращает пробный прогон BigQuery?
Документы BigQuery говорят:
"Протестируйте свои запросы на меньших разделах таблицы, а не на одной большой таблице. Если вы используете API, проверьте запросы на синтаксис и получите статистику обработки данных с помощью флага dryRun".
Но они также говорят, для dryRun:
"Если установлено, на самом деле не запускать запрос. Действительный запрос возвратит пустой ответ, в то время как неверный запрос возвратит ту же ошибку, что и если бы это был не пробный запуск. Значение по умолчанию - false".
Это кажется противоречивым, или я что-то упустил?
2 ответа
Я вижу, как они немного не синхронизированы и могут использовать некоторые пояснения.
Вот еще одно описание dryRun
это более точно. На https://cloud.google.com/bigquery/docs/reference/v2/jobs выполните поиск по запросу dryRun:
[Необязательно] Если установлено, на самом деле не запускайте это задание. Допустимый запрос вернет в основном пустой ответ с некоторой статистикой обработки, в то время как неверный запрос вернет ту же ошибку, что и в случае, если это не пробный запуск. Поведение заданий, не связанных с запросом, не определено.
Похоже, что в https://cloud.google.com/bigquery/launch-checklist документации просто отсутствует пункт между двумя независимыми предложениями.
Я зарегистрировал внутреннюю ошибку отслеживания для очистки этого. Спасибо, что сообщили нам об этом!
Нет, это не противоречит.
Как я вижу, первое сообщение гласит: "Попытайтесь увидеть, будет ли ваш запрос работать, включив флаг" пробного запуска "".
В то время как второе сообщение гласит: "Если у вас установлен флаг DryRun, установленный в значение true, он вернет статистику о вашем запросе, поэтому"totalBytesProcessed", без выполнения вашего запроса, если запрос действителен, и ту же ошибку, которую вы обычно получаете, если запрос недействителен
Так что думайте о "пробном запуске" как о проверке синтаксиса / проверке ошибок / проверенных байтов.