code: def test_pyarrow(ray_start_regular_shared):
      ds = ray.data.range(5)
      assert ds.map(lambda x: {"b": x["id"] + 2}).take() == [
          {"b": 2},
          {"b": 3},
          {"b": 4},
          {"b": 5},
          {"b": 6},
      ]
      assert ds.map(lambda x: {"b": x["id"] + 2}).filter(
          lambda x: x["b"] % 2 == 0
      ).take() == [{"b": 2}, {"b": 4}, {"b": 6}]
      assert ds.filter(lambda x: x["id"] == 0).flat_map(
          lambda x: [{"b": x["id"] + 2}, {"b": x["id"] + 20}]
      ).take() == [{"b": 2}, {"b": 20}]
  
imports: import os
  import numpy
  import pandas
  import pyarrow
  import pytest
  import ray
  from ray.data._internal.arrow_ops.transform_pyarrow import concat, unify_schemas
  from ray.data.block import BlockAccessor
  from ray.data.extensions import ArrowTensorArray, ArrowTensorType, ArrowVariableShapedTensorType
label_desc: Use image node_id 14 for calling a global function with example usage: test_pyarrow(ray_start_regular_shared) without return types