From c0c621f1e18b51c38173ae1036c2852dddee89e5 Mon Sep 17 00:00:00 2001 From: Teddy Choi Date: Mon, 3 Dec 2018 16:03:11 +0000 Subject: [PATCH] HIVE-20994: Upgrade arrow version to 0.10.0 in branch-3 (Teddy Choi) --- pom.xml | 2 +- .../hive/ql/io/arrow/ArrowColumnarBatchSerDe.java | 2 +- .../apache/hadoop/hive/ql/io/arrow/Serializer.java | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index f36a25929a4e..96a07d24d84f 100644 --- a/pom.xml +++ b/pom.xml @@ -121,7 +121,7 @@ 1.5.6 0.1 - 0.8.0 + 0.10.0 1.12.0 1.7.7 0.8.0.RELEASE diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java b/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java index 470f31cf95d7..a1a3327814cf 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java @@ -198,7 +198,7 @@ private static Field toField(String name, TypeInfo typeInfo) { for (int i = 0; i < structSize; i++) { structFields.add(toField(fieldNames.get(i), fieldTypeInfos.get(i))); } - return new Field(name, FieldType.nullable(MinorType.MAP.getType()), structFields); + return new Field(name, FieldType.nullable(MinorType.STRUCT.getType()), structFields); case UNION: final UnionTypeInfo unionTypeInfo = (UnionTypeInfo) typeInfo; final List objectTypeInfos = unionTypeInfo.getAllUnionObjectTypeInfos(); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/Serializer.java b/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/Serializer.java index 2961050532fd..14eb4d8b1930 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/Serializer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/Serializer.java @@ -36,8 +36,8 @@ import org.apache.arrow.vector.VarCharVector; import org.apache.arrow.vector.VectorSchemaRoot; import org.apache.arrow.vector.complex.ListVector; -import org.apache.arrow.vector.complex.MapVector; -import org.apache.arrow.vector.complex.NullableMapVector; +import org.apache.arrow.vector.complex.NonNullableStructVector; +import org.apache.arrow.vector.complex.StructVector; import org.apache.arrow.vector.types.TimeUnit; import org.apache.arrow.vector.types.Types; import org.apache.arrow.vector.types.pojo.ArrowType; @@ -97,7 +97,7 @@ class Serializer { private final VectorAssignRow vectorAssignRow; private int batchSize; - private final NullableMapVector rootVector; + private final StructVector rootVector; Serializer(ArrowColumnarBatchSerDe serDe) throws SerDeException { MAX_BUFFERED_ROWS = HiveConf.getIntVar(serDe.conf, HIVE_ARROW_BATCH_SIZE); @@ -109,7 +109,7 @@ class Serializer { fieldSize = fieldTypeInfos.size(); // Init Arrow stuffs - rootVector = NullableMapVector.empty(null, serDe.rootAllocator); + rootVector = StructVector.empty(null, serDe.rootAllocator); // Init Hive stuffs vectorizedRowBatch = new VectorizedRowBatch(fieldSize); @@ -216,7 +216,7 @@ private void write(FieldVector arrowVector, ColumnVector hiveVector, TypeInfo ty writeList((ListVector) arrowVector, (ListColumnVector) hiveVector, (ListTypeInfo) typeInfo, size); break; case STRUCT: - writeStruct((MapVector) arrowVector, (StructColumnVector) hiveVector, (StructTypeInfo) typeInfo, size); + writeStruct((NonNullableStructVector) arrowVector, (StructColumnVector) hiveVector, (StructTypeInfo) typeInfo, size); break; case UNION: writeUnion(arrowVector, hiveVector, typeInfo, size); @@ -260,7 +260,7 @@ private void writeUnion(FieldVector arrowVector, ColumnVector hiveVector, TypeIn write(arrowVector, hiveObjectVector, objectTypeInfo, size); } - private void writeStruct(MapVector arrowVector, StructColumnVector hiveVector, + private void writeStruct(NonNullableStructVector arrowVector, StructColumnVector hiveVector, StructTypeInfo typeInfo, int size) { final List fieldNames = typeInfo.getAllStructFieldNames(); final List fieldTypeInfos = typeInfo.getAllStructFieldTypeInfos();