apache/druid · error · UnsupportedOperationException
Parque does not support nested tree extraction
Error message
Parque does not support nested tree extraction
What it means
Capability sentinel in ParquetGroupFlattenerMaker.makeJsonTreeExtractor: nested multi-node tree extraction (more than one path node) is not supported for parquet Group records; only single root-field access is implemented, so deeper nested tree expressions are rejected.
Solutions
- Use a JsonPath-based flattenSpec expression instead of a nested tree expression.
- Access the root field only, or preprocess data to flatten the nested structure at ingestion.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupFlattenerMaker.java:105 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/775c79a223473962.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupFlattenerMaker.java:105
return finalizeConversion(val);
};
}
@Nullable
@Override
public Function<Group, Object> makeJsonQueryExtractor(String expr)
{
throw new UnsupportedOperationException("Parquet does not support JQ");
}
@Override
public Function<Group, Object> makeJsonTreeExtractor(List<String> nodes)
{
if (nodes.size() == 1) {
return (Group group) -> getRootField(group, nodes.get(0));
}
throw new UnsupportedOperationException("Parque does not support nested tree extraction");
}
@Override
public JsonProvider getJsonProvider()
{
return parquetJsonProvider;
}
@Override
public Object finalizeConversionForMap(Object o)
{
return finalizeConversion(o);
}
/**
* {@link ParquetGroupConverter} lazily/non-recursively translates {@link Group} into plain java objects, which means
* garbage that downstream druid cannot understand can be left behind in list and map types, so we deal with it here.
*/View on GitHub (pinned to 9b90983fd2)