2013-01-18 29 views
0

我無法通過查詢來運行組。響應在查詢中太大

select phone_number, count(*) as cnt from Jan1013.abcd4 group by phone_number having cnt > 1 

我得到一個錯誤,指出...

Error: Response too large to return. 

回答

4

的BigQuery分配每個查詢的許多不同節點的工作。如果任何一個節點處的響應大小超過某個閾值,則會發生「響應太大」錯誤。如果您嘗試在具有太多不同值的字段上執行GROUP BY,則每個單獨的節點都需要計算大量的響應行,並最終會因此錯誤而失敗。

解決此問題的一種方法是使用GROUP EACH BY,它通過組密鑰的值將記錄分配給節點,從而減少每個節點需要考慮的不同值的數量。

另一種方法是調整您的查詢,以便考慮更少的不同值,可能是通過添加選擇phone_number值的子集的WHERE子句。

另請參閱: Filtering a query causes "Response too large" error