GROUP 上的 BigQuery 内部错误(三字母组)
BigQuery internal error on a GROUP by query (trigrams)
我用 LIMIT 100 尝试了以下查询并得到了一个 "Resources exceeded during query execution" (otichyproject1:job_1mpw4aDtTHmbduBdKSBu5ty1DXY) 所以我试图将它输出到一个新的 table 并允许大的结果。它 运行 长得多,但因 'internal error' (otichyproject1:job_6pFUlj2AzdROUyAU8nZ9dGdo3ms) 而失败。
SELECT
ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM
trigram.trigrams3
GROUP BY
ngram, decade
table 三元组 3 来自 public 三元组数据集,应该更小(尽管三元组上的 COUNT 给出了奇怪的结果)。
关于如何使这项工作有任何想法吗?
首先,让我们看看结果集有多大:
SELECT COUNT(*)
FROM (
SELECT ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM [otichyproject1:trigram.trigrams3]
GROUP EACH BY ngram, decade
)
837,369,607 - 将近十亿个寄存器要输出,这就是我们需要 "allowLargeResults".
的原因
请注意,我使用了 "GROUP EACH"。 "EACH" 应该不需要了,因为它已经过时了,但它缩短了我在这里的 运行 时间。
与 LIMIT 100 相同,适用于 "EACH":
SELECT
ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM
trigram.trigrams3
GROUP EACH BY
ngram, decade
LIMIT 100
如果我用 "EACH" 和 "AllowLargeResults":
尝试将所有结果输出到新 table 的查询,运行仅需 20 秒
SELECT ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM [otichyproject1:trigram.trigrams3]
GROUP EACH BY ngram, decade
所以这个问题的简短答案是:继续使用 "GROUP EACH"(暂时)。
我用 LIMIT 100 尝试了以下查询并得到了一个 "Resources exceeded during query execution" (otichyproject1:job_1mpw4aDtTHmbduBdKSBu5ty1DXY) 所以我试图将它输出到一个新的 table 并允许大的结果。它 运行 长得多,但因 'internal error' (otichyproject1:job_6pFUlj2AzdROUyAU8nZ9dGdo3ms) 而失败。
SELECT
ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM
trigram.trigrams3
GROUP BY
ngram, decade
table 三元组 3 来自 public 三元组数据集,应该更小(尽管三元组上的 COUNT 给出了奇怪的结果)。
关于如何使这项工作有任何想法吗?
首先,让我们看看结果集有多大:
SELECT COUNT(*)
FROM (
SELECT ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM [otichyproject1:trigram.trigrams3]
GROUP EACH BY ngram, decade
)
837,369,607 - 将近十亿个寄存器要输出,这就是我们需要 "allowLargeResults".
的原因请注意,我使用了 "GROUP EACH"。 "EACH" 应该不需要了,因为它已经过时了,但它缩短了我在这里的 运行 时间。
与 LIMIT 100 相同,适用于 "EACH":
SELECT
ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM
trigram.trigrams3
GROUP EACH BY
ngram, decade
LIMIT 100
如果我用 "EACH" 和 "AllowLargeResults":
尝试将所有结果输出到新 table 的查询,运行仅需 20 秒SELECT ngram, decade, SUM(freq) totalfreq, SUM(books) totalbooks
FROM [otichyproject1:trigram.trigrams3]
GROUP EACH BY ngram, decade
所以这个问题的简短答案是:继续使用 "GROUP EACH"(暂时)。