public abstract class HashJoinOperator extends TableStreamOperator<BaseRow> implements org.apache.flink.streaming.api.operators.TwoInputStreamOperator<BaseRow,BaseRow,BaseRow>, org.apache.flink.streaming.api.operators.BoundedMultiInput, org.apache.flink.streaming.api.operators.InputSelectable
The join operator implements the logic of a join operator at runtime. It uses a
hybrid-hash-join internally to match the records with equal key. The build side of the hash
is the first input of the match. It support all join type in HashJoinType.
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
void |
endInput(int inputId) |
abstract void |
join(RowIterator<BinaryRow> buildIter,
BaseRow probeRow) |
static HashJoinOperator |
newHashJoinOperator(long minMemorySize,
long maxMemorySize,
long eachRequestMemorySize,
HashJoinType type,
GeneratedJoinCondition condFuncCode,
boolean reverseJoinFunction,
boolean[] filterNullKeys,
GeneratedProjection buildProjectionCode,
GeneratedProjection probeProjectionCode,
boolean tryDistinctBuildRow,
int buildRowSize,
long buildRowCount,
long probeRowCount,
org.apache.flink.table.types.logical.RowType keyType) |
org.apache.flink.streaming.api.operators.InputSelection |
nextSelection() |
void |
open() |
void |
processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<BaseRow> element) |
void |
processElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<BaseRow> element) |
disposegetChainingStrategy, getContainingTask, getCurrentKey, getExecutionConfig, getInternalTimerService, getKeyedStateBackend, getKeyedStateStore, getMetricGroup, getOperatorConfig, getOperatorID, getOperatorName, getOperatorStateBackend, getOrCreateKeyedState, getPartitionedState, getPartitionedState, getProcessingTimeService, getRuntimeContext, getUserCodeClassloader, initializeState, initializeState, notifyCheckpointComplete, numEventTimeTimers, numProcessingTimeTimers, prepareSnapshotPreBarrier, processLatencyMarker, processLatencyMarker1, processLatencyMarker2, processWatermark, processWatermark1, processWatermark2, reportOrForwardLatencyMarker, setChainingStrategy, setCurrentKey, setKeyContextElement1, setKeyContextElement2, setup, snapshotState, snapshotStateclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitprocessLatencyMarker1, processLatencyMarker2, processWatermark1, processWatermark2dispose, getChainingStrategy, getMetricGroup, getOperatorID, initializeState, prepareSnapshotPreBarrier, setChainingStrategy, setKeyContextElement1, setKeyContextElement2, snapshotStatepublic void open()
throws Exception
public void processElement1(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<BaseRow> element) throws Exception
public void processElement2(org.apache.flink.streaming.runtime.streamrecord.StreamRecord<BaseRow> element) throws Exception
public org.apache.flink.streaming.api.operators.InputSelection nextSelection()
nextSelection in interface org.apache.flink.streaming.api.operators.InputSelectablepublic void endInput(int inputId)
throws Exception
endInput in interface org.apache.flink.streaming.api.operators.BoundedMultiInputExceptionpublic abstract void join(RowIterator<BinaryRow> buildIter, BaseRow probeRow) throws Exception
Exceptionpublic void close()
throws Exception
close in interface org.apache.flink.streaming.api.operators.StreamOperator<BaseRow>close in class TableStreamOperator<BaseRow>Exceptionpublic static HashJoinOperator newHashJoinOperator(long minMemorySize, long maxMemorySize, long eachRequestMemorySize, HashJoinType type, GeneratedJoinCondition condFuncCode, boolean reverseJoinFunction, boolean[] filterNullKeys, GeneratedProjection buildProjectionCode, GeneratedProjection probeProjectionCode, boolean tryDistinctBuildRow, int buildRowSize, long buildRowCount, long probeRowCount, org.apache.flink.table.types.logical.RowType keyType)
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.