public class MatrixIndexingSPInstruction extends IndexingSPInstruction
SPInstruction.SPType
Instruction.IType
input1, input2, input3, output
DATATYPE_PREFIX, FEDERATED_INST_PREFIX, GPU_INST_PREFIX, INSTRUCTION_DELIM, LITERAL_PREFIX, OPERAND_DELIM, SP_INST_PREFIX, VALUETYPE_PREFIX
Modifier and Type | Method and Description |
---|---|
org.apache.commons.lang3.tuple.Pair<String,LineageItem> |
getLineageItem(ExecutionContext ec)
Obtain lineage trace of an instruction with a single output.
|
static MatrixBlock |
inmemoryIndexing(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> in1,
DataCharacteristics mcIn,
DataCharacteristics mcOut,
IndexRange ixrange) |
static boolean |
isMultiBlockLookup(org.apache.spark.api.java.JavaPairRDD<?,?> in,
DataCharacteristics mcIn,
DataCharacteristics mcOut,
IndexRange ixrange)
Indicates if the given index range and input matrix exhibit the following properties:
(1) existing hash partitioner, (2) out-of-core input matrix (larger than aggregated memory),
(3) aligned indexing range (which does not required aggregation), and (4) the output fits
twice in memory (in order to collect the result).
|
static boolean |
isSingleBlockLookup(DataCharacteristics mcIn,
IndexRange ixrange)
Indicates if the given index range only covers a single blocks of the inputs matrix.
|
void |
processInstruction(ExecutionContext ec)
This method should be used to execute the instruction.
|
parseInstruction
getOutputVariableName
getGraphString, getSPInstructionType, getType, postprocessInstruction, preprocessInstruction, requiresLabelUpdate
getBeginColumn, getBeginLine, getEndColumn, getEndLine, getExtendedOpcode, getFilename, getInstID, getInstructionString, getLineNum, getOpcode, getOperator, getPrivacyConstraint, printMe, setInstID, setLocation, setLocation, setLocation, setLocation, setPrivacyConstraint, setPrivacyConstraint, toString, updateInstructionThreadID
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
getLineageItems, hasSingleLineage
public void processInstruction(ExecutionContext ec)
Instruction
processInstruction
in class SPInstruction
ec
- execution contextpublic static MatrixBlock inmemoryIndexing(org.apache.spark.api.java.JavaPairRDD<MatrixIndexes,MatrixBlock> in1, DataCharacteristics mcIn, DataCharacteristics mcOut, IndexRange ixrange)
public static boolean isSingleBlockLookup(DataCharacteristics mcIn, IndexRange ixrange)
mcIn
- matrix characteristicsixrange
- index rangepublic static boolean isMultiBlockLookup(org.apache.spark.api.java.JavaPairRDD<?,?> in, DataCharacteristics mcIn, DataCharacteristics mcOut, IndexRange ixrange)
in
- input matrixmcIn
- input matrix characteristicsmcOut
- output matrix characteristicsixrange
- index rangepublic org.apache.commons.lang3.tuple.Pair<String,LineageItem> getLineageItem(ExecutionContext ec)
LineageTraceable
getLineageItem
in interface LineageTraceable
getLineageItem
in class ComputationSPInstruction
ec
- execution context w/ live variablesCopyright © 2020 The Apache Software Foundation. All rights reserved.