我想將具有1.2億行的表格拆分爲Google BigQuery中的多個同等大小的表格。我找到answer這個問題,詢問有關獲取表格的行號。這個例子的解決辦法是:將表格拆分成BigQuery中的多個表格SQL
SELECT
ROW_NUMBER() OVER() row_number,
contributor_username,
FROM (
SELECT contributor_username,
FROM [publicdata:samples.wikipedia]
GROUP BY contributor_username
)
這將讓你得到一個ROW_NUMBER,然後你可以通過手動選擇
WHERE row_number BETWEEN x AND y
這適用於本例中的表,但使用ROW_NUMBER()
創建一個表爲具有117MM行的表產生資源超出錯誤。
我又試圖以下想法:
SELECT field1, field2
FROM (
SELECT field1, field2, ntile(100) over (order by row_id) as ntile
FROM (
SELECT hash(some_unique_key) as row_id, field1, field2
FROM table_with_177_MM_rows
)
)
WHERE ntile = 1
那麼我需要爲NTILE =運行這個[1,...,100]。這也失敗了。有沒有辦法將GBQ中的唯一密鑰的大表拆分成更小的表?
能否請您澄清如何'多tables'將被上面'都在一個單一的query'創建。 「多個表」是有問題的關鍵! –