code: def get_parquet_engine() -> str:
      if find_spec("pyarrow") is not None:
          return "pyarrow"
      elif find_spec("fastparquet") is not None:
          return "fastparquet"
      else:
          logger.warning(
              "Neither pyarrow nor fastparquet packages found. Parquet de/serialization will not be available."
          )
          raise MissingDependencyException(
              "Parquet serialization is not available. Try installing pyarrow or fastparquet first."
          )
  
imports: from __future__ import annotations
  import functools
  import io
  import logging
  import os
  import typing
  from concurrent.futures import ThreadPoolExecutor
  from enum import Enum
  from starlette.requests import Request
  from starlette.responses import Response
  from ...exceptions import BadInput
  from ...exceptions import InvalidArgument
  from ...exceptions import MissingDependencyException
  from ...exceptions import UnprocessableEntity
  from ...grpc.utils import import_generated_stubs
  from ..service.openapi import SUCCESS_DESCRIPTION
  from ..service.openapi.specification import MediaType
  from ..service.openapi.specification import Schema
  from ..types import LazyType
  from ..utils.http import set_cookies
  from ..utils.lazy_loader import LazyLoader
  from ..utils.pkg import find_spec
  from .base import IODescriptor
label_desc: Use image node_id 1 for calling a global function with example usage: get_parquet_engine() and returns: str, str