[ 
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)

Reply via email to