public final class CrossJoin extends ExecutableOperator
TypeUtil.merge(RecordTokenType...) for details on the renaming process.
To generate pairs, the right-hand data is temporarily stored to disk for multiple passes. The left-hand data is read into memory in chunks, which are then used to generate a full set of pairs with the iterable right-hand data. This process is repeated until the left-hand data is exhausted.
No guarantee is made in respect to the ordering of the output data.
| Constructor and Description |
|---|
CrossJoin()
Performs a cross join between two inputs
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
computeMetadata(StreamingMetadataContext ctx)
Implementations must adhere to the following contracts
|
protected void |
execute(ExecutionContext ctx)
The controller handles chunking the LHS data into reasonable chunks that can be loaded into memory.
|
int |
getBufferRows()
Gets the size (in rows) of the memory buffer used to generate
output records.
|
RecordPort |
getLeftInput()
Returns the left input port
|
RecordPort |
getOutput()
Returns the input port
|
RecordPort |
getRightInput()
Returns the right input port
|
void |
setBufferRows(int rows)
Sets the size (in rows) of the memory buffer used to generate
output record.
|
cloneForExecution, getNumInputCopies, getPortSettings, handleInactiveOutputdisableParallelism, getInputPorts, getOutputPorts, newInput, newInput, newOutput, newRecordInput, newRecordInput, newRecordOutput, notifyErrorpublic RecordPort getLeftInput()
public RecordPort getRightInput()
public RecordPort getOutput()
public void setBufferRows(int rows)
rows - number of rows to store in memory bufferpublic int getBufferRows()
protected void computeMetadata(StreamingMetadataContext ctx)
StreamingOperator
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#setOutputDataOrderingRecordPort#setOutputDataDistributionAbstractModelPort#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.
computeMetadata in class StreamingOperatorctx - the contextprotected void execute(ExecutionContext ctx)
execute in class ExecutableOperatorctx - context in which to lookup physical ports bound to logical portsCopyright © 2016 Actian Corporation. All rights reserved.