Dag

Note

OPS! For internal use!

class systemds.script_building.dag.DAGNode

A Node in the directed-acyclic-graph (DAG) defining all operations.

code_line(var_name: str, unnamed_input_vars: Sequence[str], named_input_vars: Dict[str, str]) str

Generates the DML code line equal to the intended action of this node.

Parameters:
  • var_name – Name of DML-variable this nodes result should be saved in

  • unnamed_input_vars – all strings representing the unnamed parameters

  • named_input_vars – all strings representing the named parameters (name value pairs)

Returns:

the DML code line that is equal to this operation

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

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

get_lineage_trace() str

Get lineage trace of this operation. This executes the dml script but unlike compute, doesn’t store the results

pass_python_data_to_prepared_script(jvm: JVMView, 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

class systemds.script_building.dag.OutputType(value)

An enumeration.