Class AsyncLookupJoinRunner
- java.lang.Object
-
- org.apache.flink.api.common.functions.AbstractRichFunction
-
- org.apache.flink.streaming.api.functions.async.RichAsyncFunction<RowData,RowData>
-
- org.apache.flink.table.runtime.operators.join.lookup.AsyncLookupJoinRunner
-
- All Implemented Interfaces:
Serializable
,Function
,RichFunction
,AsyncFunction<RowData,RowData>
- Direct Known Subclasses:
AsyncLookupJoinWithCalcRunner
public class AsyncLookupJoinRunner extends RichAsyncFunction<RowData,RowData>
The async join runner to lookup the dimension table.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected FilterCondition
preFilterCondition
protected RowDataSerializer
rightRowSerializer
-
Constructor Summary
Constructors Constructor Description AsyncLookupJoinRunner(GeneratedFunction<AsyncFunction<RowData,Object>> generatedFetcher, DataStructureConverter<RowData,Object> fetcherConverter, GeneratedResultFuture<TableFunctionResultFuture<RowData>> generatedResultFuture, GeneratedFunction<FilterCondition> generatedPreFilterCondition, RowDataSerializer rightRowSerializer, boolean isLeftOuterJoin, int asyncBufferCapacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
asyncInvoke(RowData input, ResultFuture<RowData> resultFuture)
Trigger async operation for each stream input.void
close()
Tear-down method for the user code.TableFunctionResultFuture<RowData>
createFetcherResultFuture(Configuration parameters)
List<org.apache.flink.table.runtime.operators.join.lookup.AsyncLookupJoinRunner.JoinedRowResultFuture>
getAllResultFutures()
void
open(OpenContext openContext)
Initialization method for the function.-
Methods inherited from class org.apache.flink.streaming.api.functions.async.RichAsyncFunction
setRuntimeContext
-
Methods inherited from class org.apache.flink.api.common.functions.AbstractRichFunction
getIterationRuntimeContext, getRuntimeContext
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.streaming.api.functions.async.AsyncFunction
timeout
-
-
-
-
Field Detail
-
rightRowSerializer
protected final RowDataSerializer rightRowSerializer
-
preFilterCondition
protected transient FilterCondition preFilterCondition
-
-
Constructor Detail
-
AsyncLookupJoinRunner
public AsyncLookupJoinRunner(GeneratedFunction<AsyncFunction<RowData,Object>> generatedFetcher, DataStructureConverter<RowData,Object> fetcherConverter, GeneratedResultFuture<TableFunctionResultFuture<RowData>> generatedResultFuture, GeneratedFunction<FilterCondition> generatedPreFilterCondition, RowDataSerializer rightRowSerializer, boolean isLeftOuterJoin, int asyncBufferCapacity)
-
-
Method Detail
-
open
public void open(OpenContext openContext) throws Exception
Description copied from interface:RichFunction
Initialization method for the function. It is called before the actual working methods (like map or join) and thus suitable for one time setup work. For functions that are part of an iteration, this method will be invoked at the beginning of each iteration superstep.The openContext object passed to the function can be used for configuration and initialization. The openContext contains some necessary information that were configured on the function in the program composition.
public class MyFilter extends RichFilterFunction<String> { private String searchString; public void open(OpenContext openContext) { // initialize the value of searchString } public boolean filter(String value) { return value.equals(searchString); } }
- Specified by:
open
in interfaceRichFunction
- Overrides:
open
in classAbstractRichFunction
- Parameters:
openContext
- The context containing information about the context in which the function is opened.- Throws:
Exception
- Implementations may forward exceptions, which are caught by the runtime. When the runtime catches an exception, it aborts the task and lets the fail-over logic decide whether to retry the task execution.
-
asyncInvoke
public void asyncInvoke(RowData input, ResultFuture<RowData> resultFuture) throws Exception
Description copied from interface:AsyncFunction
Trigger async operation for each stream input.- Specified by:
asyncInvoke
in interfaceAsyncFunction<RowData,RowData>
- Specified by:
asyncInvoke
in classRichAsyncFunction<RowData,RowData>
- Parameters:
input
- element coming from an upstream taskresultFuture
- to be completed with the result data- Throws:
Exception
- in case of a user code error. An exception will make the task fail and trigger fail-over process.
-
createFetcherResultFuture
public TableFunctionResultFuture<RowData> createFetcherResultFuture(Configuration parameters) throws Exception
- Throws:
Exception
-
close
public void close() throws Exception
Description copied from interface:RichFunction
Tear-down method for the user code. It is called after the last call to the main working methods (e.g. map or join). For functions that are part of an iteration, this method will be invoked after each iteration superstep.This method can be used for clean up work.
- Specified by:
close
in interfaceRichFunction
- Overrides:
close
in classAbstractRichFunction
- Throws:
Exception
- Implementations may forward exceptions, which are caught by the runtime. When the runtime catches an exception, it aborts the task and lets the fail-over logic decide whether to retry the task execution.
-
getAllResultFutures
@VisibleForTesting public List<org.apache.flink.table.runtime.operators.join.lookup.AsyncLookupJoinRunner.JoinedRowResultFuture> getAllResultFutures()
-
-