code: def buffers_to_table(data: list[tuple[int, bytes]]) -> pa.Table:
      import numpy as np
      import pyarrow as pa
  
      """Convert a list of arrow buffers and a schema to an Arrow Table"""
  
      def _create_input_partition_id_array(
          table: pa.Table, input_partition_id: int
      ) -> pa.ChunkedArray:
          arrays = (
              np.full((batch.num_rows,), input_partition_id)
              for batch in table.to_batches()
          )
          return pa.chunked_array(arrays)
  
      tables = (
          (input_partition_id, deserialize_table(buffer))
          for input_partition_id, buffer in data
      )
      tables = (
          table.append_column(
              _INPUT_PARTITION_ID_COLUMN,
              _create_input_partition_id_array(
                  table, input_partition_id
              ),
          )
          for input_partition_id, table in tables
      )
  
      return concat_tables(tables)
  
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 5 for calling a global function with example usage: buffers_to_table(data) and returns: concat_tables, pa