code: def test_parquet_read_filter_and_project(tmpdir):
      # Filter on columns that are not included
      # in the current column projection
  
      # Write parquet data
      path = str(tmpdir.join("test.parquet"))
      df = cudf.DataFrame(
          {
              "a": [1, 2, 3, 4, 5] * 10,
              "b": [0, 1, 2, 3, 4] * 10,
              "c": range(50),
              "d": [6, 7] * 25,
              "e": [8, 9] * 25,
          }
      )
      df.to_parquet(path)
  
      # Read back with filter and projection
      columns = ["b"]
      filters = [[("a", "==", 5), ("c", ">", 20)]]
      got = dask_cudf.read_parquet(
          path, columns=columns, filters=filters
      )
  
      # Check result
      expected = df[(df.a == 5) & (df.c > 20)][columns].reset_index(
          drop=True
      )
      dd.assert_eq(got, expected)
  
imports: import glob
  import math
  import os
  import numpy
  import pandas
  import pytest
  import dask
  from dask import dataframe
  from dask.utils import natural_sort_key
  import cudf
  import dask_cudf
label_desc: Use image node_id 25 for calling a global function with example usage: test_parquet_read_filter_and_project(tmpdir) without return types