Skip to content

Commit 02a86c5

Browse files
committed
Update blog
1 parent bb98981 commit 02a86c5

File tree

1 file changed

+1
-1
lines changed
  • content/blog/2025-01-13-datafusion-hash-join

1 file changed

+1
-1
lines changed

content/blog/2025-01-13-datafusion-hash-join/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ probe 阶段不断读取右表 partition0 的数据,与左表 partition0 数
128128

129129
## 哈希表设计
130130

131-
当前 DataFusion 采用的哈希表设计是基于 `hashbrown::RawTable`(Google [SwissTable](https://abseil.io/blog/20180927-swisstables) 的 Rust 实现) 和 `Vec<u64>`,自己计算哈希值和解决哈希冲突,`RawTable` 存放无冲突的哈希值到行索引映射,`Vec<u64>` 存放哈希冲突的映射。哈希表的内存是一次性分配好,后续不会扩容。
131+
当前 DataFusion 采用的哈希表设计是基于 `hashbrown::RawTable`(Google [SwissTable](https://abseil.io/blog/20180927-swisstables) 的 Rust 实现) 和 `Vec<u64>`,自己计算哈希值和解决哈希冲突,`RawTable` 存放无冲突的哈希值到行索引映射,`Vec<u64>` 存放哈希冲突的映射。哈希表的内存是一次性分配好,后续不会扩容(使用 `with_capacity` 创建来保证)
132132

133133
假设左表的数据共有 10 行,在建立哈希表时,会分配一个容量为 10 的 `RawTable``Vec<u64>`
134134

0 commit comments

Comments
 (0)