Skip to content

Commit

Permalink
feat: Add initial index lookup join operator implementation (#12218)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: #12218

Add the initial index lookup operator implementation which supports inner join and left join
from an index source.
The index lookup join operator takes input from the probe side with one batch at a time. For each
probe input batch, it sends the lookup request from the index source and gets a lookup result iterator.
The result iterator produces the output in batches through a future for async processing at the
storage backend. For each lookup result, the index join operator produces one or more output batches
based on the operator's output batch size limit. For left join, the index join operator needs to detect the
input request rows that have no matches and produce output with nulls for the columns from the lookup
table.

Reviewed By: mbasmanova

Differential Revision: D68906030

fbshipit-source-id: 4038c31653bc96893497b3c26d935fa2f7b58f43
  • Loading branch information
xiaoxmeng authored and facebook-github-bot committed Jan 31, 2025
1 parent 256ed01 commit dcafd32
Show file tree
Hide file tree
Showing 5 changed files with 1,426 additions and 36 deletions.
1 change: 1 addition & 0 deletions velox/exec/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ velox_add_library(
HashPartitionFunction.cpp
HashProbe.cpp
HashTable.cpp
IndexLookupJoin.cpp
JoinBridge.cpp
Limit.cpp
LocalPartition.cpp
Expand Down
Loading

0 comments on commit dcafd32

Please sign in to comment.