{"record":{"id":"4ae075933781f954","repo":"apache/druid","slug":"parquet-does-not-support-jq","errorCode":null,"errorMessage":"Parquet does not support JQ","messagePattern":"Parquet does not support JQ","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupFlattenerMaker.java","lineNumber":95,"sourceCode":"    Object val = converter.convertField(obj, key);\n    return finalizeConversion(val);\n  }\n\n  @Override\n  public Function<Group, Object> makeJsonPathExtractor(String expr)\n  {\n    final JsonPath jsonPath = JsonPath.compile(expr);\n    return record -> {\n      Object val = jsonPath.read(record, jsonPathConfiguration);\n      return finalizeConversion(val);\n    };\n  }\n\n  @Nullable\n  @Override\n  public Function<Group, Object> makeJsonQueryExtractor(String expr)\n  {\n    throw new UnsupportedOperationException(\"Parquet does not support JQ\");\n  }\n\n  @Override\n  public Function<Group, Object> makeJsonTreeExtractor(List<String> nodes)\n  {\n    if (nodes.size() == 1) {\n      return (Group group) -> getRootField(group, nodes.get(0));\n    }\n\n    throw new UnsupportedOperationException(\"Parque does not support nested tree extraction\");\n  }\n\n  @Override\n  public JsonProvider getJsonProvider()\n  {\n    return parquetJsonProvider;\n  }\n","sourceCodeStart":77,"sourceCodeEnd":113,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupFlattenerMaker.java#L77-L113","documentation":"Capability sentinel in ParquetGroupFlattenerMaker.makeJsonQueryExtractor: flatten expressions using JQ (JSON query) syntax are not implemented for parquet Group records; only JsonPath and nested-field extraction are supported, so requesting a JQ extractor is rejected up front.","triggerScenarios":"Thrown at extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupFlattenerMaker.java:95 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Rewrite the flattenSpec expression to use JsonPath syntax instead of JQ.","Use plain nested field paths (makeJsonTreeExtractor style) for top-level or single-node access."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}