问题
I am using Standard SQL.Even though its a basic query it is still throwing errors. Any suggestions 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
回答1:
The only way for this query to work is by removing the ordering applied in the end:
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
operation is quite expensive and cannot be processed in parallel so try to avoid it (or try applying it in a limited result set)
回答2:
Besides the accepted answer, you might want to partition your table by date to lessen the amount of memory used with an expensive query.
来源:https://stackoverflow.com/questions/46005418/query-failed-error-resources-exceeded-during-query-execution-the-query-could-n