diff --git a/extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupConverter.java b/extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupConverter.java index 8cb193862e3..0aed764f127 100644 --- a/extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupConverter.java +++ b/extensions-core/parquet-extensions/src/main/java/org/apache/druid/data/input/parquet/simple/ParquetGroupConverter.java @@ -62,6 +62,10 @@ class ParquetGroupConverter final int fieldIndex = g.getType().getFieldIndex(fieldName); + if (g.getFieldRepetitionCount(fieldIndex) <= 0) { + return null; + } + Type fieldType = g.getType().getFields().get(fieldIndex); // primitive field @@ -269,7 +273,7 @@ class ParquetGroupConverter // convert logical types switch (ot) { case DATE: - long ts = g.getInteger(fieldIndex, 0) * MILLIS_IN_DAY; + long ts = g.getInteger(fieldIndex, index) * MILLIS_IN_DAY; return ts; case TIME_MICROS: return g.getLong(fieldIndex, index);