From e14db229607aba9e3fae691dc625d40230f326c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=9E=97=E4=BC=9F?= Date: Mon, 9 Sep 2024 11:23:21 +0800 Subject: [PATCH] Update blog --- .../blog/2024-08-23-datafusion-grouped-aggregations/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2024-08-23-datafusion-grouped-aggregations/index.md b/content/blog/2024-08-23-datafusion-grouped-aggregations/index.md index 42d7b4b..d1cecec 100644 --- a/content/blog/2024-08-23-datafusion-grouped-aggregations/index.md +++ b/content/blog/2024-08-23-datafusion-grouped-aggregations/index.md @@ -92,7 +92,7 @@ DataFusion 会利用聚合算子的输入在 group keys 上的(部分/完全 **第一阶段判断是否跳过聚合计算时,为什么需要输入无任何在 group keys 上的排序特性?** -因为如果输入具有排序特性,那么可以利用排序特性来提前输出部分已聚合完毕的 group,这样不会因为高基数聚合导致需要在内存中维护巨大的哈希表。 +因为如果输入具有排序特性,那么可以利用排序特性来提前输出部分已聚合完毕的 group,这样不会因为高基数聚合导致需要在内存中维护巨大的哈希表(Spill 也是同样地需要输入无任何在 group keys 上的排序特性)。 **为什么 Spill(溢出到磁盘)仅发生在第二阶段(FinalPartitioned),而不会在第一阶段(Partial)发生?**