Google bigquery BigQuery";超出资源;;罪魁祸首可能是什么?
我正在学习新的BigQuery,由于资源不足,我对提交数据集的查询一直失败。我将SQL精简为以下代码,但仍然失败:Google bigquery BigQuery";超出资源;;罪魁祸首可能是什么?,google-bigquery,Google Bigquery,我正在学习新的BigQuery,由于资源不足,我对提交数据集的查询一直失败。我将SQL精简为以下代码,但仍然失败: SELECT commit, FIRST(repo_name) AS repo_name, FIRST(author.email) AS author_email, FIRST(author.time_sec) AS time, SUM(LENGTH(message)) AS len_commit_msg, COUNT(difference.new_path
SELECT
commit,
FIRST(repo_name) AS repo_name,
FIRST(author.email) AS author_email,
FIRST(author.time_sec) AS time,
SUM(LENGTH(message)) AS len_commit_msg,
COUNT(difference.new_path) AS num_files
FROM
[bigquery-public-data:github_repos.commits]
GROUP BY
commit
ORDER BY
repo_name,
time
所讨论的数据集很大(1.5亿行),我想要的只是一个包含基本信息的提交列表(提交消息的长度和更改文件的数量)
这个例子有什么特别的错误吗?我尝试更改SUM(LENGTH(message))部分和COUNT()但没有效果。还是排序部分是大查询的禁忌
我还检查了前面的“超出资源量”问题,答案与分区、联接或分组的问题有关,我已经避免了这些问题。按顺序排序很昂贵-尝试不按顺序排序很昂贵-尝试不按顺序排序此外,如果您只关心前N个排序结果,请添加
限制N
,而且查询将成功。Jordan说什么-您可能不关心对1.5亿行进行排序,所以不要对整个结果集进行排序-限制为100。谢谢!事实上,这是罪魁祸首。数据集似乎已经按这些变量排序,但由于bigquery的工作方式不同,这可能无法利用。此外,如果您只关心前N个排序结果,请添加限制N
,查询将成功。Jordan说什么-您可能不关心排序1.5亿行,因此,不要对整个结果集进行排序-限制为100。谢谢!事实上,这是罪魁祸首。数据集似乎已经按这些变量排序,但由于bigquery的工作方式不同,这可能无法利用。