BigQuery 中的奇怪错误
Posted
技术标签:
【中文标题】BigQuery 中的奇怪错误【英文标题】:Weird error in BigQuery 【发布时间】:2016-04-15 07:31:12 【问题描述】:我尝试直接从 Web 控制台 https://bigquery.cloud.google.com 执行查询
执行了一次查询,而另一次我在同一个查询中得到了错误结果:
错误:TABLE_QUERY 表达式无法查询 BigQuery 表。
我还尝试了不同的查询选项“使用缓存结果”、“交互式”和“批处理”行为相同。
为什么会发生?
【问题讨论】:
【参考方案1】:TABLE_QUERY 过滤器旨在仅查询元数据。在短时间内,可以在 TABLE_QUERY 过滤器中查询表数据;我们最近堵住了这个漏洞。
我们正在为受此负面影响的客户添加白名单;白名单将允许他们在 TABLE_QUERY 表达式中查询同一数据集中的数据,直到他们可以更新他们的查询。
请注意,例如,如果您想查找最大表 ID,您仍然可以在 TABLE_QUERY
表达式中使用 __TABLE_SUMMARY__
。例如:
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
如果这对您不起作用,或者您希望将您的项目列入白名单,请联系 tigani@google.com。
【讨论】:
您能否分享一些关于 table_query 中允许和不允许的参考。我使用在 table_query 函数中引用其他表数据的子查询。这是否允许? 我打开了一个后续问题,询问如何在没有这个有用功能的情况下工作:***.com/questions/36673468/… 问题是 a) 功能非常有用,b) 我不知道任何有效的解决方法或可以使用的替代功能。为什么你认为这是一个错误而不是有用的 hack? 这种无意的黑客攻击能够绕过计费和访问控制限制。我们检查了我们的日志并确保没有人不当使用它,但这就是我们如此渴望修复它的原因。以上是关于BigQuery 中的奇怪错误的主要内容,如果未能解决你的问题,请参考以下文章
\x96 不是 BigQuery 中的有效 UTF-8 字符串