@Override public void process(Object[] args) throws HiveException, UDFArgumentException { for (int ii = 0; ii < numRows.get(); ++ii) { for (int jj = 0; jj < numCols; ++jj) { int index = ii * numCols + jj + 1; if (index < args.length) { forwardObj[jj] = returnOIResolvers.get(jj).convertIfNecessary(args[index], argOIs.get(index)); } else { forwardObj[ii] = null; } } forward(forwardObj); } }
@Override public void process(Object[] args) throws HiveException, UDFArgumentException { for (int ii = 0; ii < numRows.get(); ++ii) { for (int jj = 0; jj < numCols; ++jj) { int index = ii * numCols + jj + 1; if (index < args.length) { forwardObj[jj] = returnOIResolvers.get(jj).convertIfNecessary(args[index], argOIs.get(index)); } else { forwardObj[ii] = null; } } forward(forwardObj); } }
@Override public synchronized void process(Object row, int tag) throws HiveException { StructObjectInspector soi = parentObjInspectors[tag]; List<? extends StructField> fields = parentFields[tag]; if (needsTransform[tag] && outputRow.size() > 0) { for (int c = 0; c < fields.size(); c++) { outputRow.set(c, columnTypeResolvers[c].convertIfNecessary(soi .getStructFieldData(row, fields.get(c)), fields.get(c) .getFieldObjectInspector())); } forward(outputRow, outputObjInspector); } else { forward(row, inputObjInspectors[tag]); } }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object exprValue = arguments[0].get(); for (int i = 1; i + 1 < arguments.length; i += 2) { Object caseKey = arguments[i].get(); // May need to convert to common type to compare PrimitiveObjectInspector caseOI = (PrimitiveObjectInspector) caseOIResolver.get(); if (PrimitiveObjectInspectorUtils.comparePrimitiveObjects( caseOIResolver.convertIfNecessary(exprValue, argumentOIs[0]), caseOI, caseOIResolver.convertIfNecessary(caseKey, argumentOIs[i], false), caseOI)) { Object caseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(caseValue, argumentOIs[i + 1]); } } // Process else statement if (arguments.length % 2 == 0) { int i = arguments.length - 2; Object elseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(elseValue, argumentOIs[i + 1]); } return null; }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { for (int i = 0; i + 1 < arguments.length; i += 2) { Object caseKey = arguments[i].get(); if (caseKey != null && ((BooleanObjectInspector) argumentOIs[i]).get(caseKey)) { Object caseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(caseValue, argumentOIs[i + 1]); } } // Process else statement if (arguments.length % 2 == 1) { int i = arguments.length - 2; Object elseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(elseValue, argumentOIs[i + 1]); } return null; }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object exprValue = arguments[0].get(); for (int i = 1; i + 1 < arguments.length; i += 2) { Object caseKey = arguments[i].get(); // May need to convert to common type to compare PrimitiveObjectInspector caseOI = (PrimitiveObjectInspector) caseOIResolver.get(); if (PrimitiveObjectInspectorUtils.comparePrimitiveObjects( caseOIResolver.convertIfNecessary(exprValue, argumentOIs[0]), caseOI, caseOIResolver.convertIfNecessary(caseKey, argumentOIs[i], false), caseOI)) { Object caseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(caseValue, argumentOIs[i + 1]); } } // Process else statement if (arguments.length % 2 == 0) { int i = arguments.length - 2; Object elseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(elseValue, argumentOIs[i + 1]); } return null; }
@Override public synchronized void process(Object row, int tag) throws HiveException { StructObjectInspector soi = parentObjInspectors[tag]; List<? extends StructField> fields = parentFields[tag]; if (needsTransform[tag] && outputRow.size() > 0) { for (int c = 0; c < fields.size(); c++) { outputRow.set(c, columnTypeResolvers[c].convertIfNecessary(soi .getStructFieldData(row, fields.get(c)), fields.get(c) .getFieldObjectInspector())); } forward(outputRow, outputObjInspector); } else { forward(row, inputObjInspectors[tag]); } }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object arg0 = arguments[0].get(); Object arg1 = arguments[1].get(); Object value0 = null; if (arg0 != null) { value0 = returnOIResolver.convertIfNecessary(arg0, argumentOIs[0], false); } if (arg0 == null || arg1 == null) { return value0; } PrimitiveObjectInspector compareOI = (PrimitiveObjectInspector) returnOIResolver.get(); if (PrimitiveObjectInspectorUtils.comparePrimitiveObjects( value0, compareOI, returnOIResolver.convertIfNecessary(arg1, argumentOIs[1], false), compareOI)) { return null; } return value0; }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { for (int i = 0; i + 1 < arguments.length; i += 2) { Object caseKey = arguments[i].get(); if (caseKey != null && ((BooleanObjectInspector) argumentOIs[i]).get(caseKey)) { Object caseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(caseValue, argumentOIs[i + 1]); } } // Process else statement if (arguments.length % 2 == 1) { int i = arguments.length - 2; Object elseValue = arguments[i + 1].get(); return returnOIResolver.convertIfNecessary(elseValue, argumentOIs[i + 1]); } return null; }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object arg0 = arguments[0].get(); Object arg1 = arguments[1].get(); if (arg0 == null || arg1 == null) { return arg0; } PrimitiveObjectInspector compareOI = (PrimitiveObjectInspector) returnOIResolver.get(); if (PrimitiveObjectInspectorUtils.comparePrimitiveObjects( arg0, compareOI, returnOIResolver.convertIfNecessary(arg1, argumentOIs[1], false), compareOI)) { return null; } return arg0; }
private void prepareInSet(DeferredObject[] arguments) throws HiveException { constantInSet = new HashSet<Object>(); if (compareOI.getCategory().equals(ObjectInspector.Category.PRIMITIVE)) { for (int i = 1; i < arguments.length; ++i) { constantInSet.add(((PrimitiveObjectInspector) compareOI) .getPrimitiveJavaObject(conversionHelper .convertIfNecessary(arguments[i].get(), argumentOIs[i]))); } } else { for (int i = 1; i < arguments.length; ++i) { constantInSet.add(((ConstantObjectInspector) argumentOIs[i]).getWritableConstantValue()); } } }
public Object convertIfNecessary(Object o, ObjectInspector oi) { return convertIfNecessary(o, oi, true); }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { for (int i = 0; i < arguments.length; i++) { Object ai = arguments[i].get(); if (ai == null) { continue; } return returnOIResolver.convertIfNecessary(ai, argumentOIs[i]); } return null; }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object condition = arguments[0].get(); if (condition != null && ((BooleanObjectInspector) argumentOIs[0]).get(condition)) { return returnOIResolver.convertIfNecessary(arguments[1].get(), argumentOIs[1]); } else { return returnOIResolver.convertIfNecessary(arguments[2].get(), argumentOIs[2]); } }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object retVal = returnOIResolver.convertIfNecessary(arguments[0].get(), argumentOIs[0]); if (retVal == null ){ retVal = returnOIResolver.convertIfNecessary(arguments[1].get(), argumentOIs[1]); } return retVal; }
public Object convertIfNecessary(Object o, ObjectInspector oi) { return convertIfNecessary(o, oi, true); }
private void prepareInSet(DeferredObject[] arguments) throws HiveException { constantInSet = new HashSet<Object>(); if (compareOI.getCategory().equals(ObjectInspector.Category.PRIMITIVE)) { for (int i = 1; i < arguments.length; ++i) { constantInSet.add(((PrimitiveObjectInspector) compareOI) .getPrimitiveJavaObject(conversionHelper .convertIfNecessary(arguments[i].get(), argumentOIs[i]))); } } else { for (int i = 1; i < arguments.length; ++i) { constantInSet.add(((ConstantObjectInspector) argumentOIs[i]).getWritableConstantValue()); } } }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object condition = arguments[0].get(); if (condition != null && ((BooleanObjectInspector) argumentOIs[0]).get(condition)) { return returnOIResolver.convertIfNecessary(arguments[1].get(), argumentOIs[1]); } else { return returnOIResolver.convertIfNecessary(arguments[2].get(), argumentOIs[2]); } }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { Object retVal = returnOIResolver.convertIfNecessary(arguments[0].get(), argumentOIs[0]); if (retVal == null ){ retVal = returnOIResolver.convertIfNecessary(arguments[1].get(), argumentOIs[1]); } return retVal; }
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { for (int i = 0; i < arguments.length; i++) { Object ai = arguments[i].get(); if (ai == null) { continue; } return returnOIResolver.convertIfNecessary(ai, argumentOIs[i]); } return null; }