web-dev-qa-db-ja.com

クエリ失敗エラー:クエリの実行中にリソースを超えました:割り当てられたメモリでクエリを実行できませんでした

私は標準SQLを使用しています。基本的なクエリですが、それでもエラーがスローされます。任意の提案pls

SELECT 
  fullVisitorId,
  CONCAT(CAST(fullVisitorId AS string),CAST(visitId AS string)) AS session,
  date,
  visitStartTime,
  hits.time,
  hits.page.pagepath
FROM
  `XXXXXXXXXX.ga_sessions_*`,
  UNNEST(hits) AS hits
WHERE
  _TABLE_SUFFIX BETWEEN "20160801"
  AND "20170331"
ORDER BY
  fullVisitorId,
  date,
  visitStartTime
6
Harish

このクエリが機能する唯一の方法は、最後に適用された順序を削除することです。

SELECT 
  fullVisitorId,
  CONCAT(CAST(fullVisitorId AS string),CAST(visitId AS string)) AS session,
  date,
  visitStartTime,
  hits.time,
  hits.page.pagepath
FROM
  `XXXXXXXXXX.ga_sessions_*`,
  UNNEST(hits) AS hits
WHERE
  _TABLE_SUFFIX BETWEEN "20160801"
  AND "20170331"

ORDER BY操作は非常にコストがかかり、並行して処理できないため、回避するようにしてください(または、限られた結果セットに適用してみてください)。

7
Willian Fuks

受け入れられた回答に加えて、高価なクエリで使用されるメモリの量を減らすために、テーブルを日付で分割することをお勧めします。

2
Embedded_Mugs