public abstract class StreamingOperator extends AbstractLogicalOperator
Implementations must not extend this class directly; instead they must extend one of the following sub-classes:
LogicalOperator
Constructor and Description |
---|
StreamingOperator() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
computeMetadata(StreamingMetadataContext ctx)
Implementations must adhere to the following contracts
|
disableParallelism, getInputPorts, getOutputPorts, newInput, newInput, newOutput, newRecordInput, newRecordInput, newRecordOutput, notifyError
protected abstract void computeMetadata(StreamingMetadataContext ctx)
StreamingMetadataContext.parallelize(ParallelismStrategy)
.
RecordPort#setRequiredDataOrdering
, otherwise data may arrive in any order.
RecordPort#setRequiredDataDistribution
, otherwise data will arrive in an unspecified partial distribution
.
RecordPort#getSourceDataDistribution
and RecordPort#getSourceDataOrdering
. These should be
viewed as a hints to help chose a more efficient algorithm. In such cases, though, operators must
still declare data ordering and data distribution requirements; otherwise there is no guarantee that
data will arrive sorted/distributed as required.
RecordPort#setType
.RecordPort#setOutputDataOrdering
RecordPort#setOutputDataDistribution
AbstractModelPort#setMergeHandler
.MergeModel
is a convenient, re-usable model reducer, parameterized with
a merge-handler.
SimpleModelPort
's have no associated metadata and therefore there is
never any output metadata to declare. PMMLPort
's, on the other hand,
do have associated metadata. For all PMMLPorts, implementations must declare
the following:
PMMLPort.setPMMLModelSpec
.
ctx
- the contextCopyright © 2021 Actian Corporation. All rights reserved.