Усеченное сообщение об ошибке BigQuery на «Нет соответствующей подписи» - PullRequest
1 голос
/ 13 января 2020

При интеграции UDF для использования в запросе обычно появляется ошибка No matching signature. Эти ошибки очень информативны, когда сигнатура функции короткая. Однако, когда сигнатура функции длинная, например, в случае, когда это JS UDF, получающий и возвращающий сложные структуры, сообщение об ошибке обрезается и становится бесполезным.

Например:

No matching signature for function f for argument types: STRUCT<docGroup FLOAT64, docNum FLOAT64, docDate DATE, ...>.
Supported signature: f(STRUCT<docGroup FLOAT64, docNum FLOAT64, docDate DATE, ...>) at [202:8]

Фактическое несоответствие скрыто где-то в усеченных аргументах!

Запуск bq show -j <jobid> также показывает сообщение с усеченным списком аргументов.

Есть ли способ получить полную ошибку сообщение или иным образом выяснить, что не так, не разбирая мои SQL на части?

1 Ответ

0 голосов
/ 13 января 2020

Попробуйте запустить bq show --format=prettyjson -j <jobid>

В документации говорится, что это синтаксис для просмотра полной информации о задании:

Для просмотра полной информации о работе, введите:

bq show --format = pretty json -j myproject: US.bquijob_123x456_789y123z456 c

...