public class DynamicPartitionPruningAssigner extends Object implements SplitAssigner
DynamicFilteringData
.Constructor and Description |
---|
DynamicPartitionPruningAssigner(SplitAssigner innerAssigner,
Projection partitionRowProjection,
org.apache.flink.table.connector.source.DynamicFilteringData dynamicFilteringData) |
Modifier and Type | Method and Description |
---|---|
void |
addSplit(int suggestedTask,
FileStoreSourceSplit splits)
Add one split of a specified subtask to the assigner.
|
void |
addSplitsBack(int subtask,
List<FileStoreSourceSplit> splits)
Adds a set of splits to this assigner.
|
static SplitAssigner |
createDynamicPartitionPruningAssignerIfNeeded(int subtaskId,
SplitAssigner oriAssigner,
Projection partitionRowProjection,
org.apache.flink.api.connector.source.SourceEvent sourceEvent,
org.slf4j.Logger logger) |
List<FileStoreSourceSplit> |
getNext(int subtask,
String hostname)
Gets the next split.
|
Optional<Long> |
getNextSnapshotId(int subtask)
Gets the snapshot id of the next split.
|
int |
numberOfRemainingSplits()
Gets the current number of remaining splits.
|
Collection<FileStoreSourceSplit> |
remainingSplits()
Gets the remaining splits that this assigner has pending.
|
public DynamicPartitionPruningAssigner(SplitAssigner innerAssigner, Projection partitionRowProjection, org.apache.flink.table.connector.source.DynamicFilteringData dynamicFilteringData)
public List<FileStoreSourceSplit> getNext(int subtask, @Nullable String hostname)
SplitAssigner
When this method returns an empty Optional
, then the set of splits is assumed to
be done and the source will finish once the readers finished their current splits.
getNext
in interface SplitAssigner
public void addSplit(int suggestedTask, FileStoreSourceSplit splits)
SplitAssigner
addSplit
in interface SplitAssigner
public void addSplitsBack(int subtask, List<FileStoreSourceSplit> splits)
SplitAssigner
addSplitsBack
in interface SplitAssigner
public Collection<FileStoreSourceSplit> remainingSplits()
SplitAssigner
remainingSplits
in interface SplitAssigner
public static SplitAssigner createDynamicPartitionPruningAssignerIfNeeded(int subtaskId, SplitAssigner oriAssigner, Projection partitionRowProjection, org.apache.flink.api.connector.source.SourceEvent sourceEvent, org.slf4j.Logger logger)
public Optional<Long> getNextSnapshotId(int subtask)
SplitAssigner
getNextSnapshotId
in interface SplitAssigner
public int numberOfRemainingSplits()
SplitAssigner
numberOfRemainingSplits
in interface SplitAssigner
Copyright © 2023–2024 The Apache Software Foundation. All rights reserved.