protected static class JmsIO.UnboundedJmsSource extends UnboundedSource<JmsRecord,JmsCheckpointMark>
UnboundedSource.CheckpointMark, UnboundedSource.UnboundedReader<OutputT>
Source.Reader<T>
Constructor and Description |
---|
UnboundedJmsSource(JmsIO.Read spec) |
Modifier and Type | Method and Description |
---|---|
org.apache.beam.sdk.io.jms.JmsIO.UnboundedJmsReader |
createReader(PipelineOptions options,
JmsCheckpointMark checkpointMark)
Create a new
UnboundedSource.UnboundedReader to read from this source, resuming from the given
checkpoint if present. |
Coder<JmsCheckpointMark> |
getCheckpointMarkCoder()
Returns a
Coder for encoding and decoding the checkpoints for this source. |
Coder<JmsRecord> |
getDefaultOutputCoder()
Returns the default
Coder to use for the data read from this source. |
java.util.List<JmsIO.UnboundedJmsSource> |
split(int desiredNumSplits,
PipelineOptions options)
Returns a list of
UnboundedSource objects representing the instances of this source
that should be used when executing the workflow. |
void |
validate()
Checks that this source is valid, before it can be used in a pipeline.
|
requiresDeduping
populateDisplayData
public UnboundedJmsSource(JmsIO.Read spec)
public java.util.List<JmsIO.UnboundedJmsSource> split(int desiredNumSplits, PipelineOptions options) throws java.lang.Exception
UnboundedSource
UnboundedSource
objects representing the instances of this source
that should be used when executing the workflow. Each split should return a separate partition
of the input data.
For example, for a source reading from a growing directory of files, each split could correspond to a prefix of file names.
Some sources are not splittable, such as reading from a single TCP stream. In that case, only a single split should be returned.
Some data sources automatically partition their data among readers. For these types of
inputs, n
identical replicas of the top-level source can be returned.
The size of the returned list should be as close to desiredNumSplits
as possible, but does not have to match exactly. A low number of splits
will limit the amount of parallelism in the source.
split
in class UnboundedSource<JmsRecord,JmsCheckpointMark>
java.lang.Exception
public org.apache.beam.sdk.io.jms.JmsIO.UnboundedJmsReader createReader(PipelineOptions options, JmsCheckpointMark checkpointMark)
UnboundedSource
UnboundedSource.UnboundedReader
to read from this source, resuming from the given
checkpoint if present.createReader
in class UnboundedSource<JmsRecord,JmsCheckpointMark>
public void validate()
Source
It is recommended to use Preconditions
for implementing
this method.
public Coder<JmsCheckpointMark> getCheckpointMarkCoder()
UnboundedSource
Coder
for encoding and decoding the checkpoints for this source.getCheckpointMarkCoder
in class UnboundedSource<JmsRecord,JmsCheckpointMark>