code: def test_split_map_batches(ray_start_regular_shared):
      ctx = ray.data.context.DataContext.get_current()
      ctx.target_max_block_size = 20_000_000
      # Arrow block
      ctx.target_max_block_size = 20_000_000
      ds2 = ray.data.range(1000, parallelism=1).map(
          lambda _: ARROW_LARGE_VALUE
      )
      nblocks = len(
          ds2.map_batches(
              lambda x: x, batch_size=1
          ).get_internal_block_refs()
      )
      assert nblocks == 1, nblocks
      ctx.target_max_block_size = 2_000_000
      nblocks = len(
          ds2.map_batches(
              lambda x: x, batch_size=16
          ).get_internal_block_refs()
      )
      assert 4 < nblocks < 7, nblocks
  
file_path: ray/python/ray/data/tests/test_size_estimation.py
imports: import os
  import uuid
  import pytest
  import ray
  from ray.data._internal.arrow_block import ArrowBlockBuilder
  from ray.tests.conftest import *
label_desc: Use image node_id 9 for calling a global function with example usage: test_split_map_batches(ray_start_regular_shared) without return types