class_docstr: Class responsible for configuring Train dataset preprocessing.
  
  For advanced use cases, this class can be subclassed and the `configure()` method
  overriden for custom data preprocessing.
class_docstr_tok: ["Class","responsible","for","configuring","Train","dataset","preprocessing",".","For","advanced","use","cases",",","this","class","can","be","subclassed","and","the","`","configure","(",")","`","method","overriden","for","custom","data","preprocessing","."]
docstr: Construct a DataConfig.
  
  Args:
      datasets_to_split: Specifies which datasets should be split among workers.
          Can be set to "all" or a list of dataset names. Defaults to "all",
          i.e. split all datasets.
      execution_options: The execution options to pass to Ray Data. By default,
          the options will be optimized for data ingest. When overriding this,
          base your options off of `DataConfig.default_ingest_options()`.
docstr_tok: ["Construct","a","DataConfig",".","Args",":","datasets_to_split",":","Specifies","which","datasets","should","be","split","among","workers",".","Can","be","set","to","``","all","''","or","a","list","of","dataset","names",".","Defaults","to","``","all","''",",","i.e",".","split","all","datasets",".","execution_options",":","The","execution","options","to","pass","to","Ray","Data",".","By","default",",","the","options","will","be","optimized","for","data","ingest",".","When","overriding","this",",","base","your","options","off","of","`","DataConfig.default_ingest_options","(",")","`","."]
code: def __init__(
      self,
      datasets_to_split: Union[Literal["all"], List[str]] = "all",
      execution_options: Optional[ExecutionOptions] = None,
  ):
      """Construct a DataConfig.
  
      Args:
          datasets_to_split: Specifies which datasets should be split among workers.
              Can be set to "all" or a list of dataset names. Defaults to "all",
              i.e. split all datasets.
          execution_options: The execution options to pass to Ray Data. By default,
              the options will be optimized for data ingest. When overriding this,
              base your options off of `DataConfig.default_ingest_options()`.
      """
      if (
          isinstance(datasets_to_split, list)
          or datasets_to_split == "all"
      ):
          self._datasets_to_split = datasets_to_split
      else:
          raise TypeError(
              "`datasets_to_split` should be a 'all' or a list of strings of "
              "dataset names. Received "
              f"{type(datasets_to_split).__name__} with value {datasets_to_split}."
          )
  
      self._execution_options: ExecutionOptions = (
          execution_options or DataConfig.default_ingest_options()
      )
  
      self._num_train_cpus = 0.0
      self._num_train_gpus = 0.0
  
file_path: ray/python/ray/train/_internal/data_config.py
imports: import copy
  from typing import Dict, List, Literal, Optional, Union
  import ray
  from ray.actor import ActorHandle
  from ray.data import DataIterator, Dataset, ExecutionOptions, NodeIdStr
  from ray.data._internal.execution.interfaces.execution_options import ExecutionResources
  from ray.data.preprocessor import Preprocessor
  from ray.train.constants import TRAIN_DATASET_KEY
  from ray.util.annotations import DeveloperAPI, PublicAPI
label_desc: Use image node_id 1 to create a new DataConfig object  with example: obj = DataConfig(datasets_to_split, execution_options)