prestodb/presto · error · PrestoException
HIVE_PARTITION_SCHEMA_MISMATCH
HIVE_PARTITION_SCHEMA_MISMATCH
Error message
There is a mismatch between the table and partition schemas. The column '%s' in table '%s.%s' is declared as type '%s', but partition '%s' declared column '%s' as type '%s'.
What it means
Error "There is a mismatch between the table and partition schemas. The column '%s' in table '%s.%s' is declared as type '%s', but partition '%s' declared column '%s' as type '%s'." thrown in prestodb/presto.
Source
Thrown at presto-hive/src/main/java/com/facebook/presto/hive/HiveWriterFactory.java:595
}
if (fileColumnNames.size() != fileColumnHiveTypes.size()) {
throw new PrestoException(HIVE_INVALID_METADATA, format(
"Partition '%s' in table '%s.%s' has mismatched metadata for column names and types",
partitionName,
schemaName,
tableName));
}
// verify the file types match the input type
// todo adapt input types to the file types as Hive does
for (int fileIndex = 0; fileIndex < fileColumnNames.size(); fileIndex++) {
String columnName = fileColumnNames.get(fileIndex);
HiveType fileColumnHiveType = fileColumnHiveTypes.get(fileIndex);
HiveType inputHiveType = inputColumnMap.get(columnName).getHiveType();
if (!fileColumnHiveType.equals(inputHiveType)) {
// todo this should be moved to a helper
throw new PrestoException(HIVE_PARTITION_SCHEMA_MISMATCH, format(
"" +
"There is a mismatch between the table and partition schemas. " +
"The column '%s' in table '%s.%s' is declared as type '%s', " +
"but partition '%s' declared column '%s' as type '%s'.",
columnName,
schemaName,
tableName,
inputHiveType,
partitionName,
columnName,
fileColumnHiveType));
}
}
}
private Consumer<HiveWriter> createCommitEventListener(
Path path,
Optional<String> partitionName,View on GitHub (pinned to 55bb57d202)
Solutions
- Fix the partition metadata via ALTER or by recreating the partition so its column type matches the table
- Drop and re-create the partition with consistent types
- Cast data during a rewrite to reconcile types
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at presto-hive/src/main/java/com/facebook/presto/hive/HiveWriterFactory.java:595 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/b95204e71f95ae2c.
Report an issue: GitHub.