class_docstr: A StatsGenerator which computes statistics using a combiner function.
  
  This class computes statistics using a combiner function. It emits partial
  states processing a batch of examples at a time, merges the partial states,
  and finally computes the statistics from the merged partial state at the end.
  
  This object mirrors a beam.CombineFn except for the add_input interface, which
  is expected to be defined by its sub-classes. Specifically, the generator
  must implement the following four methods:
  
  Initializes an accumulator to store the partial state and returns it.
      create_accumulator()
  
  Incorporates a batch of input examples (represented as an arrow RecordBatch)
  into the current accumulator and returns the updated accumulator.
      add_input(accumulator, input_record_batch)
  
  Merge the partial states in the accumulators and returns the accumulator
  containing the merged state.
      merge_accumulators(accumulators)
  
  Compute statistics from the partial state in the accumulator and
  return the result as a DatasetFeatureStatistics proto.
      extract_output(accumulator)
docstr: Prepares an instance for combining.
  
  Subclasses should put costly initializations here instead of in
  __init__(), so that 1) the cost is properly recognized by Beam as
  setup cost (per worker) and 2) the cost is not paid at the pipeline
  construction time.
docstr_tok: ["Prepares","an","instance","for","combining",".","Subclasses","should","put","costly","initializations","here","instead","of","in","__init__","(",")",",","so","that","1",")","the","cost","is","properly","recognized","by","Beam","as","setup","cost","(","per","worker",")","and","2",")","the","cost","is","not","paid","at","the","pipeline","construction","time","."]
code: def setup(self) -> None:
      """Prepares an instance for combining.
  
      Subclasses should put costly initializations here instead of in
      __init__(), so that 1) the cost is properly recognized by Beam as
      setup cost (per worker) and 2) the cost is not paid at the pipeline
      construction time.
      """
      pass
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import abc
  from typing import Any, Dict, Generic, Hashable, Iterable, List, Optional, Text, TypeVar
  import apache_beam
  import pyarrow
  from tensorflow_data_validation import types
  from tensorflow_data_validation.statistics.generators import input_batch
  from tensorflow_metadata.proto.v0 import schema_pb2
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 1 for calling the CombinerStatsGenerator obj's underlying member method code with example usage: obj.setup() without return types