SplitT - the type of the splits.@Internal public class SourceCoordinatorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit> extends Object implements org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT>, org.apache.flink.api.connector.source.SupportsIntermediateNoMoreSplits, AutoCloseable
OperatorCoordinator. Compared with SplitEnumeratorContext
this class allows interaction with state and sending OperatorEvent to the SourceOperator
while SplitEnumeratorContext only allows sending SourceEvent.
The context serves a few purposes:
SourceEvents to the source readers.
| 构造器和说明 |
|---|
SourceCoordinatorContext(SourceCoordinatorProvider.CoordinatorExecutorThreadFactory coordinatorThreadFactory,
int numWorkerThreads,
OperatorCoordinator.Context operatorCoordinatorContext,
org.apache.flink.core.io.SimpleVersionedSerializer<SplitT> splitSerializer,
boolean supportsConcurrentExecutionAttempts) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
assignSplits(org.apache.flink.api.connector.source.SplitsAssignment<SplitT> assignment) |
<T> void |
callAsync(Callable<T> callable,
java.util.function.BiConsumer<T,Throwable> handler) |
<T> void |
callAsync(Callable<T> callable,
java.util.function.BiConsumer<T,Throwable> handler,
long initialDelay,
long period) |
void |
close() |
int |
currentParallelism() |
org.apache.flink.metrics.groups.SplitEnumeratorMetricGroup |
metricGroup() |
Map<Integer,org.apache.flink.api.connector.source.ReaderInfo> |
registeredReaders() |
Map<Integer,Map<Integer,org.apache.flink.api.connector.source.ReaderInfo>> |
registeredReadersOfAttempts() |
void |
runInCoordinatorThread(Runnable runnable)
If the runnable throws an Exception, the corresponding job is failed.
|
void |
sendEventToSourceReader(int subtaskId,
int attemptNumber,
org.apache.flink.api.connector.source.SourceEvent event) |
void |
sendEventToSourceReader(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent event) |
void |
signalIntermediateNoMoreSplits(int subtask) |
void |
signalNoMoreSplits(int subtask) |
public SourceCoordinatorContext(SourceCoordinatorProvider.CoordinatorExecutorThreadFactory coordinatorThreadFactory, int numWorkerThreads, OperatorCoordinator.Context operatorCoordinatorContext, org.apache.flink.core.io.SimpleVersionedSerializer<SplitT> splitSerializer, boolean supportsConcurrentExecutionAttempts)
public org.apache.flink.metrics.groups.SplitEnumeratorMetricGroup metricGroup()
metricGroup 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void sendEventToSourceReader(int subtaskId,
org.apache.flink.api.connector.source.SourceEvent event)
sendEventToSourceReader 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void sendEventToSourceReader(int subtaskId,
int attemptNumber,
org.apache.flink.api.connector.source.SourceEvent event)
sendEventToSourceReader 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public int currentParallelism()
currentParallelism 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public Map<Integer,org.apache.flink.api.connector.source.ReaderInfo> registeredReaders()
registeredReaders 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public Map<Integer,Map<Integer,org.apache.flink.api.connector.source.ReaderInfo>> registeredReadersOfAttempts()
registeredReadersOfAttempts 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void assignSplits(org.apache.flink.api.connector.source.SplitsAssignment<SplitT> assignment)
assignSplits 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void signalNoMoreSplits(int subtask)
signalNoMoreSplits 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void signalIntermediateNoMoreSplits(int subtask)
signalIntermediateNoMoreSplits 在接口中 org.apache.flink.api.connector.source.SupportsIntermediateNoMoreSplitspublic <T> void callAsync(Callable<T> callable, java.util.function.BiConsumer<T,Throwable> handler, long initialDelay, long period)
callAsync 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public <T> void callAsync(Callable<T> callable, java.util.function.BiConsumer<T,Throwable> handler)
callAsync 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void runInCoordinatorThread(Runnable runnable)
runInCoordinatorThread 在接口中 org.apache.flink.api.connector.source.SplitEnumeratorContext<SplitT extends org.apache.flink.api.connector.source.SourceSplit>public void close()
throws InterruptedException
close 在接口中 AutoCloseableInterruptedExceptionCopyright © 2014–2023 The Apache Software Foundation. All rights reserved.