code: def test_parquet_read_partitioned_with_columns(
      ray_start_regular_shared, fs, data_path
  ):
      data = {
          "x": [0, 0, 1, 1, 2, 2],
          "y": ["a", "b", "a", "b", "a", "b"],
          "z": [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],
      }
      table = pa.Table.from_pydict(data)
  
      pq.write_to_dataset(
          table,
          root_path=_unwrap_protocol(data_path),
          filesystem=fs,
          use_legacy_dataset=False,
          partition_cols=["x", "y"],
      )
  
      ds = ray.data.read_parquet(
          _unwrap_protocol(data_path),
          columns=["y", "z"],
          filesystem=fs,
      )
      assert ds.columns() == ["y", "z"]
      values = [[s["y"], s["z"]] for s in ds.take()]
      check_num_computed(ds, 2, 0)
      assert sorted(values) == [
          ["a", 0.1],
          ["a", 0.3],
          ["a", 0.5],
          ["b", 0.2],
          ["b", 0.4],
          ["b", 0.6],
      ]
  
imports: import os
  import shutil
  from typing import Any
  import numpy
  import pandas
  import pyarrow
  import pyarrow.parquet
  import pytest
  from pytest_lazyfixture import lazy_fixture
  import ray
  from ray.data.block import BlockAccessor
  from ray.data.context import DataContext
  from ray.data.datasource import DefaultFileMetadataProvider, DefaultParquetMetadataProvider
  from ray.data.datasource.parquet_base_datasource import ParquetBaseDatasource
  from ray.data.datasource.parquet_datasource import NUM_CPUS_FOR_META_FETCH_TASK, PARALLELIZE_META_FETCH_THRESHOLD, RETRY_EXCEPTIONS_FOR_META_FETCH_TASK, ParquetDatasource, _deserialize_fragments_with_retry, _SerializedFragment
  from ray.data.datasource.path_util import _unwrap_protocol
  from ray.data.tests.conftest import *
  from ray.data.tests.mock_http_server import *
  from ray.tests.conftest import *
label_desc: Use image node_id 11 for calling a global function with example usage: test_parquet_read_partitioned_with_columns(ray_start_regular_shared, fs, data_path) without return types