java.lang.Object
org.apache.flink.api.common.functions.AbstractRichFunction
org.apache.flink.streaming.api.functions.ProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
org.apache.flink.table.runtime.operators.join.lookup.LookupJoinRunner
All Implemented Interfaces:
Serializable, org.apache.flink.api.common.functions.Function, org.apache.flink.api.common.functions.RichFunction
Direct Known Subclasses:
LookupJoinWithCalcRunner

public class LookupJoinRunner extends org.apache.flink.streaming.api.functions.ProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
The join runner to lookup the dimension table.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.flink.streaming.api.functions.ProcessFunction

    org.apache.flink.streaming.api.functions.ProcessFunction.Context, org.apache.flink.streaming.api.functions.ProcessFunction.OnTimerContext
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected ListenableCollector<org.apache.flink.table.data.RowData>
     
    protected final boolean
     
    protected org.apache.flink.table.data.GenericRowData
     
    protected org.apache.flink.table.data.utils.JoinedRowData
     
    protected FilterCondition
     
    protected final int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    LookupJoinRunner(GeneratedFunction<org.apache.flink.api.common.functions.FlatMapFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>> generatedFetcher, GeneratedCollector<ListenableCollector<org.apache.flink.table.data.RowData>> generatedCollector, GeneratedFunction<FilterCondition> generatedPreFilterCondition, boolean isLeftOuterJoin, int tableFieldsCount)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    doFetch(org.apache.flink.table.data.RowData in)
     
    org.apache.flink.util.Collector<org.apache.flink.table.data.RowData>
     
    void
    open(org.apache.flink.api.common.functions.OpenContext openContext)
     
    void
    padNullForLeftJoin(org.apache.flink.table.data.RowData in, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
     
    boolean
    preFilter(org.apache.flink.table.data.RowData in)
     
    void
    prepareCollector(org.apache.flink.table.data.RowData in, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
     
    void
    processElement(org.apache.flink.table.data.RowData in, org.apache.flink.streaming.api.functions.ProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>.org.apache.flink.streaming.api.functions.ProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
     

    Methods inherited from class org.apache.flink.streaming.api.functions.ProcessFunction

    onTimer

    Methods inherited from class org.apache.flink.api.common.functions.AbstractRichFunction

    getIterationRuntimeContext, getRuntimeContext, setRuntimeContext

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • isLeftOuterJoin

      protected final boolean isLeftOuterJoin
    • tableFieldsCount

      protected final int tableFieldsCount
    • collector

      protected transient ListenableCollector<org.apache.flink.table.data.RowData> collector
    • outRow

      protected transient org.apache.flink.table.data.utils.JoinedRowData outRow
    • preFilterCondition

      protected transient FilterCondition preFilterCondition
    • nullRow

      protected transient org.apache.flink.table.data.GenericRowData nullRow
  • Constructor Details

  • Method Details

    • open

      public void open(org.apache.flink.api.common.functions.OpenContext openContext) throws Exception
      Specified by:
      open in interface org.apache.flink.api.common.functions.RichFunction
      Overrides:
      open in class org.apache.flink.api.common.functions.AbstractRichFunction
      Throws:
      Exception
    • processElement

      public void processElement(org.apache.flink.table.data.RowData in, org.apache.flink.streaming.api.functions.ProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>.org.apache.flink.streaming.api.functions.ProcessFunction.Context ctx, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out) throws Exception
      Specified by:
      processElement in class org.apache.flink.streaming.api.functions.ProcessFunction<org.apache.flink.table.data.RowData,org.apache.flink.table.data.RowData>
      Throws:
      Exception
    • prepareCollector

      public void prepareCollector(org.apache.flink.table.data.RowData in, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
    • preFilter

      public boolean preFilter(org.apache.flink.table.data.RowData in) throws Exception
      Throws:
      Exception
    • doFetch

      public void doFetch(org.apache.flink.table.data.RowData in) throws Exception
      Throws:
      Exception
    • padNullForLeftJoin

      public void padNullForLeftJoin(org.apache.flink.table.data.RowData in, org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> out)
    • getFetcherCollector

      public org.apache.flink.util.Collector<org.apache.flink.table.data.RowData> getFetcherCollector()
    • close

      public void close() throws Exception
      Specified by:
      close in interface org.apache.flink.api.common.functions.RichFunction
      Overrides:
      close in class org.apache.flink.api.common.functions.AbstractRichFunction
      Throws:
      Exception