prestodb/presto · error · RuntimeException
Unknown primitive type
Error message
Unknown primitive type
What it means
Reverse-mapping guard in getType: a Parquet physical type name from the schema or metadata has no corresponding Presto Type (all known cases INT64..FIXED_LEN_BYTE_ARRAY exhausted). Encountered when reading metadata declaring an unknown/unsupported primitive type.
Source
Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/writer/ParquetTypeConverter.java:44
switch (type) {
case INT64:
return Type.INT64;
case INT32:
return Type.INT32;
case BOOLEAN:
return Type.BOOLEAN;
case BINARY:
return Type.BYTE_ARRAY;
case FLOAT:
return Type.FLOAT;
case DOUBLE:
return Type.DOUBLE;
case INT96:
return Type.INT96;
case FIXED_LEN_BYTE_ARRAY:
return Type.FIXED_LEN_BYTE_ARRAY;
default:
throw new RuntimeException("Unknown primitive type " + type);
}
}
}
View on GitHub (pinned to 55bb57d202)
Solutions
- Upgrade Presto to a version recognizing the primitive type
- Rewrite the file replacing the unknown type with a supported one
- Verify the schema source (e.g. embedded vs hive metastore) is not stale or wrong
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/writer/ParquetTypeConverter.java:44 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/528d307fed493a38.
Report an issue: GitHub.