BigQuery中奇怪的错误 [英] Weird error in BigQuery
问题描述
我试图直接从Web控制台执行查询 https://bigquery.cloud.google.com
执行一次查询并获得结果另一次我在相同查询中得到错误:
错误:TABLE_QUERY表达式不能查询BigQuery表。 我也尝试过使用不同的查询选项使用缓存结果,交互式和批处理行为相同。 / p>
为什么会发生?
TABLE_QUERY过滤器仅用于查询元数据。在短时间内,可以查询TABLE_QUERY过滤器中的表数据;我们最近关闭了这个漏洞。
我们正在为受此消极影响的客户添加白名单。白名单将允许他们查询TABLE_QUERY表达式中相同数据集中的数据,直到他们可以更新其查询。
请注意,您仍然可以使用 TABLE_QUERY
experssion中使用> __ TABLE_SUMMARY __ 。例如:
SELECT foo
FROM TABLE_QUERY(my_dataset,
'table_id IN(SELECT MAX(table_id )
FROM my_dataset .__ TABLES_SUMMARY__
WHERE table_id CONTAINSmy_prefix)')
LIMIT 1
如果这不适合您,或者您希望将您的项目列入白名单,请联系tigani@google.com。
I trying to execute query directly from web console https://bigquery.cloud.google.com
One time query executed and I got result another time I got the error on the same query:
Error: TABLE_QUERY expressions cannot query BigQuery tables.
I also tried with different query option "Use Cached Results", "Interactive" and "Batch" behaviour the same.
Why it could happens?
TABLE_QUERY filters are intended to query only metadata. For a brief period of time, it was possible to query table data in your TABLE_QUERY filter; we recently closed this loophole.
We're in the process of adding a whitelist for customers who are negatively impacted by this; the whitelist will allow them to query data within the same dataset in their TABLE_QUERY expression, until they can update their queries.
Note that you can still use __TABLE_SUMMARY__
within the TABLE_QUERY
experssion if you want to find the max table id, for example. For example:
SELECT foo
FROM TABLE_QUERY(my_dataset,
'table_id IN (SELECT MAX(table_id)
FROM my_dataset.__TABLES_SUMMARY__
WHERE table_id CONTAINS "my_prefix")')
LIMIT 1
If this doesn't work for you, or you want your project to be whitelisted, please contact tigani@google.com.
这篇关于BigQuery中奇怪的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!