merlin.dag.Operator#
- class merlin.dag.Operator[source]#
Bases:
object
Base class for all operator classes.
- __init__()#
Methods
__init__
()column_mapping
(col_selector)Compute which output columns depend on which input columns
compute_column_schema
(col_name, input_schema)compute_input_schema
(root_schema, ...)Given the schemas coming from upstream sources and a column selector for the input columns, returns a set of schemas for the input columns this operator will use
compute_output_schema
(input_schema, col_selector)Given a set of schemas and a column selector for the input columns, returns a set of schemas for the transformed columns this operator will produce
compute_selector
(input_schema, selector[, ...])Provides a hook method for sub-classes to override to implement custom column selection logic.
create_node
(selector)export
(path, input_schema, output_schema, ...)Export the class object as a config and all related files to the user defined path.
load_artifacts
([artifact_path])Load artifacts from disk required for operator function.
output_column_names
(col_selector)Given a set of columns names returns the names of the transformed columns this operator will produce
save_artifacts
([artifact_path])Save artifacts required to be reload operator state from disk
transform
(col_selector, transformable)Transform the dataframe by applying this operator to the set of input columns
validate_schemas
(parents_schema, ...[, ...])Provides a hook method that sub-classes can override to implement schema validation logic.
Attributes
Defines an optional list of column dependencies for this operator.
Provides a clear common english identifier for this operator.
Returns what kind of data representation this operator supports
- compute_selector(input_schema: Schema, selector: ColumnSelector, parents_selector: ColumnSelector | None = None, dependencies_selector: ColumnSelector | None = None) ColumnSelector [source]#
Provides a hook method for sub-classes to override to implement custom column selection logic.
- Parameters:
input_schema (Schema) – Schemas of the columns to apply this operator to
selector (ColumnSelector) – Column selector to apply to the input schema
parents_selector (ColumnSelector) – Combined selectors of the upstream parents feeding into this operator
dependencies_selector (ColumnSelector) – Combined selectors of the upstream dependencies feeding into this operator
- Returns:
Revised column selector to apply to the input schema
- Return type:
- compute_input_schema(root_schema: Schema, parents_schema: Schema, deps_schema: Schema, selector: ColumnSelector) Schema [source]#
Given the schemas coming from upstream sources and a column selector for the input columns, returns a set of schemas for the input columns this operator will use
- Parameters:
root_schema (Schema) – Base schema of the dataset before running any operators.
parents_schema (Schema) – The combined schemas of the upstream parents feeding into this operator
deps_schema (Schema) – The combined schemas of the upstream dependencies feeding into this operator
col_selector (ColumnSelector) – The column selector to apply to the input schema
- Returns:
The schemas of the columns used by this operator
- Return type:
- compute_output_schema(input_schema: Schema, col_selector: ColumnSelector, prev_output_schema: Schema | None = None) Schema [source]#
Given a set of schemas and a column selector for the input columns, returns a set of schemas for the transformed columns this operator will produce
- Parameters:
input_schema (Schema) – The schemas of the columns to apply this operator to
col_selector (ColumnSelector) – The column selector to apply to the input schema
- Returns:
The schemas of the columns produced by this operator
- Return type:
- validate_schemas(parents_schema: Schema, deps_schema: Schema, input_schema: Schema, output_schema: Schema, strict_dtypes: bool = False)[source]#
Provides a hook method that sub-classes can override to implement schema validation logic.
Sub-class implementations should raise an exception if the schemas are not valid for the operations they implement.
- Parameters:
parents_schema (Schema) – The combined schemas of the upstream parents feeding into this operator
deps_schema (Schema) – The combined schemas of the upstream dependencies feeding into this operator
input_schema (Schema) – The schemas of the columns to apply this operator to
output_schema (Schema) – The schemas of the columns produced by this operator
strict_dtypes (Boolean, optional) – Enables strict checking for column dtype matching if True, by default False
- transform(col_selector: ColumnSelector, transformable: Transformable) Transformable [source]#
Transform the dataframe by applying this operator to the set of input columns
- Parameters:
col_selector (ColumnSelector) – The columns to apply this operator to
transformable (Transformable) – A pandas or cudf dataframe that this operator will work on
- Returns:
Returns a transformed dataframe or dictarray for this operator
- Return type:
Transformable
- column_mapping(col_selector)[source]#
Compute which output columns depend on which input columns
- Parameters:
col_selector (ColumnSelector) – A selector containing a list of column names
- Returns:
Mapping from output column names to list of the input columns they rely on
- Return type:
- load_artifacts(artifact_path: PathLike | None = None)[source]#
Load artifacts from disk required for operator function.
- Parameters:
artifact_path (str) – The path where artifacts are loaded from
- save_artifacts(artifact_path: PathLike | None = None) None [source]#
Save artifacts required to be reload operator state from disk
- Parameters:
artifact_path (str) – The path where artifacts are to be saved
- property dynamic_dtypes#
- property is_subgraph#
- output_column_names(col_selector: ColumnSelector) ColumnSelector [source]#
Given a set of columns names returns the names of the transformed columns this operator will produce
- property dependencies: List[str | Any]#
Defines an optional list of column dependencies for this operator. This lets you consume columns that aren’t part of the main transformation workflow.
- Returns:
Extra dependencies of this operator. Defaults to None
- Return type:
str, list of str or ColumnSelector, optional
- property output_dtype#
- property output_tags#
- property output_properties#
- property supports: Supports#
Returns what kind of data representation this operator supports
- property supported_formats: DataFormats#
- property export_name#
Provides a clear common english identifier for this operator.
- Returns:
Name of the current class as spelled in module.
- Return type:
String
- export(path: str, input_schema: Schema, output_schema: Schema, **kwargs)[source]#
Export the class object as a config and all related files to the user defined path.
- Parameters:
path (str) – Artifact export path
input_schema (Schema) – A schema with information about the inputs to this operator.
output_schema (Schema) – A schema with information about the outputs of this operator.
params (dict, optional) – Parameters dictionary of key, value pairs stored in exported config, by default None.
node_id (int, optional) – The placement of the node in the graph (starts at 1), by default None.
version (int, optional) – The version of the operator, by default 1.
- Returns:
model_config – The config for the exported operator.
- Return type: