@NotThreadSafe public class BeamFnDataOutboundAggregator extends java.lang.Object
The default size-based buffer threshold can be overridden by specifying the experiment data_buffer_size_limit=<bytes>
The default time-based buffer threshold can be overridden by specifying the experiment data_buffer_time_limit_ms=<milliseconds>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DATA_BUFFER_SIZE_LIMIT |
static java.lang.String |
DATA_BUFFER_TIME_LIMIT_MS |
static int |
DEFAULT_BUFFER_LIMIT_BYTES |
static long |
DEFAULT_BUFFER_LIMIT_TIME_MS |
Constructor and Description |
---|
BeamFnDataOutboundAggregator(PipelineOptions options,
java.util.function.Supplier<java.lang.String> processBundleRequestIdSupplier,
org.apache.beam.vendor.grpc.v1p43p2.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements> outboundObserver,
boolean collectElementsIfNoFlushes) |
Modifier and Type | Method and Description |
---|---|
void |
discard() |
<T> FnDataReceiver<T> |
registerOutputDataLocation(java.lang.String pTransformId,
Coder<T> coder)
Register the outbound data logical endpoint, returns the FnDataReceiver for processing the
endpoint's outbound data.
|
<T> FnDataReceiver<T> |
registerOutputTimersLocation(java.lang.String pTransformId,
java.lang.String timerFamilyId,
Coder<T> coder)
Register the outbound timers logical endpoint, returns the FnDataReceiver for processing the
endpoint's outbound timers data.
|
void |
sendElements(org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements elements) |
org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements |
sendOrCollectBufferedDataAndFinishOutboundStreams()
Closes the streams for all registered outbound endpoints.
|
void |
start()
Starts the flushing daemon thread if data_buffer_time_limit_ms is set.
|
public static final java.lang.String DATA_BUFFER_SIZE_LIMIT
public static final int DEFAULT_BUFFER_LIMIT_BYTES
public static final java.lang.String DATA_BUFFER_TIME_LIMIT_MS
public static final long DEFAULT_BUFFER_LIMIT_TIME_MS
public BeamFnDataOutboundAggregator(PipelineOptions options, java.util.function.Supplier<java.lang.String> processBundleRequestIdSupplier, org.apache.beam.vendor.grpc.v1p43p2.io.grpc.stub.StreamObserver<org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements> outboundObserver, boolean collectElementsIfNoFlushes)
public void start()
public <T> FnDataReceiver<T> registerOutputDataLocation(java.lang.String pTransformId, Coder<T> coder)
public <T> FnDataReceiver<T> registerOutputTimersLocation(java.lang.String pTransformId, java.lang.String timerFamilyId, Coder<T> coder)
public org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements sendOrCollectBufferedDataAndFinishOutboundStreams()
public void sendElements(org.apache.beam.model.fnexecution.v1.BeamFnApi.Elements elements)
public void discard()