prestodb/presto · error · PrestoException
HIVE_UNSUPPORTED_FORMAT
HIVE_UNSUPPORTED_FORMAT
Error message
Output format %s with SerDe %s is not supported
What it means
extractHiveStorageFormat inspects the table's StorageFormat; when the output format / SerDe combination read from the metastore does not map to any known HiveStorageFormat, the connector cannot interpret the table's file format.
Source
Thrown at presto-hive/src/main/java/com/facebook/presto/hive/HiveMetadata.java:3566
if (session.getSqlFunctionProperties().isLegacyTimestamp() && !allowCorruptWritesForTesting && !timeZone.equals(DateTimeZone.getDefault())) {
throw new PrestoException(HIVE_TIMEZONE_MISMATCH, format(
"To write Hive data, your JVM timezone must match the Hive storage timezone. Add -Duser.timezone=%s to your JVM arguments.",
timeZone.getID()));
}
}
private static HiveStorageFormat extractHiveStorageFormat(Table table)
{
StorageFormat storageFormat = table.getStorage().getStorageFormat();
String outputFormat = storageFormat.getOutputFormat();
String serde = storageFormat.getSerDe();
for (HiveStorageFormat format : values()) {
if (format.getOutputFormat().equals(outputFormat) && format.getSerDe().equals(serde)) {
return format;
}
}
throw new PrestoException(HIVE_UNSUPPORTED_FORMAT, format("Output format %s with SerDe %s is not supported", outputFormat, serde));
}
private static Map<String, String> extractSerdeParameters(Map<String, String> tableParameters)
{
return tableParameters.entrySet().stream()
.filter(entry -> TEXTFILE_SERDE_KEYS.contains(entry.getKey()))
.collect(toImmutableMap(Map.Entry::getKey, Map.Entry::getValue));
}
@VisibleForTesting
static String encodePreferredOrderingColumns(List<SortingColumn> preferredOrderingColumns)
{
return Joiner.on(COMMA).join(preferredOrderingColumns.stream()
.map(SortingColumn::sortingColumnToString)
.collect(toImmutableList()));
}
@VisibleForTestingView on GitHub (pinned to 55bb57d202)
Solutions
- Alter the table to a supported output-format/SerDe combination
- Check for typos or custom SerDes in the metastore storage descriptor
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at presto-hive/src/main/java/com/facebook/presto/hive/HiveMetadata.java:3566 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/2855eaed74791a29.
Report an issue: GitHub.