@DoFn.UnboundedPerElement public class ReadFromPulsarDoFn extends DoFn<PulsarSourceDescriptor,PulsarMessage>
DoFn.AlwaysFetched, DoFn.BoundedPerElement, DoFn.BundleFinalizer, DoFn.Element, DoFn.FieldAccess, DoFn.FinishBundle, DoFn.FinishBundleContext, DoFn.GetInitialRestriction, DoFn.GetInitialWatermarkEstimatorState, DoFn.GetRestrictionCoder, DoFn.GetSize, DoFn.GetWatermarkEstimatorStateCoder, DoFn.Key, DoFn.MultiOutputReceiver, DoFn.NewTracker, DoFn.NewWatermarkEstimator, DoFn.OnTimer, DoFn.OnTimerContext, DoFn.OnTimerFamily, DoFn.OnWindowExpiration, DoFn.OnWindowExpirationContext, DoFn.OutputReceiver<T>, DoFn.ProcessContext, DoFn.ProcessContinuation, DoFn.ProcessElement, DoFn.RequiresStableInput, DoFn.RequiresTimeSortedInput, DoFn.Restriction, DoFn.Setup, DoFn.SideInput, DoFn.SplitRestriction, DoFn.StartBundle, DoFn.StartBundleContext, DoFn.StateId, DoFn.Teardown, DoFn.TimerFamily, DoFn.TimerId, DoFn.Timestamp, DoFn.TruncateRestriction, DoFn.UnboundedPerElement, DoFn.WatermarkEstimatorState, DoFn.WindowedContext
Constructor and Description |
---|
ReadFromPulsarDoFn(PulsarIO.Read transform) |
Modifier and Type | Method and Description |
---|---|
OffsetRange |
getInitialRestriction(PulsarSourceDescriptor pulsarSource) |
Instant |
getInitialWatermarkEstimatorState(Instant currentElementTimestamp) |
Coder<OffsetRange> |
getRestrictionCoder() |
double |
getSize(PulsarSourceDescriptor pulsarSource,
OffsetRange range) |
void |
initPulsarClients() |
org.apache.pulsar.client.api.Reader<byte[]> |
newReader(org.apache.pulsar.client.api.PulsarClient client,
java.lang.String topicPartition) |
WatermarkEstimator<Instant> |
newWatermarkEstimator(Instant watermarkEstimatorState) |
DoFn.ProcessContinuation |
processElement(PulsarSourceDescriptor pulsarSourceDescriptor,
RestrictionTracker<OffsetRange,java.lang.Long> tracker,
WatermarkEstimator watermarkEstimator,
DoFn.OutputReceiver<PulsarMessage> output) |
OffsetRangeTracker |
restrictionTracker(PulsarSourceDescriptor pulsarSource,
OffsetRange restriction) |
void |
teardown() |
getAllowedTimestampSkew, getInputTypeDescriptor, getOutputTypeDescriptor, populateDisplayData, prepareForProcessing
public ReadFromPulsarDoFn(PulsarIO.Read transform)
@DoFn.Setup public void initPulsarClients() throws java.lang.Exception
java.lang.Exception
@DoFn.Teardown public void teardown() throws java.lang.Exception
java.lang.Exception
@DoFn.GetInitialRestriction public OffsetRange getInitialRestriction(@DoFn.Element PulsarSourceDescriptor pulsarSource)
@DoFn.GetSize public double getSize(@DoFn.Element PulsarSourceDescriptor pulsarSource, @DoFn.Restriction OffsetRange range)
public org.apache.pulsar.client.api.Reader<byte[]> newReader(org.apache.pulsar.client.api.PulsarClient client, java.lang.String topicPartition) throws org.apache.pulsar.client.api.PulsarClientException
org.apache.pulsar.client.api.PulsarClientException
@DoFn.GetRestrictionCoder public Coder<OffsetRange> getRestrictionCoder()
@DoFn.ProcessElement public DoFn.ProcessContinuation processElement(@DoFn.Element PulsarSourceDescriptor pulsarSourceDescriptor, RestrictionTracker<OffsetRange,java.lang.Long> tracker, WatermarkEstimator watermarkEstimator, DoFn.OutputReceiver<PulsarMessage> output) throws java.io.IOException
java.io.IOException
@DoFn.GetInitialWatermarkEstimatorState public Instant getInitialWatermarkEstimatorState(@DoFn.Timestamp Instant currentElementTimestamp)
@DoFn.NewWatermarkEstimator public WatermarkEstimator<Instant> newWatermarkEstimator(@DoFn.WatermarkEstimatorState Instant watermarkEstimatorState)
@DoFn.NewTracker public OffsetRangeTracker restrictionTracker(@DoFn.Element PulsarSourceDescriptor pulsarSource, @DoFn.Restriction OffsetRange restriction)