BigQuery では、以下を実行しようとしています。
SELECT day, AVG(value)/(1024*1024) FROM (
SELECT value, UTC_USEC_TO_DAY(timestamp) as day,
PERCENTILE_RANK() OVER (PARTITION BY day ORDER BY value ASC) as rank
FROM [Datastore.PerformanceDatum]
WHERE type = "MemoryPerf"
) WHERE rank >= 0.9 AND rank <= 0.91
GROUP BY day
ORDER BY day desc;
これは比較的少量のデータを返します。しかし、次のメッセージが表示されます。
Error: Resources exceeded during query execution. The query contained a GROUP BY operator, consider using GROUP EACH BY instead. For more details, please see https://developers.google.com/bigquery/docs/query-reference#groupby
このクエリが失敗する原因、サブクエリのサイズは何ですか? 問題を回避するために実行できる同等のクエリはありますか?
コメントに応じて編集: GROUP EACH BY を追加 (および外側の ORDER BY を削除) すると、クエリは失敗し、GROUP EACH BY はここでは並列化できないと主張します。