Class GeneralHashJoinBuilder<T0>

  • Type Parameters:
    T0 - the type of the items in the primary stage
    Direct Known Subclasses:
    HashJoinBuilder, StreamHashJoinBuilder

    public abstract class GeneralHashJoinBuilder<T0>
    extends java.lang.Object
    Offers a step-by-step fluent API to build a hash-join pipeline stage. To obtain it, call GeneralStage.hashJoinBuilder() on the primary stage, the one whose data will be enriched from all other stages.

    Collect all the tags returned from add() and use them to retrieve the enriching items from ItemsByTag you get in the result.

    This object is mainly intended to build a hash-join of the primary stage with three or more contributing stages. For one or two stages, prefer the direct stage.hashJoin(...) calls because they offer more static type safety.

    Since:
    Jet 3.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <K,​T1_IN,​T1>
      Tag<T1>
      add​(BatchStage<T1_IN> stage, JoinClause<K,​T0,​T1_IN,​T1> joinClause)
      Adds another contributing pipeline stage to the hash-join operation.
      <K,​T1_IN,​T1>
      Tag<T1>
      addInner​(BatchStage<T1_IN> stage, JoinClause<K,​T0,​T1_IN,​T1> joinClause)
      Adds another contributing pipeline stage to the hash-join operation.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • add

        public <K,​T1_IN,​T1> Tag<T1> add​(BatchStage<T1_IN> stage,
                                                    JoinClause<K,​T0,​T1_IN,​T1> joinClause)
        Adds another contributing pipeline stage to the hash-join operation.
        Type Parameters:
        K - the type of the join key
        T1_IN - the type of the contributing stage's data
        T1 - the type of result after applying the projecting transformation to the contributing stage's data
        Parameters:
        stage - the contributing stage
        joinClause - specifies how to join the contributing stage
        Returns:
        the tag that refers to the contributing stage
      • addInner

        public <K,​T1_IN,​T1> Tag<T1> addInner​(BatchStage<T1_IN> stage,
                                                         JoinClause<K,​T0,​T1_IN,​T1> joinClause)
        Adds another contributing pipeline stage to the hash-join operation. If no matching items for returned tag is found, no records for given key will be added.
        Type Parameters:
        K - the type of the join key
        T1_IN - the type of the contributing stage's data
        T1 - the type of result after applying the projecting transformation to the contributing stage's data
        Parameters:
        stage - the contributing stage
        joinClause - specifies how to join the contributing stage
        Returns:
        the tag that refers to the contributing stage
        Since:
        Jet 4.1