Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery BigQuery速度-从\uuuuShuffle1\uRepartition0开始的时间_Google Bigquery - Fatal编程技术网

Google bigquery BigQuery速度-从\uuuuShuffle1\uRepartition0开始的时间

Google bigquery BigQuery速度-从\uuuuShuffle1\uRepartition0开始的时间,google-bigquery,Google Bigquery,我试图理解为什么BigQuery查询需要这么长时间 有几篇文章是关于解释解释的输出的,但是没有找到任何东西来帮助理解在这种情况下发生了什么 关于为什么从\uuu PSRC\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuushufle2\u0读取和写入\uuuuuushufle2\u重新分区0会花费这么长时间,你有什么想法吗?这是通过新密钥重新分区的吗?(尽管前面的步骤13也是由HASH($290) 目前,我们的数据样本大约需要200秒,其中70%用于此步骤 (我不能在这里发布整个查

我试图理解为什么BigQuery查询需要这么长时间

有几篇文章是关于解释
解释的输出的,但是没有找到任何东西来帮助理解在这种情况下发生了什么

关于为什么从
\uuu PSRC\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuushufle2\u0
读取和写入
\uuuuuushufle2\u重新分区0
会花费这么长时间,你有什么想法吗?这是通过新密钥重新分区的吗?(尽管前面的步骤13也是由
HASH($290)

目前,我们的数据样本大约需要200秒,其中70%用于此步骤

(我不能在这里发布整个查询,不过如果有帮助的话,我可以发布一个修订版。)

避免爆炸连接

没有更多的上下文,我无法说出发生了什么,但第2和第5阶段很有趣:

  • 第二阶段从2米排到7米排
  • 阶段5获得10 M行,输出为140M
我怀疑联接正在爆炸。查询的数据大小有多大

如果没有进一步的数据,我会说我很高兴BigQuery能够处理像这样的分解联接,但我不希望在进行分解联接时有非常快的查询


对于分解联接的具体示例,请看一看。

第2阶段和第5阶段很有趣。第2阶段从2M行到7M,第5阶段得到10m行,输出为140M。我怀疑是分解联接。查询的数据大小有多大?好的,谢谢。第2阶段是一个
最新的
,第5阶段是一个
联接
,我将继续讨论调查。你知道如果是爆炸式连接,为什么所有的时间都会花在洗牌和重新分区上吗?为什么费用不会来自连接本身?BigQuery查看查询将要扫描的行数,并决定为此作业分配100个插槽。突然,此查询的行数增加了10000x倍,更多的节点被删除要使这些节点工作,BigQuery必须重新洗牌并重新划分所有正在运行的数据。这就是为什么这一步会变慢的原因。