public class DataChangeRecordAction
extends java.lang.Object
ReadChangeStreamPartitionDoFn
SDF. It is
responsible for processing DataChangeRecord
s. The records will simply be emitted to the
received output receiver.Constructor and Description |
---|
DataChangeRecordAction(ThroughputEstimator<DataChangeRecord> throughputEstimator) |
Modifier and Type | Method and Description |
---|---|
java.util.Optional<DoFn.ProcessContinuation> |
run(PartitionMetadata partition,
DataChangeRecord record,
RestrictionTracker<TimestampRange,com.google.cloud.Timestamp> tracker,
DoFn.OutputReceiver<DataChangeRecord> outputReceiver,
ManualWatermarkEstimator<Instant> watermarkEstimator)
This is the main processing function for a
DataChangeRecord . |
public DataChangeRecordAction(ThroughputEstimator<DataChangeRecord> throughputEstimator)
throughputEstimator
- an estimator to calculate local throughput of this action.public java.util.Optional<DoFn.ProcessContinuation> run(PartitionMetadata partition, DataChangeRecord record, RestrictionTracker<TimestampRange,com.google.cloud.Timestamp> tracker, DoFn.OutputReceiver<DataChangeRecord> outputReceiver, ManualWatermarkEstimator<Instant> watermarkEstimator)
DataChangeRecord
. It returns an Optional
of DoFn.ProcessContinuation
to indicate if the calling function should stop or
not. If the Optional
returned is empty, it means that the calling function can continue
with the processing. If an Optional
of DoFn.ProcessContinuation.stop()
is returned,
it means that this function was unable to claim the timestamp of the DataChangeRecord
,
so the caller should stop.
When processing the DataChangeRecord
the following procedure is applied:
DoFn.OutputReceiver
.
partition
- the current partition being processedrecord
- the change stream data record receivedtracker
- the restriction tracker of the ReadChangeStreamPartitionDoFn
SDFoutputReceiver
- the output receiver of the ReadChangeStreamPartitionDoFn
SDFwatermarkEstimator
- the watermark estimator of the ReadChangeStreamPartitionDoFn
SDFOptional.empty()
if the caller can continue processing more records. A non
empty Optional
with DoFn.ProcessContinuation.stop()
if this function was unable
to claim the ChildPartitionsRecord
timestamp