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 中的奇怪错误的主要内容,如果未能解决你的问题,请参考以下文章

奇怪的问题:找不到 Bigquery 数据集

\x96 不是 BigQuery 中的有效 UTF-8 字符串

Bigquery 不能将别名与扁平表结合使用

iOS 6 UINavigationController 中的奇怪错误

VS 2008 中的奇怪链接错误

在 BigQuery 上上传和导入数据时从 bq 工具获取错误 - “后端错误”