运行以下查询时出现错误:
查询执行期间资源超出:无法在分配的内存中执行查询。峰值使用量:限制的 158%。最大内存消费者:用于分析 OVER() 子句的排序操作:98% 其他/未归因:2%
select *, row_number() over(PARTITION BY Column_A ORDER BY Column_B)
from
(SELECT
*
FROM
Table_1 UNION ALL
SELECT
*
FROM
Table_2 UNION ALL
SELECT
*
FROM
Table_3
)
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我如何更改此查询,或者我们是否有可能更改 bigquery 中的内存限制?
欢迎亚伦,
此错误意味着 BigQuery 由于内存限制而无法处理整个查询,该ORDER BY函数占用大量内存,尝试删除它,我希望您的查询运行良好。
如果您需要对结果进行排序,请尝试将无序查询写入表,然后在该表上运行新查询以对结果进行排序。
如果你有兴趣。这是一篇关于 BigQuery 如何在内存中执行的有趣文章:https : //cloud.google.com/blog/products/gcp/in-memory-query-execution-in-google-bigquery
我不相信您可以覆盖或更改此内存限制,但很高兴被证明是错误的。
| 归档时间: |
|
| 查看次数: |
7523 次 |
| 最近记录: |