Google bigquery 已解决组中超出的资源,但我需要降低成本

Google bigquery 已解决组中超出的资源,但我需要降低成本,google-bigquery,Google Bigquery,我解决了在一个有数十亿行的表上逐个分组时出现的“资源超出”错误。 然而,解决方案的成本非常高,我希望降低这些成本 几乎可以肯定,该错误不是由倾斜的分组键引起的,而是由分组键的基数过高引起的(是否存在固定的最大值?) 我的解决方案: SELECT key FROM (SELECT key FROM [table] WHERE ABS(HASH(key)) % 4 = 0 GROUP EACH BY key), (SELECT key FROM [table] WHERE ABS(HASH(key)

我解决了在一个有数十亿行的表上逐个分组时出现的“资源超出”错误。 然而,解决方案的成本非常高,我希望降低这些成本

几乎可以肯定,该错误不是由倾斜的分组键引起的,而是由分组键的基数过高引起的(是否存在固定的最大值?)

我的解决方案:

SELECT key FROM
(SELECT key FROM [table] WHERE ABS(HASH(key)) % 4 = 0 GROUP EACH BY key),
(SELECT key FROM [table] WHERE ABS(HASH(key)) % 4 = 1 GROUP EACH BY key),
(SELECT key FROM [table] WHERE ABS(HASH(key)) % 4 = 2 GROUP EACH BY key),
(SELECT key FROM [table] WHERE ABS(HASH(key)) % 4 = 3 GROUP EACH BY key)
这是可行的,但它会多次读取我的多TB表,我认为这有点贵。 有没有办法降低成本


谢谢,Ruben只读取“table”中的整个键列一次