BigQuery:达到了视图分辨率或安全过滤器应用程序的最大迭代次数

时间:2016-11-07 16:17:45

标签: sql-server google-bigquery legacy

我最近开始将部分BigQuery视图转换为Legacy SQL中的标准SQL。

到目前为止,它一直很顺利。所有视图都可以完美运行,甚至是连接到其他视图的视图。

我遇到的问题是当我尝试通过可视化程序连接到我的一个视图时,我收到以下错误: " 达到了视图分辨率或安全过滤器应用程序的最大迭代次数 "

当我的视图在Legacy SQL中编码时,我从未遇到过这个错误。所以基本上,唯一改变的是转换为标准SQL,现在是错误。

我发现它特别奇怪,因为视图都运行没有错误并产生扁平表。只有在我尝试通过Google脚本将视图转换为表格时,或者当我尝试通过可视化程序连接到视图时,才会出现错误。

非常感谢任何帮助。

此致 Franscois

2 个答案:

答案 0 :(得分:0)

我一直在研究类似的问题。这是为了获取有关信息量最少的错误消息。 Google支持人员告知我们,当您超过8个嵌套视图时会出现此错误。

但是,在标准SQL中,该数字不再基于最大视图深度,而是基于视图遍历的总和。例如,如果您有一个引用视图的视图,它引用一个表,那就是2.如果在该视图中,您引用两个引用表的视图,那么4,如果您有5个其中,那10个,你的查询被杀死了。

您还没有在问题中包含您对该视图的查询,但是它是否引用了其他视图?

如果是这样,我建议您直接在视图中查看这些视图中的查询,然后重试。或者只是删除其他一些观点。

是的,这是一个完全苛刻的解决方案,但它是迄今为止我们提供给我们的最佳解决方案。

答案 1 :(得分:0)

BigQuery最多支持八个级别的嵌套视图

查看有关Views

的更多详情