Script

Note

OPS! For internal use!

class systemds.script_building.script.DMLScript(context: SystemDSContext)

DMLScript is the class used to describe our intended behavior in DML. This script can be then executed to get the results.

TODO caching

TODO rerun with different inputs without recompilation

add_code(code: str) → None

Add a dml code line to our script

Parameters

code – the dml code line

add_input_from_python(var_name: str, input_var: systemds.script_building.dag.DAGNode) → None

Add an input for our preparedScript. Should only be executed for data that is python local.

Parameters
  • var_name – name of variable

  • input_var – the DAGNode object which has data

build_code(dag_root: systemds.script_building.dag.DAGNode) → None

Builds code from our DAG

Parameters

dag_root – the topmost operation of our DAG, result of operation will be output

execute(lineage: bool = False) → Union[py4j.java_gateway.JavaObject, Tuple[py4j.java_gateway.JavaObject, str]]

If not already created, create a preparedScript from our DMLCode, pass python local data to our prepared script, then execute our script and return the resultVariables

Returns

resultVariables of our execution