prestodb/presto · error · ParquetDecodingException
Dictionary encoding does not support:
Error message
Dictionary encoding does not support:
What it means
Dispatch guard in initDictionary: dictionary decoding has no Dictionary implementation for the column's physical type (only BINARY/FIXED_LEN_BYTE_ARRAY/INT96/INT64/DOUBLE/... are mapped). The writer used dictionary encoding on a type Presto cannot decode that way.
Source
Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:99
throws IOException
{
switch (descriptor.getType()) {
case BINARY:
return new BinaryDictionary(dictionaryPage);
case FIXED_LEN_BYTE_ARRAY:
return new BinaryDictionary(dictionaryPage, descriptor.getTypeLength());
case INT96:
return new BinaryDictionary(dictionaryPage, INT96_TYPE_LENGTH);
case INT64:
return new LongDictionary(dictionaryPage);
case DOUBLE:
return new DoubleDictionary(dictionaryPage);
case INT32:
return new IntegerDictionary(dictionaryPage);
case FLOAT:
return new FloatDictionary(dictionaryPage);
default:
throw new ParquetDecodingException("Dictionary encoding does not support: " + descriptor.getType());
}
}
},
RLE {
@Override
public ValuesReader getValuesReader(ColumnDescriptor descriptor, ValuesType valuesType)
{
int bitWidth = BytesUtils.getWidthFromMaxInt(getMaxLevel(descriptor, valuesType));
if (bitWidth == 0) {
return new ZeroIntegerValuesReader();
}
return new RunLengthBitPackingHybridValuesReader(bitWidth);
}
},
BIT_PACKED {
@OverrideView on GitHub (pinned to 55bb57d202)
Solutions
- Rewrite the file without dictionary encoding for that column (e.g. plain encoding)
- Cast/convert the column to a dictionary-supported physical type
- Upgrade Presto to a release with the missing dictionary decoder
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:99 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04).
Data as JSON: /api/errors/a007fb93745f5474.
Report an issue: GitHub.