code: def get_parquet_read_logical_op(
      ray_remote_args: Optional[Dict[str, Any]] = None,
      **read_kwargs,
  ) -> Read:
      datasource = ParquetDatasource(paths="example://iris.parquet")
      if "parallelism" not in read_kwargs:
          read_kwargs["parallelism"] = 10
      mem_size = None
      if "mem_size" in read_kwargs:
          mem_size = read_kwargs.pop("mem_size")
      read_op = Read(
          datasource=datasource,
          datasource_or_legacy_reader=datasource,
          mem_size=mem_size,
          ray_remote_args=ray_remote_args,
          **read_kwargs,
      )
      return read_op
  
file_path: ray/python/ray/data/tests/test_util.py
imports: import time
  from typing import Any, Dict, Optional
  from unittest.mock import patch
  import numpy
  import pytest
  import ray
  from ray.data._internal.logical.operators.read_operator import Read
  from ray.data._internal.memory_tracing import leak_report, trace_allocation, trace_deallocation
  from ray.data._internal.util import _check_pyarrow_version, _split_list
  from ray.data.datasource.parquet_datasource import ParquetDatasource
  from ray.data.tests.conftest import *
label_desc: Use image node_id 6 for calling a global function with example usage: get_parquet_read_logical_op(ray_remote_args) and returns: read_op