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();