You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2016/12/23 21:39:41 UTC
hive git commit: HIVE-15488: Native Vector MapJoin fails when trying
to serialize BigTable rows that have (unreferenced) complex types (Matt
McCline, reviewed by Wei Zheng)
Repository: hive
Updated Branches:
refs/heads/master 7befe8e67 -> d28cbb4da
HIVE-15488: Native Vector MapJoin fails when trying to serialize BigTable rows that have (unreferenced) complex types (Matt McCline, reviewed by Wei Zheng)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d28cbb4d
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d28cbb4d
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d28cbb4d
Branch: refs/heads/master
Commit: d28cbb4da2285e4751ed1d9cd0e667e33ee982be
Parents: 7befe8e
Author: Matt McCline <mm...@hortonworks.com>
Authored: Fri Dec 23 13:39:32 2016 -0800
Committer: Matt McCline <mm...@hortonworks.com>
Committed: Fri Dec 23 13:39:32 2016 -0800
----------------------------------------------------------------------
.../vector/mapjoin/VectorMapJoinGenerateResultOperator.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/d28cbb4d/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
index 21a01e6..3e8d3e8 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinGenerateResultOperator.java
@@ -46,6 +46,7 @@ import org.apache.hadoop.hive.serde2.SerDeException;
import org.apache.hadoop.hive.serde2.WriteBuffers.ByteSegmentRef;
import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinaryDeserializeRead;
import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
@@ -423,7 +424,9 @@ public abstract class VectorMapJoinGenerateResultOperator extends VectorMapJoinC
List<Integer> noNullsProjectionList = new ArrayList<Integer>();
for (int i = 0; i < projectionSize; i++) {
int projectedColumn = projectedColumns.get(i);
- if (batch.cols[projectedColumn] != null) {
+ if (batch.cols[projectedColumn] != null &&
+ inputObjInspectorsTypeInfos[i].getCategory() == Category.PRIMITIVE) {
+ // Only columns present in the batch and non-complex types.
typeInfoList.add(inputObjInspectorsTypeInfos[i]);
noNullsProjectionList.add(projectedColumn);
}