1
我正在嘗試按日期提取用戶活動。我正在嘗試使用交叉連接和where子句創建用戶帳戶創建後每天的表格。在我的情況下,交叉連接是不可避免的。日曆表只是過去365天(365行)的所有日期的列表。用戶表有〜1b行。BigQuery交叉加入失敗
這裏是一個失敗,資源不足查詢:
SELECT
u.user_id as user_id,
date(u.created) as signup_date,
cal.date as date,
from (select date(dt) as date from [dw.calendar] where date(dt) <
CURRENT_DATE()) cal
cross join each dw.user u
where
date(u.created) <= cal.date
基於https://cloud.google.com/bigquery/query-reference,交叉連接,甚至不支持「每個」條款。我如何執行上述操作來成功創建表格?
確切錯誤:查詢失敗 錯誤:查詢超出層1的資源限制。需要層6或更高層。 – axrd
使用[標準SQL](https://cloud.google.com/bigquery/docs/reference/standard-sql/)可能會更好,但即使在這種情況下,我懷疑您需要啓用更高的結算因爲交叉連接產生了多少行。 –
請解釋 - 爲什麼你首先需要它?這只是在沒有交付任何值的情況下爆炸一些行數!很可能你打算把它作爲一箇中間/臨時表來處理它 - 所以我會建議寧願把重點放在最終目標上,而不是實現跨產品的東西。除非 - 當然 - 你有充分的理由,所以解釋一下 –