查询失败错误:查询执行期间超出了资源:无法在分配的内存中执行查询

Har*_*ish 6 bigdata google-bigquery bigquery-standard-sql

我正在使用标准SQL,即使它是基本查询,它仍然会引发错误。任何建议请

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
Run Code Online (Sandbox Code Playgroud)

Wil*_*uks 7

该查询起作用的唯一方法是删除最后应用的顺序:

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"
Run Code Online (Sandbox Code Playgroud)

ORDER BY 操作非常昂贵,无法并行处理,因此请尽量避免操作(或尝试将其应用在有限的结果集中)

  • 一个节点上的内存行太多,无法容纳。如果查看查询的“说明”选项卡,它将显示内存不足的地方。 (4认同)