0
在使用來自GA的數據的BigQuery中,我試圖找到頁面類型(基於頁面路徑),每個會話的會話中點擊次數最多用戶。這將用於確定哪個頁面類型的會話活動最多(我只需要一個,因此最多)。查找BigQuery中一個會話中點擊數的最大值(遺留SQL)
使用行號爲會話中的每個頁面類型分配等級,並且對等級1進行過濾適用於一個用戶。當我嘗試複製更大的數據集(〜400GB)時,出現「資源超出...」錯誤。
我是BigQuery的新手,並希望獲得優化此代碼的任何提示。
SELECT
userid,
sessionid,
pagetype,
hits
FROM (
SELECT
*,
ROW_NUMBER() OVER (PARTITION BY userid, sessionid ORDER BY sessionid ASC) rnk
FROM (
SELECT
userid,
sessionid,
pagetype,
COUNT(1) AS hits
FROM
[xxxxxxx] WHERE
GROUP BY
userid,
sessionid,
pagetype
ORDER BY
sessionid,
hits DESC))
WHERE
rnk = 1
如果您對BigQuery不熟悉,爲什麼要使用傳統SQL?例如,使用標準SQL意味着您可以使用帶ORDER BY和LIMIT的ARRAY_AGG。 –