class_docstr: DP Query on DataFrames.
  
  Warning: Don't create it directly, use QueryBuilder().
class_docstr_tok: ["DP","Query","on","DataFrames",".","Warning",":","Do","n't","create","it","directly",",","use","QueryBuilder","(",")","."]
docstr: Constructor.
  
  Warning: Don't create it directly, use QueryBuilder().
  
  Args:
      df: DataFrame with data to be anonymized.
      columns: privacy_key, partition and value columns in df.
      metrics_output_columns: mapping from metrics to the output DataFrame
        column.
      contribution_bounds: contribution bounds for computing DP
        aggregation.
      public_partitions: public partitions, in case if they are known.
docstr_tok: ["Constructor",".","Warning",":","Do","n't","create","it","directly",",","use","QueryBuilder","(",")",".","Args",":","df",":","DataFrame","with","data","to","be","anonymized",".","columns",":","privacy_key",",","partition","and","value","columns","in","df",".","metrics_output_columns",":","mapping","from","metrics","to","the","output","DataFrame","column",".","contribution_bounds",":","contribution","bounds","for","computing","DP","aggregation",".","public_partitions",":","public","partitions",",","in","case","if","they","are","known","."]
code: def __init__(
      self,
      df: SparkDataFrame,
      columns: Columns,
      metrics_output_columns: Dict[pipeline_dp.Metric, str],
      contribution_bounds: ContributionBounds,
      public_partitions: Optional[Iterable],
  ):
      """Constructor.
  
      Warning: Don't create it directly, use QueryBuilder().
  
      Args:
          df: DataFrame with data to be anonymized.
          columns: privacy_key, partition and value columns in df.
          metrics_output_columns: mapping from metrics to the output DataFrame
            column.
          contribution_bounds: contribution bounds for computing DP
            aggregation.
          public_partitions: public partitions, in case if they are known.
      """
      self._df = df
      self._columns = columns
      self._metrics_output_columns = metrics_output_columns
      self._contribution_bounds = contribution_bounds
      self._public_partitions = public_partitions
  
imports: import abc
  import copy
  from collections import namedtuple
  from dataclasses import dataclass
  from typing import Any, Dict, Iterable, List, Optional, Sequence, Tuple, Union
  import pipeline_dp
  import pyspark
label_desc: Use image node_id 1 to create a new Query object  with example: obj = Query(df, columns, metrics_output_columns, contribution_bounds, public_partitions)