P
- the type of data port being stagedpublic abstract class ForceStaging<P extends LogicalPort> extends DeferredCompositeOperator
In some cases, it may be necessary to avoid this concurrency. The simplest example is:
Normally, this is automatically handled by the framework, saving data to disk. This is done in a optimistic fashion, avoiding disk I/O and associated performance degradation until necessary at cost of a (small) potential risk of graph failure due to memory being exhausted. This operator provides a pessimistic approach to the problem, forcing all data to disk, with all the associated performance costs.
Modifier | Constructor and Description |
---|---|
protected |
ForceStaging(LogicalPortFactory<P> factory)
Forces temporary staging of port data.
|
Modifier and Type | Method and Description |
---|---|
protected void |
compose(DeferredCompositionContext ctx)
Compose the body of this operator.
|
protected void |
computeMetadata(StreamingMetadataContext ctx)
Implementations must adhere to all of the contracts specified
by
StreamingOperator.computeMetadata(com.pervasive.datarush.operators.StreamingMetadataContext) . |
P |
getInput()
Gets the port for the data to be staged.
|
P |
getOutput()
Gets the port for the staged data.
|
computeOutputTypes
disableParallelism, getInputPorts, getOutputPorts, newInput, newInput, newOutput, newRecordInput, newRecordInput, newRecordOutput, notifyError
protected ForceStaging(LogicalPortFactory<P> factory)
factory
- the port factory for the type of ports being stagedpublic final P getInput()
public final P getOutput()
protected final void computeMetadata(StreamingMetadataContext ctx)
DeferredCompositeOperator
StreamingOperator.computeMetadata(com.pervasive.datarush.operators.StreamingMetadataContext)
. In addition,
DeferredCompositeOperators must declare required metadata so
as to satisfy requirements of the operators that are added
during DeferredCompositeOperator.compose(com.pervasive.datarush.operators.DeferredCompositionContext)
.computeMetadata
in class DeferredCompositeOperator
ctx
- the contextprotected final void compose(DeferredCompositionContext ctx)
DeferredCompositeOperator
OperatorComposable.add(O)
OperatorComposable.connect(P, P)
. This includes
connections from the composite's input ports to sub-operators, connections between sub-operators, and
connections from sub-operators output ports to the composite's output portscompose
in class DeferredCompositeOperator
ctx
- the contextCopyright © 2019 Actian Corporation. All rights reserved.