Class BroadcastingOutput
- java.lang.Object
-
- org.apache.flink.table.runtime.operators.multipleinput.output.BroadcastingOutput
-
- All Implemented Interfaces:
Output<StreamRecord<RowData>>
,Collector<StreamRecord<RowData>>
- Direct Known Subclasses:
CopyingBroadcastingOutput
public class BroadcastingOutput extends Object implements Output<StreamRecord<RowData>>
AnOutput
that can be used to emit elements and other messages to multiple outputs.The functionality of this class is similar to
OperatorChain#BroadcastingOutputCollector
.
-
-
Field Summary
Fields Modifier and Type Field Description protected Output<StreamRecord<RowData>>[]
outputs
-
Constructor Summary
Constructors Constructor Description BroadcastingOutput(Output<StreamRecord<RowData>>[] outputs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes the collector.void
collect(StreamRecord<RowData> record)
Emits a record.<X> void
collect(OutputTag<X> outputTag, StreamRecord<X> record)
Emits a record to the side output identified by the givenOutputTag
.void
emitLatencyMarker(LatencyMarker latencyMarker)
void
emitRecordAttributes(RecordAttributes recordAttributes)
Emits aRecordAttributes
from an operator.void
emitWatermark(Watermark mark)
Emits aWatermark
from an operator.void
emitWatermarkStatus(WatermarkStatus watermarkStatus)
-
-
-
Field Detail
-
outputs
protected final Output<StreamRecord<RowData>>[] outputs
-
-
Constructor Detail
-
BroadcastingOutput
public BroadcastingOutput(Output<StreamRecord<RowData>>[] outputs)
-
-
Method Detail
-
emitWatermark
public void emitWatermark(Watermark mark)
Description copied from interface:Output
Emits aWatermark
from an operator. This watermark is broadcast to all downstream operators.A watermark specifies that no element with a timestamp lower or equal to the watermark timestamp will be emitted in the future.
- Specified by:
emitWatermark
in interfaceOutput<StreamRecord<RowData>>
-
emitWatermarkStatus
public void emitWatermarkStatus(WatermarkStatus watermarkStatus)
- Specified by:
emitWatermarkStatus
in interfaceOutput<StreamRecord<RowData>>
-
collect
public <X> void collect(OutputTag<X> outputTag, StreamRecord<X> record)
Description copied from interface:Output
Emits a record to the side output identified by the givenOutputTag
.- Specified by:
collect
in interfaceOutput<StreamRecord<RowData>>
record
- The record to collect.
-
emitLatencyMarker
public void emitLatencyMarker(LatencyMarker latencyMarker)
- Specified by:
emitLatencyMarker
in interfaceOutput<StreamRecord<RowData>>
-
collect
public void collect(StreamRecord<RowData> record)
Description copied from interface:Collector
Emits a record.- Specified by:
collect
in interfaceCollector<StreamRecord<RowData>>
- Parameters:
record
- The record to collect.
-
close
public void close()
Description copied from interface:Collector
Closes the collector. If any data was buffered, that data will be flushed.- Specified by:
close
in interfaceCollector<StreamRecord<RowData>>
-
emitRecordAttributes
public void emitRecordAttributes(RecordAttributes recordAttributes)
Description copied from interface:Output
Emits aRecordAttributes
from an operator. This element is broadcast to all downstream operators.- Specified by:
emitRecordAttributes
in interfaceOutput<StreamRecord<RowData>>
-
-