2014-09-23 45 views
1

以下查詢正在運行到查詢執行期間超出的資源 bigquery上的錯誤。處理的數據大約爲700 MB,這與BigQuery控制檯上顯示的數量並不相同。我們使用組,每個組使用,因爲在使用時,我們得到相同的錯誤以及使用組的每個錯誤的建議。相關聯的作業ID是查詢執行期間超出的資源

作業ID:快速棋-620:job_41Fq1q3zFGB3FsACtuAiymTOCIU(組中的每個由)

作業ID:快速棋-620:job_VVd2jPGX-nHsdZW5GlEU6bBgpnU(組由)

select col_1,col_2, count(col_3) from 
(select col_1, col_2, col_3 from 
(select col_1, date(sec_to_timestamp(col_4)) as col_2, count(col_5) as col_3 from 
(TABLE_DATE_RANGE(table_prefix_1_, 
date_add(usec_to_timestamp(utc_usec_to_month(now())), -6, "MONTH"), 
date_add(usec_to_timestamp(utc_usec_to_month(now())), -1, "MONTH"))), 
(TABLE_DATE_RANGE([table_prefix_2_], 
usec_to_timestamp(utc_usec_to_month(now())), 
usec_to_timestamp(utc_usec_to_day(now())))) 
group each by 1,2 order by 1,2) x) x 
group each by 1,2 order by 1,2 

請幫我們解決問題。

+0

需要多長時間才能完成? – Mario 2014-09-23 12:52:10

回答

3

看起來問題是ORDER BY。請參閱堆棧溢出響應here

查看您的查詢的日誌,該組產生超過1500萬的結果。爲了對它們進行排序,bigquery必須在單個節點中執行排序操作。

你真的需要排序結果嗎?如果你這樣做,你是否需要所有的結果?如果使用帶有限制的ORDER BY,它應該成功,因爲它只能保留最高值。

你應該能夠得到這個查詢成功運行,如果你:

  1. 使用一組分別由(你已經有)兩個GROUP BY操作。
  2. 刪除內部的ORDER BY,因爲它實際上並沒有幫助,因爲外部查詢重新排序的東西。
  3. 它可能只用#1和#2,但我也建議要麼刪除外ORDER BY或添加一個LIMIT約束。