code: def snowflake_field_to_pyarrow_type(
      provided_type: SnowparkDataType,
  ) -> pa.DataType:
      """
      Converts Snowflake types to PyArrow equivalent types, raising a ValueError if they aren't comparable.
      See https://docs.snowflake.com/en/sql-reference/intro-summary-data-types
      """
      from snowflake.snowpark.types import (
          DecimalType as SnowparkDecimalType,
      )
  
      type_map = get_snowpark_to_pyarrow_types()
      if provided_type.__class__ in type_map:
          return type_map[provided_type.__class__]
  
      if isinstance(provided_type, SnowparkDecimalType):
          return pa.decimal128(
              provided_type.precision, provided_type.scale
          )
      else:
          raise ValueError(
              f"Unsupported Snowpark type: {provided_type}"
          )
  
file_path: vegafusion/python/vegafusion/vegafusion/dataset/snowpark.py
imports: import logging
  import pyarrow
  from .sql import SqlDataset
  from snowflake.snowpark import Table
  from snowflake.snowpark.types import DataType
  from typing import Dict
  from ..transformer import to_arrow_table
label_desc: Use image node_id 2 for calling a global function with example usage: snowflake_field_to_pyarrow_type(provided_type) and returns: type_map, pa