The PARQUET_DICTIONARY_FILTERING query option controls whether Impala
uses dictionary filtering for Parquet files.
To efficiently process a highly selective scan query, when this option is enabled, Impala checks the values in the Parquet dictionary page and determines if the whole row group can be thrown out.
encoding_stats is in the Parquet file, dictionary filtering
uses it to determine if there are only dictionary encoded pages (i.e. there are no
data pages with an encoding other than RLE_DICTIONARY or
PLAIN_DICTIONARY).
PLAIN_DICTIONARY or RLE_DICTIONARY is present.
PLAIN_DICTIONARY, RLE_DICTIONARY,
RLE, or BIT_PACKED encodings are listed.
In the query runtime profile output for each Impalad instance, the
NumDictFilteredRowGroups field in the SCAN node section shows the number
of row groups that were skipped based on dictionary filtering.
Note that row groups can be filtered out by Parquet statistics, and in such cases, dictionary filtering will not be considered.
true (1): Use dictionary filtering.
false (0): Do not use dictionary filtering
false.
Type: Boolean
Default: true (1)
Added in: Impala 2.9.0