diff --git a/parquet-arrow/pom.xml b/parquet-arrow/pom.xml index a80fe3da22..f4d59fba9a 100644 --- a/parquet-arrow/pom.xml +++ b/parquet-arrow/pom.xml @@ -33,7 +33,7 @@ https://parquet.apache.org - 16.1.0 + 17.0.0 diff --git a/parquet-arrow/src/main/java/org/apache/parquet/arrow/schema/SchemaConverter.java b/parquet-arrow/src/main/java/org/apache/parquet/arrow/schema/SchemaConverter.java index c17f1465d5..532fa7c53a 100644 --- a/parquet-arrow/src/main/java/org/apache/parquet/arrow/schema/SchemaConverter.java +++ b/parquet-arrow/src/main/java/org/apache/parquet/arrow/schema/SchemaConverter.java @@ -174,6 +174,11 @@ public TypeMapping visit(org.apache.arrow.vector.types.pojo.ArrowType.FixedSizeL return createListTypeMapping(); } + @Override + public TypeMapping visit(ArrowType.ListView type) { + return createListTypeMapping(); + } + private ListTypeMapping createListTypeMapping() { if (children.size() != 1) { throw new IllegalArgumentException("list fields must have exactly one child: " + field); @@ -249,11 +254,21 @@ public TypeMapping visit(ArrowType.LargeUtf8 largeUtf8) { return primitive(BINARY, stringType()); } + @Override + public TypeMapping visit(ArrowType.Utf8View type) { + return primitive(BINARY, stringType()); + } + @Override public TypeMapping visit(Binary type) { return primitive(BINARY); } + @Override + public TypeMapping visit(ArrowType.BinaryView type) { + return primitive(BINARY); + } + @Override public TypeMapping visit(ArrowType.LargeBinary largeBinary) { return primitive(BINARY); @@ -749,6 +764,11 @@ public TypeMapping visit(org.apache.arrow.vector.types.pojo.ArrowType.FixedSizeL return createListTypeMapping(type); } + @Override + public TypeMapping visit(ArrowType.ListView type) { + return createListTypeMapping(type); + } + private TypeMapping createListTypeMapping(ArrowType.ComplexType type) { if (arrowField.getChildren().size() != 1) { throw new IllegalArgumentException("Invalid list type: " + type); @@ -818,6 +838,11 @@ public TypeMapping visit(ArrowType.LargeUtf8 largeUtf8) { return primitive(); } + @Override + public TypeMapping visit(ArrowType.Utf8View type) { + return primitive(); + } + @Override public TypeMapping visit(Binary type) { return primitive(); @@ -828,6 +853,11 @@ public TypeMapping visit(ArrowType.LargeBinary largeBinary) { return primitive(); } + @Override + public TypeMapping visit(ArrowType.BinaryView type) { + return primitive(); + } + @Override public TypeMapping visit(Bool type) { return primitive();