我有一个7列和~8.5万行的表 . 我正在尝试选中“允许大结果”的目标表 . 注意由于资源超出错误,我已经不得不将更大的查询分解为多个步骤 .
SELECT col1, col2, col3, col4, RANK() OVER (PARTITION BY col1 ORDER BY col4 DESC) rank FROM [dataset.table]
这将返回“资源超出”错误 .
由于窗口函数的当前实现,当尝试在大数据集上运行窗口函数时,这些错误是预期的(在这种情况下,需要大结果标记) .
虽然这些限制已经到位,但我建议您分多步执行查询,如下所示:
SELECT col1, col2, col3, col4, RANK() OVER (PARTITION BY col1 ORDER BY col4 DESC) rank FROM [dataset.table] WHERE ABS(HASH(col1)) % 4 = 0
(将0替换为1,2和3以完成整个过程 - 如果仍然超出资源,则将4替换为更大的数字)
1 回答
由于窗口函数的当前实现,当尝试在大数据集上运行窗口函数时,这些错误是预期的(在这种情况下,需要大结果标记) .
虽然这些限制已经到位,但我建议您分多步执行查询,如下所示:
(将0替换为1,2和3以完成整个过程 - 如果仍然超出资源,则将4替换为更大的数字)