How to reproduce the missing kMultiRange filter in CUDF
Pre-requisite: A CUDF-Presto environment with an external Hive metadata store.
-
Copy the small test parquet file into a suitable location from where the parquet reader can access it. In the given example, the file is copied into
/gpfs/zc2/data/test_parquet/multirange. -
Create an external hive table that matches the parquet column names and types. The table points to the above parquet file as external data source:
create table hive.dnb.multirange (
col_0_float real,
col_1_double double,
col_2_string varchar
) with (
external_location = 'file:/gpfs/zc2/data/test_parquet/multirange',
format = 'PARQUET'
);
- Query the table with a multi-filter such as:
select * from hive.dnb.multirange where col_0_float>80.0 or col_0_float < 10.0;
This results in the following error message:
Query 20260202_113553_00017_jn6gk, FAILED, 2 nodes
Splits: 2 total, 0 done (0.00%)
[Latency: client-side: 165ms, server-side: 157ms] [0 rows, 0B] [0 rows/s, 0B/s]
Query 20260202_113553_00017_jn6gk failed: Filter type 18 not yet supported for subfield filter conversion
Split [Hive: file:/gpfs/zc2/data/test_parquet/multirange/floats.parquet 0 - 2699] Task 20260202_113553_00017_jn6gk.1.0.0.0 Operator: TableScan[0] 0