[
https://issues.apache.org/jira/browse/DRILL-6872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16702514#comment-16702514
]
Sorabh Hamirwasia commented on DRILL-6872:
------------------------------------------
That and the special case will be more easy to handle compared to full EMIT
support in Hash Join. In small table case the build side will be read only once
and will not see EMIT outcome from right side. The same hash table will be used
for all the left side batches with EMIT outcome.
The special case is also an useful scenario which is known where UNNESTed data
can be joined with data in IN clause or another smaller table. Unnest can
produce county code whereas other build side table can have country name for
country codes. Other than that it's not known if Hash Join will be useful in
Lateral/Unnest subquery or not which requires full EMIT protocol support.
> Add support for Join with small build side table between Lateral & Unnest
> subquery.
> -----------------------------------------------------------------------------------
>
> Key: DRILL-6872
> URL: https://issues.apache.org/jira/browse/DRILL-6872
> Project: Apache Drill
> Issue Type: Improvement
> Components: Execution - Flow
> Reporter: Sorabh Hamirwasia
> Priority: Major
>
> We want to support Hash Join in Lateral & Unnest subquery for special case of
> small table on build side of the Hash Join. In this case basically build side
> is a small table which is scanned once by Hash Join and then for each left
> side batch with EMIT outcome, same build side information is used. The
> example plan will look like below:
> {code:java}
> LJ
> / \
> Scan HashJoin
> / \
> Unnest Scan (Build)
> {code}
>
> Here we should also think about sniffing logic in Hash Join operator which
> can cause deadlock for this scenario.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)