flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-2871) Add OuterJoin strategy with HashTable on outer side
Date Wed, 20 Jan 2016 06:15:39 GMT

    [ https://issues.apache.org/jira/browse/FLINK-2871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15108077#comment-15108077
] 

ASF GitHub Bot commented on FLINK-2871:
---------------------------------------

Github user ChengXiangLi commented on a diff in the pull request:

    https://github.com/apache/flink/pull/1469#discussion_r50218331
  
    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/operators/hash/MutableHashTable.java
---
    @@ -486,11 +518,43 @@ protected boolean processProbeIter() throws IOException{
     			}
     		}
     		// -------------- partition done ---------------
    -		
    +
     		return false;
     	}
     	
    +	protected boolean processUnmatchedBuildIter() throws IOException  {
    +		if (this.unmatchedBuildVisited) {
    +			return false;
    +		}
    +		
    +		this.probeMatchedPhase = false;
    +		UnmatchedBuildIterator<BT, PT> unmatchedBuildIter = new UnmatchedBuildIterator<>(this.buildSideSerializer,
this.numBuckets,
    +			this.bucketsPerSegmentBits, this.bucketsPerSegmentMask, this.buckets, this.partitionsBeingBuilt,
probedSet);
    +		this.unmatchedBuildIterator = unmatchedBuildIter;
    +		
    +		// There maybe none unmatched build element, so we add a verification here to make
sure we do not return (null, null) to user.
    +		if (unmatchedBuildIter.next() == null) {
    --- End diff --
    
    Yes, it's better to have `hasNext()` method. Just UnmatchedBuildIterator is quite complicated,
redesign is risky, and the `back()` method would only be called once, it does not introduce
extra effort, so i would just leave it here.


> Add OuterJoin strategy with HashTable on outer side
> ---------------------------------------------------
>
>                 Key: FLINK-2871
>                 URL: https://issues.apache.org/jira/browse/FLINK-2871
>             Project: Flink
>          Issue Type: New Feature
>          Components: Local Runtime, Optimizer
>    Affects Versions: 0.10.0
>            Reporter: Fabian Hueske
>            Assignee: Chengxiang Li
>            Priority: Minor
>
> Outer joins are currently supported with two local execution strategies:
> - sort-merge join
> - hash join where the hash table is built on the inner side. Hence, this strategy is
only supported for left and right outer joins.
> In order to support hash-tables on the outer side, we need a special hash table implementation
that gives access to all records which have not been accessed during the probe phase.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message