code: def _ImportParquetRecord(  # pylint: disable=invalid-name
      pipeline: beam.Pipeline,
      exec_properties: Dict[str, Any],
      split_pattern: str,
  ) -> beam.pvalue.PCollection:
      """Read parquet files to PCollection of records represented by dicts.
  
      Note that each input split will be transformed by this function separately.
  
      Args:
        pipeline: Beam pipeline.
        exec_properties: A dict of execution properties. - input_base: input dir
          that contains input data.
        split_pattern: Split.pattern in Input config, glob relative file pattern
          that maps to input files with root directory given by input_base.
  
      Returns:
        PCollection of parquet records represented by dictionaries.
      """
      input_base_uri = exec_properties[
          standard_component_specs.INPUT_BASE_KEY
      ]
      input_split_pattern = os.path.join(input_base_uri, split_pattern)
      logging.info(
          "Reading input Parquet data %s.", input_split_pattern
      )
  
      def _InferArrowSchema(file_pattern):
          any_file = fileio.glob(file_pattern)[0]
          return pq.read_schema(any_file)
  
      schema = _InferArrowSchema(input_split_pattern)
      exec_properties["pyarrow_schema"] = schema
      return pipeline | "ReadParquet" >> beam.io.ReadFromParquet(
          file_pattern=input_split_pattern
      )
  
file_path: tfx/tfx/components/example_gen/import_example_gen/executor.py
imports: import os
  from typing import Any, Dict, Union
  from absl import logging
  import apache_beam
  import pyarrow.parquet
  import tensorflow
  from tfx.components.example_gen import base_example_gen_executor
  from tfx.dsl.io import fileio
  from tfx.proto import example_gen_pb2
  from tfx.types import standard_component_specs
label_desc: Use image node_id 2 for calling a global function with example usage: _ImportParquetRecord(pipeline, exec_properties, split_pattern) and returns: unknown, pq