2015-12-14 63 views
1

我目前在BigQuery中有一系列視圖,它們互相「饋送」,非常類似於附加的圖像。在圖片中,綠色圓圈代表創建的視圖,藍色代表已創建的表格,每天都會根據傳入數據更新表格。BigQuery - 無法運行保存視圖中的select *,它自己成功運行

我能夠成功運行,構成了V8腳本(SELECT * FROM V6 JOIN V7 ON v6.attribute = V7.attribute,但我得到一個「錯誤:查詢執行期間資源超過」錯誤時我運行一個SELECT * FROM V8。不應該這是相同的查詢嗎?什麼會導致SELECT * FROM V6 JOIN V7 ...成功,並且SELECT * FORM V8失敗?

另外,當運行我的最後一個視圖(SELECT * FROM FINAL_RESULTS),我收到了與之前相同的「超出資源」錯誤,我猜測這是由於V8中的錯誤。

我已經採取了步驟來使用JOIN EACH和GROUP EAC H BY在V6,V7,V8和FINAL_RESULTS中,但我仍然得到相同的錯誤。

我所知道的多個視圖似乎是不必要的,但它們用於什麼,我試圖完成以外的原因有很多,並且由於它們的表中引用的數據總是被更新,他們需要的是動態的。

In the picture, the green circles represent created views, and the blue represent already created tables.

任何幫助將不勝感激!

+0

支持你並沒有意識到它已經,https://cloud.google.com/bigquery/ troubleshooting-errors#resourcesExceeded提供了一些關於排除類似問題的建議。 –

+0

剛剛發佈的EXPLAIN功能可能會幫助您解決這個問題。請參閱https://cloud.google.com/bigquery/query-plan-explanation。 –

+0

我的UI中沒有EXPLAIN按鈕。它是否完全推出? –

回答

2

我想你打嵌套視圖的限制。我認爲這是8

證實 - https://cloud.google.com/bigquery/querying-data?hl=en#views
的BigQuery以防萬一多達八個級別的嵌套視圖

+0

超過嵌套視圖的最大數量會生成「太多嵌套視圖或查詢中引用的視圖的可能循環引用」。錯誤。我懷疑OP是否觸及合法資源超出錯誤。 (他們可以通過添加V9視圖來確認是否更改錯誤消息。) –

+0

另請注意,視圖限制是嵌套深度限制,而不是查詢中引用的整體最大視圖數量。在圖片OP中,最大視圖深度爲5. –

+0

好點。我在回答時注意到了這一點,但仍然認爲提及淨視圖相關的限制會很好 –