T
- Type of records read by the source.public abstract class BoundedSource<T> extends Source<T>
Source
that reads a finite amount of input and, because of that, supports some
additional operations.
The operations are:
split(long, org.apache.beam.sdk.options.PipelineOptions)
;
getEstimatedSizeBytes(org.apache.beam.sdk.options.PipelineOptions)
;
reader
has additional functionality to enable
runners to dynamically adapt based on runtime conditions.
BoundedSource.BoundedReader.getFractionConsumed()
)
BoundedSource.BoundedReader.getSplitPointsConsumed()
and BoundedSource.BoundedReader.getSplitPointsRemaining()
).
BoundedSource.BoundedReader.splitAtFraction(double)
).
Modifier and Type | Class and Description |
---|---|
static class |
BoundedSource.BoundedReader<T>
A
Reader that reads a bounded amount of input and supports some additional operations,
such as progress estimation and dynamic work rebalancing. |
Source.Reader<T>
Constructor and Description |
---|
BoundedSource() |
Modifier and Type | Method and Description |
---|---|
abstract BoundedSource.BoundedReader<T> |
createReader(PipelineOptions options)
Returns a new
BoundedSource.BoundedReader that reads from this source. |
abstract long |
getEstimatedSizeBytes(PipelineOptions options)
An estimate of the total size (in bytes) of the data that would be read from this source.
|
abstract java.util.List<? extends BoundedSource<T>> |
split(long desiredBundleSizeBytes,
PipelineOptions options)
Splits the source into bundles of approximately
desiredBundleSizeBytes . |
getDefaultOutputCoder, getOutputCoder, populateDisplayData, validate
public abstract java.util.List<? extends BoundedSource<T>> split(long desiredBundleSizeBytes, PipelineOptions options) throws java.lang.Exception
desiredBundleSizeBytes
.java.lang.Exception
public abstract long getEstimatedSizeBytes(PipelineOptions options) throws java.lang.Exception
If there is no way to estimate the size of the source implementations MAY return 0L.
java.lang.Exception
public abstract BoundedSource.BoundedReader<T> createReader(PipelineOptions options) throws java.io.IOException
BoundedSource.BoundedReader
that reads from this source.java.io.IOException