diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java index ea4f2f2562..12af77c123 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/vector/VectorizedListColumnReader.java @@ -258,7 +258,8 @@ private void fillColumnVector(PrimitiveObjectInspector.PrimitiveCategory categor lcv.child = new BytesColumnVector(total); lcv.child.init(); for (int i = 0; i < valueList.size(); i++) { - ((BytesColumnVector)lcv.child).setVal(i, ((List)valueList).get(i)); + byte[] src = ((List)valueList).get(i); + ((BytesColumnVector)lcv.child).setRef(i, src, 0, src.length); } break; case FLOAT: diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedListColumnReader.java b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedListColumnReader.java index de196152a5..73a147b390 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedListColumnReader.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedListColumnReader.java @@ -18,7 +18,6 @@ package org.apache.hadoop.hive.ql.io.parquet; -import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector; @@ -225,9 +224,7 @@ private void assertValue(String type, ColumnVector childVector, } else if ("boolean".equals(type)) { assertEquals((getBooleanValue(valueIndex) ? 1 : 0), ((LongColumnVector)childVector).vector[position]); } else if ("binary".equals(type)) { - String actual = new String(ArrayUtils - .subarray(((BytesColumnVector)childVector).vector[position], ((BytesColumnVector)childVector).start[position], - ((BytesColumnVector)childVector).start[position] + ((BytesColumnVector)childVector).length[position])); + String actual = new String(((BytesColumnVector)childVector).vector[position]); assertEquals(getStr(isDictionaryEncoding, valueIndex), actual); } else if ("decimal".equals(type)) { assertEquals(getDecimal(isDictionaryEncoding, valueIndex), diff --git a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedMapColumnReader.java b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedMapColumnReader.java index c33e8ab4a9..b8e4647dc1 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedMapColumnReader.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/io/parquet/TestVectorizedMapColumnReader.java @@ -17,7 +17,6 @@ */ package org.apache.hadoop.hive.ql.io.parquet; -import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.ql.exec.vector.BytesColumnVector; @@ -311,11 +310,7 @@ private void assertValue(String type, ColumnVector childVector, boolean isDictio assertEquals(getFloatValue(isDictionaryEncoding, valueIndex), ((DoubleColumnVector)childVector).vector[position], 0); } else if ("binary".equals(type)) { - String actual = new String(ArrayUtils - .subarray(((BytesColumnVector)childVector).vector[position], - ((BytesColumnVector)childVector).start[position], - ((BytesColumnVector)childVector).start[position] - + ((BytesColumnVector)childVector).length[position])); + String actual = new String(((BytesColumnVector)childVector).vector[position]); assertEquals(getStr(isDictionaryEncoding, valueIndex), actual); } else if ("decimal".equals(type)) { assertEquals(getDecimal(isDictionaryEncoding, valueIndex),