diff --git a/presto-parquet/pom.xml b/presto-parquet/pom.xml index 69e002e7f883c..f0f3b6d936a8c 100644 --- a/presto-parquet/pom.xml +++ b/presto-parquet/pom.xml @@ -42,9 +42,124 @@ presto-memory-context + + org.apache.parquet + parquet-column + ${dep.parquet.version} + + + org.apache.yetus + audience-annotations + + + + + + org.apache.parquet + parquet-hadoop + ${dep.parquet.version} + + + org.apache.yetus + audience-annotations + + + org.apache.hadoop + hadoop-client + + + + + + org.apache.parquet + parquet-common + ${dep.parquet.version} + + + org.apache.parquet + parquet-format + + + org.apache.yetus + audience-annotations + + + org.slf4j + slf4j-api + + + + + + org.apache.parquet + parquet-encoding + ${dep.parquet.version} + + + org.apache.yetus + audience-annotations + + + + + + org.apache.parquet + parquet-format-structures + ${dep.parquet.version} + + + org.apache.yetus + audience-annotations + + + + com.facebook.presto.hive hive-apache + test + + + org.apache.avro + avro + + + org.apache.avro + avro-mapred + + + org.apache.parquet + parquet-format-structures + + + org.apache.parquet + parquet-common + + + org.apache.parquet + parquet-column + + + org.apache.parquet + parquet-hadoop + + + org.apache.parquet + parquet-avro + + + org.slf4j + jcl-over-slf4j + + + org.slf4j + slf4j-nop + + + org.slf4j + slf4j-api + + diff --git a/presto-parquet/src/main/java/org/apache/parquet/io/ColumnIOConverter.java b/presto-parquet/src/main/java/org/apache/parquet/io/ColumnIOConverter.java index 5dc23fe448ad8..54e4ac7f184c8 100644 --- a/presto-parquet/src/main/java/org/apache/parquet/io/ColumnIOConverter.java +++ b/presto-parquet/src/main/java/org/apache/parquet/io/ColumnIOConverter.java @@ -34,12 +34,10 @@ import static com.facebook.presto.parquet.ParquetTypeUtils.getArrayElementColumn; import static com.facebook.presto.parquet.ParquetTypeUtils.getMapKeyValueColumn; import static com.facebook.presto.parquet.ParquetTypeUtils.lookupColumnByName; -import static org.apache.parquet.io.ColumnIOUtil.columnDefinitionLevel; -import static org.apache.parquet.io.ColumnIOUtil.columnRepetitionLevel; import static org.apache.parquet.schema.Type.Repetition.OPTIONAL; /** - * Placed in org.apache.parquet.io package to have access to ColumnIO getRepetitionLevel() and getDefinitionLevel() methods. + * Utility class for converting ColumnIO to Field representations. */ public class ColumnIOConverter { @@ -53,8 +51,8 @@ public static Optional constructField(Type type, ColumnIO columnIO) return Optional.empty(); } boolean required = columnIO.getType().getRepetition() != OPTIONAL; - int repetitionLevel = columnRepetitionLevel(columnIO); - int definitionLevel = columnDefinitionLevel(columnIO); + int repetitionLevel = columnIO.getRepetitionLevel(); + int definitionLevel = columnIO.getDefinitionLevel(); if (ROW.equals(type.getTypeSignature().getBase())) { GroupColumnIO groupColumnIO = (GroupColumnIO) columnIO; List parameters = type.getTypeParameters(); diff --git a/presto-parquet/src/test/java/com/facebook/presto/parquet/reader/TestEncryption.java b/presto-parquet/src/test/java/com/facebook/presto/parquet/reader/TestEncryption.java index 9b6235bfc3a77..ab1814a234821 100644 --- a/presto-parquet/src/test/java/com/facebook/presto/parquet/reader/TestEncryption.java +++ b/presto-parquet/src/test/java/com/facebook/presto/parquet/reader/TestEncryption.java @@ -62,8 +62,6 @@ import static com.facebook.presto.parquet.ParquetTypeUtils.getColumnIO; import static com.facebook.presto.parquet.ParquetTypeUtils.getMapKeyValueColumn; import static com.facebook.presto.parquet.ParquetTypeUtils.lookupColumnByName; -import static org.apache.parquet.io.ColumnIOUtil.columnDefinitionLevel; -import static org.apache.parquet.io.ColumnIOUtil.columnRepetitionLevel; import static org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.BINARY; import static org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT32; import static org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.INT64; @@ -456,8 +454,8 @@ static Optional constructField(Type type, ColumnIO columnIO) return Optional.empty(); } boolean required = columnIO.getType().getRepetition() != OPTIONAL; - int repetitionLevel = columnRepetitionLevel(columnIO); - int definitionLevel = columnDefinitionLevel(columnIO); + int repetitionLevel = columnIO.getRepetitionLevel(); + int definitionLevel = columnIO.getDefinitionLevel(); if (type instanceof RowType) { RowType rowType = (RowType) type; GroupColumnIO groupColumnIO = (GroupColumnIO) columnIO;