code: def check_dtype_support(meta_input: pd.DataFrame) -> None:
      import pandas as pd
  
      for name in meta_input:
          column = meta_input[name]
          # FIXME: PyArrow does not support complex numbers: https://issues.apache.org/jira/browse/ARROW-638
          if pd.api.types.is_complex_dtype(column):
              raise TypeError(
                  f"p2p does not support data of type '{column.dtype}' found in column '{name}'."
              )
          # FIXME: PyArrow does not support sparse data: https://issues.apache.org/jira/browse/ARROW-8679
          if isinstance(column.dtype, pd.SparseDtype):
              raise TypeError(
                  "p2p does not support sparse data found in column '{name}'"
              )
  
file_path: distributed/distributed/shuffle/_arrow.py
imports: from __future__ import annotations
  from collections.abc import Iterable
  from pathlib import Path
  from typing import TYPE_CHECKING
  from packaging.version import parse
  from dask.utils import parse_bytes
label_desc: Use image node_id 1 for calling a global function with example usage: check_dtype_support(meta_input) without return types