code: def setUpClass(cls):
      super(executor_test.ExecutorTest, cls).setUpClass()
      source_example_dir = os.path.join(
          cls._SOURCE_DATA_DIR, "csv_example_gen"
      )
  
      example_files = fileio.glob(
          os.path.join(source_example_dir, "*", "*")
      )
      schema_path = os.path.join(
          cls._SOURCE_DATA_DIR, "schema_gen", "schema.pbtxt"
      )
      schema = io_utils.SchemaReader().read(schema_path)
      # Read the example files, convert to parquet and make two copies.
      for filepath in example_files:
          directory, filename = os.path.split(filepath)
          _, parent_dir_name = os.path.split(directory)
          dest_dir1 = os.path.join(
              cls._ARTIFACT_URI_TEMPLATE.format(1), parent_dir_name
          )
          dest_dir2 = os.path.join(
              cls._ARTIFACT_URI_TEMPLATE.format(2), parent_dir_name
          )
          fileio.makedirs(dest_dir1)
          fileio.makedirs(dest_dir2)
          dest_path1 = os.path.join(
              dest_dir1, filename[:-3] + ".parquet"
          )
          dest_path2 = os.path.join(
              dest_dir2, filename[:-3] + ".parquet"
          )
          _copy_examples_as_parquet(
              filepath, [dest_path1, dest_path2], schema
          )
  
      # Duplicate the number of train and eval records such that
      # second artifact has twice as many as first.
      artifact2_pattern = os.path.join(
          cls._ARTIFACT_URI_TEMPLATE.format(2), "*", "*"
      )
      artifact2_files = fileio.glob(artifact2_pattern)
      for filepath in artifact2_files:
          directory, filename = os.path.split(filepath)
          io_utils.copy_file(
              filepath, os.path.join(directory, "dup_" + filename)
          )
  
file_path: tfx/tfx/components/transform/executor_on_parquet_test.py
imports: import os
  from typing import List
  import pyarrow
  import pyarrow.parquet
  import tensorflow
  from tfx.components.transform import executor
  from tfx.components.transform import executor_test
  from tfx.dsl.io import fileio
  from tfx.proto import example_gen_pb2
  from tfx.utils import io_utils
  from tfx_bsl.coders import example_coder
  from tensorflow_metadata.proto.v0 import schema_pb2
label_desc: Use image node_id 2 for calling the ExecutorOnParquetTest obj's underlying member method code with example usage: obj.setUpClass(cls) without return types