diff --git ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java index 3a2bc4f..985912b 100644 --- ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java +++ ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java @@ -1567,8 +1567,14 @@ public Object next() { wFn.getWFnEval().aggregate(aggBuffers[j], args[j]); Object out = ((ISupportStreamingModeForWindowing) wFn.getWFnEval()) .getNextResult(aggBuffers[j]); - out = ObjectInspectorUtils.copyToStandardObject(out, wFn.getOI()); - output.set(j, out); + if (out != null) { + if (out == ISupportStreamingModeForWindowing.NULL_RESULT) { + out = null; + } else { + out = ObjectInspectorUtils.copyToStandardObject(out, wFn.getOI()); + } + output.set(j, out); + } } else { Range rng = getRange(wFn, currIdx, iPart); PTFPartitionIterator rItr = rng.iterator();