List

A List is represented either by an OperationNode, or the derived class List.

List can contain any of the other types: frame, matrix, scalar and itself list. The list can be handled like a dictionary or a list primitive, since both access patters are the same at dml script level.

Although it is possible to generate lists with the function calls or object construction specified below, the recommended way is to use the methods defined on SystemDSContext, to read in a list from disk, or construct one using either constructors array, dict or list provided in SystemDSContext.

class systemds.operator.List(sds_context, func='list', unnamed_input_nodes: str | Iterable[DAGNode | str | int | float | bool] = None, named_input_nodes: Dict[str, DAGNode | str | int | float | bool] = None)
__init__(sds_context, func='list', unnamed_input_nodes: str | Iterable[DAGNode | str | int | float | bool] = None, named_input_nodes: Dict[str, DAGNode | str | int | float | bool] = None)

Create general OperationNode

Parameters:
  • sds_context – The SystemDS context for performing the operations

  • operation – The name of the DML function to execute

  • unnamed_input_nodes – inputs identified by their position, not name

  • named_input_nodes – inputs with their respective parameter name

  • is_python_local_data – if the data is local in python e.g. Numpy arrays that this operation node returns multiple values. If set remember to set the output_types value as well.

compute(verbose: bool = False, lineage: bool = False) array

Get result of this operation. Builds the dml script and executes it in SystemDS, before this method is called all operations are only building the DAG without actually executing (lazy evaluation).

Parameters:
  • verbose – Can be activated to print additional information such as created DML-Script

  • lineage – Can be activated to print lineage trace till this node

Returns:

the output as an python builtin data type or numpy array

pass_python_data_to_prepared_script(sds, var_name: str, prepared_script: JavaObject) None

Passes data from python to the prepared script object.

Parameters:
  • jvm – the java virtual machine object

  • var_name – the variable name the data should get in java

  • prepared_script – the prepared script