code: def check_col_str_list_exists(
      df: "SparkDataFrame", column: Union[List[str], str], arg_name: str
  ) -> None:
      if isinstance(column, str):
          invalidInputError(
              column in df.columns,
              column + " in " + arg_name + " does not exist in Table",
          )
      elif isinstance(column, list):
          for single_column in column:
              invalidInputError(
                  single_column in df.columns,
                  "{} in {} does not exist in Table".format(
                      single_column, arg_name
                  ),
              )
      else:
          invalidInputError(
              False,
              "elements in cat_cols should be str or list of str but"
              " get " + str(column),
          )
  
imports: from bigdl.dllib.utils.file_utils import callZooFunc
  from pyspark.sql.types import IntegerType, ShortType, LongType, FloatType, DecimalType, DoubleType, BooleanType
  from pyspark.sql.functions import broadcast, udf
  from bigdl.dllib.utils.log4Error import *
  import warnings
  from bigdl.dllib.utils.log4Error import *
  from typing import TYPE_CHECKING, Any, List, Optional, Tuple, Union
label_desc: Use image node_id 20 for calling a global function with example usage: check_col_str_list_exists(df, column, arg_name) without return types