public final class RecordPort extends LogicalPort
LogicalPort.Direction
Modifier and Type | Field and Description |
---|---|
static LogicalPortFactory<RecordPort> |
FACTORY
The singleton for creating record ports.
|
Modifier and Type | Method and Description |
---|---|
RecordPort |
filtered(LogicalSubgraph subgraph,
RecordPortOptions options)
Returns a new record port that is a filtered view of this record port.
|
DataDistribution |
getCombinedDataDistribution(MetadataContext ctx)
Gets the required data distribution of this port
|
DataOrdering |
getCombinedDataOrdering(MetadataContext ctx)
Gets the required data ordering of this port
|
RecordMetadata |
getCombinedMetadata(MetadataContext ctx)
Returns the actual metadata that the operator will see given its current
requirements and parallelism setting.
|
LogicalPortFactory<?> |
getFactory()
Returns the factory that knows how to create ports of this type
|
RecordInput |
getInput(ExecutionContext ctx)
Returns the physical input port associated with this logical input port.
|
RecordInput |
getInput(ExecutionContext ctx,
int copyNumber)
Returns the physical input port associated with the specified copy number
of this logical input port.
|
Class<RecordMetadata> |
getMetadataType()
Returns the class of metadata that this port uses
|
RecordOutput |
getOutput(ExecutionContext ctx)
Returns the physical output port associated with this logical output port.
|
DataDistribution |
getRequiredDataDistribution(MetadataContext ctx)
Gets the required data distribution of this port
|
DataOrdering |
getRequiredDataOrdering(MetadataContext ctx)
Gets the required data ordering of this port
|
RecordMetadata |
getRequiredMetadata(MetadataContext ctx)
Returns the required metadata associated with this port
|
DataDistribution |
getSourceDataDistribution(MetadataContext ctx)
Returns source data distribution associated with this input port.
|
DataOrdering |
getSourceDataOrdering(MetadataContext ctx)
Returns source data ordering associated with this input port.
|
RecordMetadata |
getSourceMetadata(MetadataContext ctx)
Returns the metadata associated with this port
|
RecordTokenType |
getType(MetadataContext ctx)
Returns the record type of this port.
|
void |
setIterationStagingOptions(IterativeMetadataContext ctx,
DatasetOptions options)
Sets the staging options for this input port.
|
void |
setOutputDataDistribution(MetadataCalculationContext ctx,
DataDistribution distribution)
Sets the data partitioning associated with the given record port.
|
void |
setOutputDataOrdering(MetadataCalculationContext ctx,
DataOrdering ordering)
Sets the data ordering associated with this output port.
|
void |
setRequiredDataDistribution(MetadataCalculationContext ctx,
DataDistribution distribution)
Sets the required data distribution of this input port.
|
void |
setRequiredDataOrdering(MetadataCalculationContext ctx,
DataOrdering ordering)
Sets the required data ordering of the given input.
|
void |
setType(MetadataCalculationContext ctx,
RecordTokenType type)
Sets the type associated with this port.
|
getDirection, getName, getOwner, isOptional, toString
public static final LogicalPortFactory<RecordPort> FACTORY
public RecordMetadata getSourceMetadata(MetadataContext ctx)
ctx
- context used to resolve metadatapublic RecordMetadata getRequiredMetadata(MetadataContext ctx)
ctx
- context used to resolve metadatapublic RecordMetadata getCombinedMetadata(MetadataContext ctx)
ctx
- context used to resolve metadatapublic DataOrdering getSourceDataOrdering(MetadataContext ctx)
setRequiredDataOrdering(com.pervasive.datarush.operators.MetadataCalculationContext, com.pervasive.datarush.ports.record.DataOrdering)
, otherwise the
framework is free to provide unsorted data as needed.ctx
- context used to resolve metadatapublic DataDistribution getSourceDataDistribution(MetadataContext ctx)
setRequiredDataDistribution(com.pervasive.datarush.operators.MetadataCalculationContext, com.pervasive.datarush.ports.record.DataDistribution)
, otherwise the
framework is free to redistribute as needed.ctx
- context used to resolve metadatapublic void setType(MetadataCalculationContext ctx, RecordTokenType type)
ctx
- context used to resolve/set metadatatype
- the type of this port.public void setOutputDataOrdering(MetadataCalculationContext ctx, DataOrdering ordering)
setType(com.pervasive.datarush.operators.MetadataCalculationContext, com.pervasive.datarush.types.RecordTokenType)
.ctx
- context used to resolve/set metadataordering
- the data orderingpublic void setOutputDataDistribution(MetadataCalculationContext ctx, DataDistribution distribution)
setType(com.pervasive.datarush.operators.MetadataCalculationContext, com.pervasive.datarush.types.RecordTokenType)
.ctx
- context used to resolve/set metadatadistribution
- the output distributionpublic void setRequiredDataOrdering(MetadataCalculationContext ctx, DataOrdering ordering)
unknown
order. Specifically,
if an operator declares a requiredDataDistribution
but does
not declare a requiredDataOrdering
, data will appear in arbitrary order,
regardless of original order, since it is a performance savings to avoid re-sorting data following distribution.
In the future there may be additional, similar, optimizations.ctx
- context used to resolve/set metadataordering
- the required data ordering.public void setRequiredDataDistribution(MetadataCalculationContext ctx, DataDistribution distribution)
sourceDataDistribution
,
but this behavior is subject to change in the future. Thus, implementations
should always declare their input distribution requirements.ctx
- context used to resolve/set metadatadistribution
- the required data distribution of this input port.public RecordPort filtered(LogicalSubgraph subgraph, RecordPortOptions options)
subgraph
- must be a subgraph created from the same iterative operator.options
- specifies selected columnspublic void setIterationStagingOptions(IterativeMetadataContext ctx, DatasetOptions options)
ctx
- context used to resolve/set metadataoptions
- the staging options of this portpublic DataOrdering getRequiredDataOrdering(MetadataContext ctx)
ctx
- context used to resolve metadatapublic DataDistribution getRequiredDataDistribution(MetadataContext ctx)
ctx
- context used to resolve metadatapublic DataOrdering getCombinedDataOrdering(MetadataContext ctx)
ctx
- context used to resolve metadatapublic DataDistribution getCombinedDataDistribution(MetadataContext ctx)
ctx
- context used to resolve metadatapublic Class<RecordMetadata> getMetadataType()
LogicalPort
getMetadataType
in class LogicalPort
public LogicalPortFactory<?> getFactory()
LogicalPort
getFactory
in class LogicalPort
public RecordTokenType getType(MetadataContext ctx)
ctx
- the context in which to lookup type informationpublic RecordInput getInput(ExecutionContext ctx)
ctx
- the execution context.public RecordInput getInput(ExecutionContext ctx, int copyNumber)
ExecutableOperator#getNumInputCopies
.ctx
- the execution contextcopyNumber
- the copy number, must be in the range [0,numCopies).public RecordOutput getOutput(ExecutionContext ctx)
ctx
- the execution context.Copyright © 2021 Actian Corporation. All rights reserved.