[
https://issues.apache.org/jira/browse/DRILL-24?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573314#comment-13573314
]
Timothy Chen commented on DRILL-24:
-----------------------------------
Jacques, so I'm right now implementing the various joins but not quite sure how
to fit this in the current evaluator and operators.
For example, for a left join I want to go through the left stream one at a time
and for each one I need to scan the whole right stream since no index or
ordering is implied.
However, currently the iterators are expected to go through it once and done.
Alternatively, I can create a internal the list that creates a copy of each
data record once I scan through and use that for join, but not sure that's the
desire way?
> Implement Join Reference Operator
> ---------------------------------
>
> Key: DRILL-24
> URL: https://issues.apache.org/jira/browse/DRILL-24
> Project: Apache Drill
> Issue Type: New Feature
> Reporter: Timothy Chen
> Assignee: Timothy Chen
> Labels: logical
>
> Join (M)
> Joins two inputs based on one or more join conditions. The output of this
> operator is the combination of the two inputs. This is done by providing a
> combination record of each set of input records that matches all provided
> join conditions. In the case that no conditions are provided, a cartesian
> join is generated. The combination record is a single record that contains a
> merged map of values from both provided input records. For example, if the
> left record is {donuts: [data]} and the right is {purchases: [data]}, the
> combination record would be {donuts: [data], purchases: [data]}. Join also
> requires a condition type variable which. This describes what happens when a
> record doesn’t match the join conditions. Inner means only records that
> match the join conditions should be included. Outer means if a record is
> Avaiable relationship types ‘Reltypes’ include: >, >=, <=, <, !=, ==
> { @id†: <opref>, op: “join”,
> left: <input>,
> right: <input>,
> type: <inner|outer|right|left>,
> conditions*: [
> {relationship: <reltype>, left: <expr>, right: <expr>}, ...
> ]
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira