public class DataChangeRecordAction
extends java.lang.Object
ReadChangeStreamPartitionDoFn SDF. It is
responsible for processing DataChangeRecords. 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