我今天遇到了一个来自BigQuery的非常有趣的错误消息。我正在查询一个名为user.yob
的字段的表(如出生年份)。当我编写查询时,我有点草率,投射到一个不存在的字段“user.age”而不是user.yob
:
SELECT user.age, ...
这会生成以下错误消息:
BigQuery error in mk operation: Field 'user.age' not found; did you mean 'user.yob'?
现在我很好奇..
BigQuery如何设法建议我实际想要投射的精确字段?
顺便说一下,我查询的表有很多字段(至少50个左右),所以它不是user.yob
唯一可用的字段。
答案 0 :(得分:8)
BigQuery知道表中的所有字段,并运行Levenstein distance算法的变体来查找看起来最接近未找到的名称的字段。如果距离足够近,则字段名称可能会拼写错误。