select_columns#

Dataset.select_columns(cols: str | List[str], *, compute: str | ComputeStrategy = None, concurrency: int | None = None, num_cpus: float | None = None, num_gpus: float | None = None, memory: float | None = None, label_selector: Dict[str, str] | None = None, fallback_strategy: List[Dict[str, Any]] | None = None, max_calls: int | None = None, resources: Dict[str, float] | None = None, accelerator_type: str | None = None, runtime_env: Dict[str, Any] | None = None, **ray_remote_args) Dataset[source]#

Select one or more columns from the dataset.

Specified columns must be in the dataset schema.

Tip

If you’re reading parquet files with ray.data.read_parquet(), you might be able to speed it up by using projection pushdown; see Parquet column pruning for details.

Examples

>>> import ray
>>> ds = ray.data.read_parquet("s3://anonymous@ray-example-data/iris.parquet")
>>> ds.schema()
Column        Type
------        ----
sepal.length  double
sepal.width   double
petal.length  double
petal.width   double
variety       string
>>> ds.select_columns(["sepal.length", "sepal.width"]).schema()
Column        Type
------        ----
sepal.length  double
sepal.width   double

Time complexity: O(dataset size / parallelism)

Parameters:
  • cols (str | List[str]) – Names of the columns to select. If a name isn’t in the dataset schema, an exception is raised. Columns also should be unique.

  • compute (str | ComputeStrategy) – This argument is deprecated. Use concurrency argument.

  • concurrency (int | None) – The maximum number of Ray workers to use concurrently.

  • num_cpus (float | None) – The number of CPUs to reserve for each worker.

  • num_gpus (float | None) – The number of GPUs to reserve for each worker.

  • memory (float | None) – The heap memory in bytes to reserve for each worker.

  • label_selector (Dict[str, str] | None) – Labels required on the node where each worker runs.

  • fallback_strategy (List[Dict[str, Any]] | None) – Alternative label requirements that Ray tries in order when label_selector can’t be satisfied.

  • max_calls (int | None) – The maximum number of calls a task worker handles before exiting. This option only applies to task workers.

  • resources (Dict[str, float] | None) – Custom resources to reserve for each worker, expressed as a mapping from resource name to quantity.

  • accelerator_type (str | None) – The accelerator type required on the node where each worker runs.

  • runtime_env (Dict[str, Any] | None) – The runtime environment to use for each worker.

  • **ray_remote_args – Additional resource requirements to request from Ray (e.g., num_gpus=1 to request GPUs for the map tasks). See ray.remote() for details. This argument is deprecated and will be removed in Ray 2.64.

Returns:

A new Dataset composed with the specified columns.

Return type:

Dataset