Package org.apache.sysds.lops

# Class Data

java.lang.Object
org.apache.sysds.lops.Lop
org.apache.sysds.lops.Data

public class Data extends Lop
Lop to represent data objects. Data objects represent matrices, vectors, variables, literals. Can be for both input and output.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.sysds.lops.Lop

`Lop.SimpleInstType, Lop.Type, Lop.VisitStatus`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`PREAD_PREFIX`

### Fields inherited from class org.apache.sysds.lops.Lop

`_beginColumn, _beginLine, _endColumn, _endLine, _filename, CP_CHILD_THREAD, CP_ROOT_THREAD_ID, DATATYPE_PREFIX, FILE_SEPARATOR, FRAME_VAR_NAME_PREFIX, INSTRUCTION_DELIMITOR, LITERAL_PREFIX, MATRIX_VAR_NAME_PREFIX, NAME_VALUE_SEPARATOR, OPERAND_DELIMITOR, PROCESS_PREFIX, SCALAR_VAR_NAME_PREFIX, UPDATE_INPLACE_PREFIX, VALUETYPE_PREFIX, VARIABLE_NAME_PLACEHOLDER`

## Constructor Summary

Constructors
Constructor
Description
`Data(Types.OpOpData op, Lop input, HashMap<String,Lop> inputParametersLops, String name, String literal, Types.DataType dt, Types.ValueType vt, Types.FileFormat fmt)`
Constructor to setup read or write LOP In case of write: `input` must be provided.

## Method Summary

Modifier and Type
Method
Description
`static Data`
`createLiteralLop(Types.ValueType vt, String literalValue)`
Method to create literal LOPs.
`boolean`
`getBooleanValue()`
`String`
`getCreateVarInstructions(String outputFileName, String outputLabel)`
`double`
`getDoubleValue()`
`Types.FileFormat`
`getFileFormatType()`
method to get format type for input, output files.
`HashMap<String,Lop>`
`getInputParams()`
method to get inputParams
`String`
`getInstructions()`
Method to generate createvar instruction that updates symbol table with metadata, hdfsfile name, etc.
`String`
`getInstructions(String outputFileName)`
Method should be overridden if needed
`String`
`getInstructions(String input1, String input2)`
Method to get CP instructions for reading/writing scalars and matrices from/to HDFS.
`long`
`getLongValue()`
`Lop`
`getNamedInputLop(String name)`
`Lop`
`getNamedInputLop(String name, String defaultVal)`
`Types.OpOpData`
`getOperationType()`
method to get operation type, i.e.
`String`
`getStringValue()`
`boolean`
`isLiteral()`
method to check if this data lop represents a literal.
`boolean`
`isPersistentRead()`
`boolean`
`isPersistentWrite()`
`boolean`
`isTransientRead()`
`boolean`
`isTransientWrite()`
`String`
`toString()`
Method to have Lops print their state.

### Methods inherited from class org.apache.sysds.lops.Lop

`activatePrefetch, addInput, addOutput, addToDag, createReachable, getAggType, getBeginColumn, getBeginLine, getBroadcastInput, getComputeEstimate, getDataType, getEndColumn, getEndLine, getExecType, getFederatedOutput, getFilename, getID, getInput, getInputs, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getInstructions, getLevel, getNnz, getNumCols, getNumRows, getOutputMemoryEstimate, getOutputParameters, getOutputs, getPipelineID, getProducesIntermediateOutput, getReachable, getSimpleInstructionType, getTotalMemoryEstimate, getType, getValueType, getVisited, isAllOutputsCP, isAllOutputsGPU, isAsynchronousOp, isDataExecLocation, isExecCP, isExecGPU, isExecSpark, isVariable, isVisited, prefetchActivated, prepInputOperand, prepInputOperand, prepOperand, prepOperand, prepOutputOperand, prepOutputOperand, prepOutputOperand, prepScalarInputOperand, prepScalarInputOperand, prepScalarLabel, prepScalarOperand, printErrorLocation, removeConsumer, removeInput, removeOutput, replaceAllInputs, replaceAllOutputs, replaceInput, resetVisitStatus, setAllPositions, setAsynchronous, setBeginColumn, setBeginLine, setComputeEstimate, setConsumerCount, setDataType, setEndColumn, setEndLine, setExecType, setFederatedOutput, setFilename, setMemoryEstimates, setNewID, setPipelineID, setValueType, setVisited, setVisited`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### PREAD_PREFIX

public static final String PREAD_PREFIX

See Also:
  - Constant Field Values

## Constructor Details

### Data

public Data(Types.OpOpData op, Lop input, HashMap<String,Lop> inputParametersLops, String name, String literal, Types.DataType dt, Types.ValueType vt, Types.FileFormat fmt)
Constructor to setup read or write LOP In case of write: `input` must be provided. This will always be added as the first element in `input` array. For literals: this function is invoked through the static method `createLiteralLop`.

Parameters:
  `op` - operation type
  `input` - low-level operator
  `inputParametersLops` - input lops
  `name` - string name
  `literal` - string literal
  `dt` - data type
  `vt` - value type
  `fmt` - file format

## Method Details

### createLiteralLop

public static Data createLiteralLop(Types.ValueType vt, String literalValue)
Method to create literal LOPs.

Parameters:
  `vt` - value type
  `literalValue` - literal value
Returns:
  literal low-level operator

### getFileFormatType

public Types.FileFormat getFileFormatType()
method to get format type for input, output files.

Returns:
  file format

### toString

public String toString()
Description copied from class: `Lop`
Method to have Lops print their state. This is for debugging purposes.

Specified by:
  `toString` in class `Lop`

### getOperationType

public Types.OpOpData getOperationType()
method to get operation type, i.e. read/write.

Returns:
  operation type

### getInputParams

public HashMap<String,Lop> getInputParams()
method to get inputParams

Returns:
  input parameters

### getNamedInputLop

public Lop getNamedInputLop(String name)

### getNamedInputLop

public Lop getNamedInputLop(String name, String defaultVal)

### isLiteral

public boolean isLiteral()
method to check if this data lop represents a literal.

Returns:
  true if data lop is a literal

### getBooleanValue

public boolean getBooleanValue()

### getDoubleValue

public double getDoubleValue()

### getLongValue

public long getLongValue()

### getStringValue

public String getStringValue()

### isPersistentWrite

public boolean isPersistentWrite()

### isPersistentRead

public boolean isPersistentRead()

### isTransientWrite

public boolean isTransientWrite()

### isTransientRead

public boolean isTransientRead()

### getInstructions

public String getInstructions(String input1, String input2)
Method to get CP instructions for reading/writing scalars and matrices from/to HDFS. This method generates CP read/write instructions.

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `input1` - input 1
  `input2` - output
Returns:
  instructions as string

### getInstructions

public String getInstructions()
Method to generate createvar instruction that updates symbol table with metadata, hdfsfile name, etc.

Overrides:
  `getInstructions` in class `Lop`
Returns:
  instructions as string

### getInstructions

public String getInstructions(String outputFileName)
Description copied from class: `Lop`
Method should be overridden if needed

Overrides:
  `getInstructions` in class `Lop`
Parameters:
  `outputFileName` - output
Returns:
  instructions as string

### getCreateVarInstructions

public String getCreateVarInstructions(String outputFileName, String outputLabel)