_base_transformation_visitor#
Defines a base class for visitors for transformations.
Classes#
A base visitor to create a transformation from a query expression. |
- class BaseTransformationVisitor(input_domain, input_metric, mechanism, public_sources, table_constraints)#
Bases:
tmlt.analytics.query_expr.QueryExprVisitor
A base visitor to create a transformation from a query expression.
# A container for the outputs of the visitor.
# Ensure that a query’s transformation is valid on a given catalog.
Get the inner metric used by this TransformationVisitor.
Create a transformation from a PrivateSource query expression.
Create a transformation from a Rename query expression.
Create a transformation from a FilterExpr query expression.
Create a transformation from a Select query expression.
Create a transformation from a Map query expression.
Build a Transformation for a FlatMap query expression with grouping=False.
Build a Transformation for a FlatMap query expression with grouping=True.
Create a transformation from a FlatMap query expression.
Build a Transformation for a private join.
Create a transformation from a JoinPrivate query expression.
Create a transformation from a JoinPublic query expression.
Create a transformation from a ReplaceNullAndNan query expression.
Create a transformation from a ReplaceInfinity query expression.
Create a transformation from a DropInfinity query expression.
Create a transformation from a DropNullAndNan query expression.
Create a transformation from an EnforceConstraint query expression.
Visit a GetGroups query expression (raises an error).
Visit a GroupByCount query expression (raises an error).
Visit a GroupByCountDistinct query expression (raises an error).
Visit a GroupByQuantile query expression (raises an error).
Visit a GroupByBoundedSum query expression (raises an error).
Visit a GroupByBoundedAverage query expression (raises an error).
Visit a GroupByBoundedVariance query expression (raises an error).
Visit a GroupByBoundedSTDEV query expression (raises an error).
- Parameters
input_domain (tmlt.core.domains.collections.DictDomain) –
input_metric (tmlt.core.metrics.DictMetric) –
mechanism (tmlt.core.measurements.aggregations.NoiseMechanism) –
public_sources (Dict[str, pyspark.sql.DataFrame]) –
table_constraints (Dict[tmlt.analytics._table_identifier.Identifier, List[tmlt.analytics.constraints.Constraint]]) –
- class Output#
Bases:
NamedTuple
A container for the outputs of the visitor.
- __init__(input_domain, input_metric, mechanism, public_sources, table_constraints)#
Constructor for a TransformationVisitor.
- Parameters
input_domain (
DictDomain
DictDomain
) – The input domain that the transformation should have.input_metric (
DictMetric
DictMetric
) – The input metric that the transformation should have.mechanism (
NoiseMechanism
NoiseMechanism
) – The noise mechanism (only used for FlatMaps).public_sources ({
str
:DataFrame
}Dict
[str
,DataFrame
]) – Public sources to use for JoinPublic queries.table_constraints ({
Identifier
:List
[Constraint
]}Dict
[Identifier
,List
[Constraint
]]) – A mapping of tables to the existing constraints on them.
- validate_transformation(query, transformation, reference, catalog)#
Ensure that a query’s transformation is valid on a given catalog.
- Parameters
query (tmlt.analytics.query_expr.QueryExpr) –
transformation (tmlt.core.transformations.base.Transformation) –
reference (tmlt.analytics._table_reference.TableReference) –
catalog (tmlt.analytics._catalog.Catalog) –
- inner_metric()#
Get the inner metric used by this TransformationVisitor.
- Return type
Union[tmlt.core.metrics.SumOf, tmlt.core.metrics.RootSumOfSquared]
- visit_private_source(expr)#
Create a transformation from a PrivateSource query expression.
- Return type
- visit_rename(expr)#
Create a transformation from a Rename query expression.
- Parameters
expr (tmlt.analytics.query_expr.Rename) –
- Return type
- visit_filter(expr)#
Create a transformation from a FilterExpr query expression.
- Parameters
expr (tmlt.analytics.query_expr.Filter) –
- Return type
- visit_select(expr)#
Create a transformation from a Select query expression.
- Parameters
expr (tmlt.analytics.query_expr.Select) –
- Return type
- visit_map(expr)#
Create a transformation from a Map query expression.
- Parameters
expr (tmlt.analytics.query_expr.Map) –
- Return type
- build_flat_map(input_metric, row_transformer, max_rows)#
Build a Transformation for a FlatMap query expression with grouping=False.
- Parameters
input_metric (Union[tmlt.core.metrics.IfGroupedBy, tmlt.core.metrics.SymmetricDifference]) –
row_transformer (tmlt.core.transformations.spark_transformations.map.RowToRowsTransformation) –
max_rows (Optional[int]) –
- Return type
tmlt.core.transformations.base.Transformation
- build_grouping_flat_map(inner_metric, row_transformer, max_rows)#
Build a Transformation for a FlatMap query expression with grouping=True.
- Parameters
inner_metric (Union[tmlt.core.metrics.SumOf, tmlt.core.metrics.RootSumOfSquared]) –
row_transformer (tmlt.core.transformations.spark_transformations.map.RowToRowsTransformation) –
max_rows (int) –
- Return type
tmlt.core.transformations.base.Transformation
- visit_flat_map(expr)#
Create a transformation from a FlatMap query expression.
- Parameters
expr (tmlt.analytics.query_expr.FlatMap) –
- Return type
- build_private_join_transformation(input_domain, left_key, right_key, left_truncation_strategy, right_truncation_strategy, left_truncation_threshold, right_truncation_threshold, join_cols=None, join_on_nulls=False)#
Build a Transformation for a private join.
- Parameters
input_domain (tmlt.core.domains.collections.DictDomain) –
left_key (Any) –
right_key (Any) –
left_truncation_strategy (tmlt.core.transformations.spark_transformations.join.TruncationStrategy) –
right_truncation_strategy (tmlt.core.transformations.spark_transformations.join.TruncationStrategy) –
left_truncation_threshold (int) –
right_truncation_threshold (int) –
join_cols (Union[List[str], None]) –
join_on_nulls (bool) –
- Return type
tmlt.core.transformations.base.Transformation
- visit_join_private(expr)#
Create a transformation from a JoinPrivate query expression.
- Parameters
- Return type
- visit_join_public(expr)#
Create a transformation from a JoinPublic query expression.
- Parameters
expr (tmlt.analytics.query_expr.JoinPublic) –
- Return type
- visit_replace_null_and_nan(expr)#
Create a transformation from a ReplaceNullAndNan query expression.
- Parameters
- Return type
- visit_replace_infinity(expr)#
Create a transformation from a ReplaceInfinity query expression.
- Parameters
- Return type
- visit_drop_infinity(expr)#
Create a transformation from a DropInfinity query expression.
- Parameters
- Return type
- visit_drop_null_and_nan(expr)#
Create a transformation from a DropNullAndNan query expression.
- Parameters
- Return type
- visit_enforce_constraint(expr)#
Create a transformation from an EnforceConstraint query expression.
- Parameters
- Return type
- abstract visit_get_groups(expr)#
Visit a GetGroups query expression (raises an error).
- Parameters
expr (tmlt.analytics.query_expr.GetGroups) –
- Return type
Any
- abstract visit_groupby_count(expr)#
Visit a GroupByCount query expression (raises an error).
- Parameters
- Return type
Any
- abstract visit_groupby_count_distinct(expr)#
Visit a GroupByCountDistinct query expression (raises an error).
- Parameters
- Return type
Any
- abstract visit_groupby_quantile(expr)#
Visit a GroupByQuantile query expression (raises an error).
- Parameters
- Return type
Any
- abstract visit_groupby_bounded_sum(expr)#
Visit a GroupByBoundedSum query expression (raises an error).
- Parameters
- Return type
Any
- abstract visit_groupby_bounded_average(expr)#
Visit a GroupByBoundedAverage query expression (raises an error).
- Parameters
- Return type
Any
- abstract visit_groupby_bounded_variance(expr)#
Visit a GroupByBoundedVariance query expression (raises an error).
- Parameters
- Return type
Any
- abstract visit_groupby_bounded_stdev(expr)#
Visit a GroupByBoundedSTDEV query expression (raises an error).
- Parameters
- Return type
Any