gpt4 book ai didi

google-bigquery - BigQuery 中的 PERCENT_RANK() 返回资源超出

转载 作者:行者123 更新时间:2023-12-04 12:26:22 24 4
gpt4 key购买 nike

当我尝试在大型数据集上使用 PERCENT_RANK() 时,它给了我一个错误。

SELECT 
a2_lngram,
a2_decade,
a2_totalfreq,
a2_totalbooks,
a2_freq, a2_bfreq,
a2_arf,
c_avgarf,
d_arf,
oi,
PERCENT_RANK() OVER (ORDER BY d_arf DESC) plarf
FROM [trigram.trigrams8]

使用目标表和 AllowLargeResults 返回:

“在查询执行期间超出了资源。”

当我将结果限制为几百时,它运行良好。

作业 ID: oticyproject1:job_PpTpmMXYETUMiM_2scGgc997JVg
数据集是公开的。

最佳答案

这是预期的:分析/窗口函数的输入需要适合一个节点才能成功运行。

PERCENT_RANK() OVER (ORDER BY d_arf DESC) plarf

只有当所有行都适合一个节点时才会运行。如果没有,您将看到“查询执行期间资源超出”错误。

有一种方法可以使用分析功能进行扩展:对数据进行分区。
PERCENT_RANK() OVER (PARTITION BY country ORDER BY d_arf DESC) plarf

...然后该函数可以在多个节点上运行,只要每个“国家/地区”行都适合一个 VM。

不是你的情况 - 我在这里做的修复是计算单独的子查询、连接和除法的总数。

总之,分析函数很酷,但它们在每个分区的大小上存在可扩展性问题——幸运的是,还有其他方法可以获得相同的结果。

关于google-bigquery - BigQuery 中的 PERCENT_RANK() 返回资源超出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33205041/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com