我试图了解为什么BigQuery查询需要这么长时间。
有几篇关于解释Explanation
输出的帖子,但无法找到任何可以帮助理解这种情况下发生的事情。
有关为什么阅读__PSRC___SHUFFLE2_0
并写信给__SHUFFLE2_REPARTITION0
需要花费这么长时间的任何想法?这是用新密钥重新分区吗? (虽然前面的步骤13也是由HASH($290)
目前我们的数据的样本大约需要200秒,其中70%用于此步骤。
(我无法在此处发布整个查询,但如果有帮助,我可以发布修改后的版本。)
答案 0 :(得分:2)
避免爆炸连接。
如果没有更多的背景,我不知道发生了什么,但第2和第5阶段很有意思:
我怀疑爆炸连接。查询的数据大小有多大?
如果没有进一步的数据,我会说我很高兴BigQuery可以处理像这样的爆炸连接,但是在进行爆炸连接时我不会期望极快的查询。
有关爆炸连接的具体示例,请查看https://stackoverflow.com/a/46533335/132438。