Class SecondaryFilterRanges

java.lang.Object
ai.rapids.cudf.SecondaryFilterRanges

@Experimental public final class SecondaryFilterRanges extends Object
Pair of byte-range arrays returned by HybridScanReader.secondaryFiltersByteRanges(int[]).

The two arrays describe, for the input row groups:

  • bloom-filter ranges — file byte ranges containing per-column-chunk Parquet bloom filter blobs (no getter yet; see constructor parameter TODO);
  • dictionaryPageRanges() — file byte ranges of the column-chunk dictionary pages used for row-group pruning of (in)equality predicates.

Both arrays may be empty. The ordering follows the C++ reader's ordering and is meaningful: the i-th entry corresponds to the i-th column-chunk needing the respective filter.

Mirrors the std::pair<std::vector<byte_range_info>, std::vector<byte_range_info>> returned by hybrid_scan_reader::secondary_filters_byte_ranges.

The APIs in this file are experimental and subject to change.

  • Constructor Details

    • SecondaryFilterRanges

      public SecondaryFilterRanges(ByteRange[] bloomFilterRanges, ByteRange[] dictionaryPageRanges)
      Parameters:
      bloomFilterRanges - bloom-filter byte ranges (stored but not yet exposed via a getter; TODO: add bloomFilterRanges() once bloom filter writing is supported in ParquetWriterOptions)
      dictionaryPageRanges - dictionary-page byte ranges
  • Method Details

    • dictionaryPageRanges

      public ByteRange[] dictionaryPageRanges()
      Returns:
      a defensive copy of the dictionary-page byte ranges.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object