集成用于查询的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拆成碎片?
最佳答案
尝试运行bq show --format=prettyjson -j <jobid>
documentation说这是查看作业完整信息的语法:
To see full job details, enter:
bq show --format=prettyjson -j myproject:US.bquijob_123x456_789y123z456c
关于error-handling - “No matching signature”截断了BigQuery错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59717580/