class_docstr: A bound read operation for a :class:`~ray.data.Datasource`.
  
  This is a stateful class so that reads can be prepared in multiple stages.
  For example, it is useful for :class:`Datasets <ray.data.Dataset>` to know the
  in-memory size of the read prior to executing it.
class_docstr_tok: ["A","bound","read","operation","for","a",":","class",":","`","~ray.data.Datasource","`",".","This","is","a","stateful","class","so","that","reads","can","be","prepared","in","multiple","stages",".","For","example",",","it","is","useful","for",":","class",":","`","Datasets","<","ray.data.Dataset",">","`","to","know","the","in-memory","size","of","the","read","prior","to","executing","it","."]
docstr: Execute the read and return read tasks.
  
  Args:
      parallelism: The requested read parallelism. The number of read
          tasks should equal to this value if possible.
      read_args: Additional kwargs to pass to the datasource impl.
  
  Returns:
      A list of read tasks that can be executed to read blocks from the
      datasource in parallel.
docstr_tok: ["Execute","the","read","and","return","read","tasks",".","Args",":","parallelism",":","The","requested","read","parallelism",".","The","number","of","read","tasks","should","equal","to","this","value","if","possible",".","read_args",":","Additional","kwargs","to","pass","to","the","datasource","impl",".","Returns",":","A","list","of","read","tasks","that","can","be","executed","to","read","blocks","from","the","datasource","in","parallel","."]
code: def get_read_tasks(self, parallelism: int) -> List["ReadTask"]:
      """Execute the read and return read tasks.
  
      Args:
          parallelism: The requested read parallelism. The number of read
              tasks should equal to this value if possible.
          read_args: Additional kwargs to pass to the datasource impl.
  
      Returns:
          A list of read tasks that can be executed to read blocks from the
          datasource in parallel.
      """
      raise NotImplementedError
  
imports: import warnings
  from typing import Any, Callable, Iterable, List, Optional
  import numpy
  import ray
  from ray.data._internal.execution.interfaces import TaskContext
  from ray.data._internal.util import _check_pyarrow_version
  from ray.data.block import Block, BlockAccessor, BlockMetadata
  from ray.data.context import DataContext
  from ray.types import ObjectRef
  from ray.util.annotations import Deprecated, DeveloperAPI, PublicAPI
label_desc: Use image node_id 2 for calling the Reader obj's underlying member method code with example usage: obj.get_read_tasks(parallelism) without return types