我正在使用Google Analytics數據的BigQuery。在開發查詢的各個點上,我收到錯誤:「超出資源」。我想進一步理解發生了什麼。我已經成功解決了這個問題,但只能通過試驗和錯誤。瞭解導致GBQ中「資源超出」錯誤的原因?
當我使用解釋工具似乎是看起來有超過資源的任何查詢或子查詢的「計算」的一部分。
下面是成功標準的SQL查詢的示例/失敗取決於某些零件是否被留在:
SELECT
fullVisitorId,
visitId,
h.type AS type,
h.hitNumber AS hitNumber,
h.eventInfo.eventAction AS action,
LOWER(h.eventInfo.eventCategory) AS category,
h.page.pagePath AS page,
h.page.pageTitle AS landingTitle,
h.page.searchKeyword AS searchTerm,
LEAD(h.page.pagePath) OVER (PARTITION BY fullVisitorId, visitId ORDER BY h.hitNumber ASC) AS landingPage,
SPLIT(h.eventInfo.eventLabel, ':')[OFFSET(0)] AS clickTitle,
CASE WHEN LEAD(h.page.pageTitle) OVER (PARTITION BY fullVisitorId, visitId ORDER BY h.hitNumber ASC) = SPLIT(h.eventInfo.eventLabel, ':')[OFFSET(0)] THEN true ELSE false END AS searchClick
FROM `project.dataset.ga_sessions_*` AS main, UNNEST(hits) AS h
WHERE _TABLE_SUFFIX BETWEEN '20170401' AND '20170430'
AND (
(
h.eventInfo.eventAction = 'click' AND LOWER(h.eventInfo.eventCategory) LIKE '/search%'
)
OR type = 'PAGE'
)
ORDER BY
fullVisitorId ASC, visitId ASC, h.hitNumber ASC
當拆除這些組的元素的查詢運行中的任何一個:
ORDER BY
fullVisitorId ASC, visitId ASC, h.hitNumber ASC
或者:
LEAD(h.page.pagePath) OVER (PARTITION BY fullVisitorId, visitId ORDER BY h.hitNumber ASC) AS landingPage,
SPLIT(h.eventInfo.eventLabel, ':')[OFFSET(0)] AS clickTitle,
CASE WHEN LEAD(h.page.pageTitle) OVER (PARTITION BY fullVisitorId, visitId ORDER BY h.hitNumber ASC) = SPLIT(h.eventInfo.eventLabel, ':')[OFFSET(0)] THEN true ELSE false END AS searchClick
或者:
在單個日期分區上運行時,將運行整個查詢。
我會形容我現在的理解是膚淺的層面,我知道小吉貝的內部運作和如何分配/許可證計算資源。我知道它在可能的情況下在不同的機器上執行計算。我之前聽說過這些描述爲碎片。
什麼我需要了解吉貝計算資源,以瞭解爲什麼上面將工作/無法正常工作?
N.B:我只有1周的訪問,但是,這並不意味着我不能獲得增加的訪問,如果我能證明有必要。很明顯,我不想以當前的理解水平來做到這一點。
由順序是你的暗示,資源過多,其他人將在科學添加 – Pentium10