I encountered a very intriguing error message from BigQuery today. I was querying a table that has a field named user.yob
(as in year of birth). I was being a bit sloppy when I wrote my query, projecting onto a non-existent field "user.age" instead of user.yob
:
SELECT user.age, ...
This generated the following error message:
BigQuery error in mk operation: Field 'user.age' not found; did you mean 'user.yob'?
Now I'm very curious..
How did BigQuery manage to suggest the precise field I actually meant to project on?
By the way, the table I was querying has many many fields (around 50 at least), so it's not like user.yob
was the only available field.
BigQuery knows about all the fields in your table, and it runs variation of Levenstein distance algorithm to find the ones which look closest to the names which were not found. If the distance is close enough, there is a chance that the field name was simply misspelled.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With