Skip to content

Commit 065236f

Browse files
michalursawestonpace
authored andcommitted
ARROW-15239: [C++][Compute] Adding Bloom filter implementation
Implementing register blocked Bloom filter to be used in hash join exec node. Closes apache#12067 from michalursa/ARROW-15239-bloom-filter Authored-by: michalursa <michal@ursacomputing.com> Signed-off-by: Weston Pace <weston.pace@gmail.com>
1 parent 18e7cbf commit 065236f

16 files changed

Lines changed: 3051 additions & 517 deletions

cpp/src/arrow/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ if(ARROW_COMPUTE)
380380
compute/cast.cc
381381
compute/exec.cc
382382
compute/exec/aggregate_node.cc
383+
compute/exec/bloom_filter.cc
383384
compute/exec/exec_plan.cc
384385
compute/exec/expression.cc
385386
compute/exec/filter_node.cc
@@ -393,6 +394,7 @@ if(ARROW_COMPUTE)
393394
compute/exec/key_map.cc
394395
compute/exec/options.cc
395396
compute/exec/order_by_impl.cc
397+
compute/exec/partition_util.cc
396398
compute/exec/project_node.cc
397399
compute/exec/sink_node.cc
398400
compute/exec/source_node.cc
@@ -441,6 +443,7 @@ if(ARROW_COMPUTE)
441443
append_avx2_src(compute/kernels/aggregate_basic_avx2.cc)
442444
append_avx512_src(compute/kernels/aggregate_basic_avx512.cc)
443445

446+
append_avx2_src(compute/exec/bloom_filter_avx2.cc)
444447
append_avx2_src(compute/exec/key_compare_avx2.cc)
445448
append_avx2_src(compute/exec/key_encode_avx2.cc)
446449
append_avx2_src(compute/exec/key_hash_avx2.cc)

cpp/src/arrow/compute/exec/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,14 @@ add_arrow_compute_test(expression_test
2525
subtree_test.cc)
2626

2727
add_arrow_compute_test(plan_test PREFIX "arrow-compute")
28-
add_arrow_compute_test(hash_join_node_test PREFIX "arrow-compute")
28+
add_arrow_compute_test(hash_join_node_test
29+
PREFIX
30+
"arrow-compute"
31+
SOURCES
32+
hash_join_node_test.cc
33+
bloom_filter_test.cc
34+
key_hash_test.cc)
2935
add_arrow_compute_test(union_node_test PREFIX "arrow-compute")
30-
3136
add_arrow_compute_test(util_test PREFIX "arrow-compute")
3237

3338
add_arrow_benchmark(expression_benchmark PREFIX "arrow-compute")

0 commit comments

Comments
 (0)