[
https://issues.apache.org/jira/browse/ARROW-11116?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniël Heres updated ARROW-11116:
---------------------------------
Description:
Currently, the left join implementation keeps a HashSet<Vec<u8>> to mark each
key as visited.
However, a more efficient choice would be to keep a bitmap or a boolean marker
for each key or index and mark the row as visited, avoiding unnecessary
hashing, copying / memory usage.
This bitmap / marker can be visited at the end of the join, efficiently adding
the remaining left rows with no match.
was:
Currently, the left join implementation keeps a HashSet<Vec<u8>> to mark each
key as visited.
However, a more efficient choice would be to keep a bitmap or a boolean marker
for each key or index and mark the row as visited, avoiding unnecessary
hashing, copying / memory usage.
> [Rust][DataFusion] More efficient LEFT join implementation
> ----------------------------------------------------------
>
> Key: ARROW-11116
> URL: https://issues.apache.org/jira/browse/ARROW-11116
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Rust - DataFusion
> Reporter: Daniël Heres
> Priority: Major
>
> Currently, the left join implementation keeps a HashSet<Vec<u8>> to mark each
> key as visited.
> However, a more efficient choice would be to keep a bitmap or a boolean
> marker for each key or index and mark the row as visited, avoiding
> unnecessary hashing, copying / memory usage.
> This bitmap / marker can be visited at the end of the join, efficiently
> adding the remaining left rows with no match.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)