class_docstr: A DoFn that extracts slice keys in batch based on input SQL.
class_docstr_tok: ["A","DoFn","that","extracts","slice","keys","in","batch","based","on","input","SQL","."]
code: def __init__(self, slice_sqls: List[Text]):
      self._sqls = [
          format_slice_sql_query(slice_sql) for slice_sql in slice_sqls
      ]
      self._sql_slicer_schema_cache_hits = (
          beam.metrics.Metrics.distribution(
              constants.METRICS_NAMESPACE,
              "sql_slicer_schema_cache_hits",
          )
      )
      self._sql_slicer_schema_cache_misses = (
          beam.metrics.Metrics.distribution(
              constants.METRICS_NAMESPACE,
              "sql_slicer_schema_cache_misses",
          )
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  from collections import abc
  import functools
  import logging
  from typing import Any, Dict, Iterable, List, Optional, Text, Union, Tuple
  import apache_beam
  import numpy
  import pandas
  import pandas.core.computation.expressions
  import pyarrow
  import six
  from tensorflow_data_validation import constants
  from tensorflow_data_validation import types
  from tensorflow_data_validation.arrow import arrow_util
  from tensorflow_data_validation.utils import stats_util
  from tfx_bsl.arrow import array_util
  from tfx_bsl.arrow import sql_util
  from tfx_bsl.arrow import table_util
  from tfx_bsl.public.proto import slicing_spec_pb2
  from tensorflow_metadata.proto.v0 import statistics_pb2
label_desc: Use image node_id 1 to create a new GenerateSlicesSqlDoFn object from inherited base classes: beam with example: obj = GenerateSlicesSqlDoFn(slice_sqls)