class_docstr: An example datasource that generates rows with random int64 keys and a
  row of the given byte size.
  
  Examples:
      >>> source = RandomIntRowDatasource()
      >>> ray.data.read_datasource(source, n=10, row_size_bytes=2).take()
      ... {'c_0': 1717767200176864416, 'c_1': b"..."}
      ... {'c_0': 4983608804013926748, 'c_1': b"..."}
code: def prepare_read(
      self, parallelism: int, n: int, row_size_bytes: int
  ) -> List[ReadTask]:
      _check_pyarrow_version()
      import pyarrow
  
      read_tasks: List[ReadTask] = []
      block_size = max(1, n // parallelism)
      row = np.random.bytes(row_size_bytes)
  
      def make_block(count: int, row_size_bytes: int) -> Block:
          return pyarrow.Table.from_arrays(
              [
                  np.random.randint(
                      np.iinfo(np.int64).max,
                      size=(count,),
                      dtype=np.int64,
                  ),
                  [row for _ in range(count)],
              ],
              names=["c_0", "c_1"],
          )
  
      schema = pyarrow.Table.from_pydict(
          {
              "c_0": [0],
              "c_1": [row],
          }
      ).schema
  
      i = 0
      while i < n:
          count = min(block_size, n - i)
          meta = BlockMetadata(
              num_rows=count,
              size_bytes=count * (8 + row_size_bytes),
              schema=schema,
              input_files=None,
              exec_stats=None,
          )
          read_tasks.append(
              ReadTask(
                  lambda count=count, row_size_bytes=row_size_bytes: [
                      make_block(count, row_size_bytes)
                  ],
                  meta,
              )
          )
          i += block_size
  
      return read_tasks
  
file_path: ray/release/nightly_tests/dataset/sort.py
imports: import os
  import resource
  from typing import List
  import traceback
  import numpy
  import psutil
  from benchmark import Benchmark
  import ray
  from ray._private.internal_api import memory_summary
  from ray.data._internal.util import _check_pyarrow_version
  from ray.data.block import Block, BlockMetadata
  from ray.data.context import DataContext
  from ray.data.datasource import Datasource, ReadTask
label_desc: Use image node_id 1 for calling the RandomIntRowDatasource obj's underlying member method code with example usage: obj.prepare_read(parallelism, n, row_size_bytes) and returns: read_tasks, pyarrow