byte bt = ((ByteObjectInspector) oi).get(o); dos.writeByte(bt); break; short s = ((ShortObjectInspector) oi).get(o); dos.writeShort(s); break; int i = ((IntObjectInspector) oi).get(o); dos.writeInt(i); break; long l = ((LongObjectInspector) oi).get(o); dos.writeLong(l); break; float f = ((FloatObjectInspector) oi).get(o); dos.writeFloat(f); break; double d = ((DoubleObjectInspector) oi).get(o); dos.writeDouble(d); break;
@Override public void setSafeValue(ObjectInspector oi, Object hiveFieldValue, ValueVector outputVV, int outputIndex) { final long value = (long) ((LongObjectInspector)oi).getPrimitiveJavaObject(hiveFieldValue); ((NullableBigIntVector) outputVV).getMutator().setSafe(outputIndex, value); } }
public boolean areEqual(Object o0, Object o1) { if (o0 == null && o1 == null) { return true; } else if (o0 == null || o1 == null) { return false; } switch (compareType) { case COMPARE_TEXT: return (soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); case COMPARE_INT: return (ioi0.get(o0) == ioi1.get(o1)); case COMPARE_LONG: return (loi0.get(o0) == loi1.get(o1)); case COMPARE_BYTE: return (byoi0.get(o0) == byoi1.get(o1)); case COMPARE_BOOL: return (boi0.get(o0) == boi1.get(o1)); case COMPARE_STRING: return (soi0.getPrimitiveJavaObject(o0).equals( soi1.getPrimitiveJavaObject(o1))); default: return (ObjectInspectorUtils.compare( o0, oi0, o1, oi1) == 0); } } }
int dValue = ((IntObjectInspector) argumentOIs[1]).get(arg1); case VOID: case DOUBLE: xDoubleValue = ((DoubleObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xDoubleValue)); break; case FLOAT: xFloatValue = ((FloatObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xFloatValue)); break; case SHORT: case INT: xIntValue = ((IntObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xIntValue)); break; case LONG: xLongValue = ((LongObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xLongValue)); break;
byte b = 0; if (objectForField != null) { b = boi.get(objectForField); short s = 0; if (objectForField != null) { s = spoi.get(objectForField); int i = 0; if (objectForField != null) { i = ioi.get(objectForField); long l = 0; if (objectForField != null) { l = loi.get(objectForField); double d = 0; if (objectForField != null) { d = doi.get(objectForField);
int numVectors = numBitVectorsFieldOI.get(partialValue); if (numVectors <= 0) { return; if (myagg.maxLength < maxLengthFieldOI.get(partialValue)) { myagg.maxLength = maxLengthFieldOI.get(partialValue); myagg.sumLength += sumLengthFieldOI.get(partialValue); myagg.count += countFieldOI.get(partialValue); myagg.countNulls += countNullsFieldOI.get(partialValue); String v = ndvFieldOI.getPrimitiveJavaObject(partialValue); NumDistinctValueEstimator o = new NumDistinctValueEstimator(v, myagg.numBitVectors); myagg.numDV.mergeEstimators(o);
private void unpackStringStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getStringStats().setNumNulls(v); } else if (fName.equals("numdistinctvalues")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getStringStats().setNumDVs(v); } else if (fName.equals("avglength")) { double d = ((DoubleObjectInspector) oi).get(o); statsObj.getStatsData().getStringStats().setAvgColLen(d); } else if (fName.equals("maxlength")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getStringStats().setMaxColLen(v); } else if (fName.equals("ndvbitvector")) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; String v = ((StringObjectInspector) poi).getPrimitiveJavaObject(o); statsObj.getStatsData().getStringStats().setBitVectors(v);; } }
@Override void write(Object obj) throws IOException { super.write(obj); if (obj != null) { long val; if (intInspector != null) { val = intInspector.get(obj); } else if (longInspector != null) { val = longInspector.get(obj); } else { val = shortInspector.get(obj); } indexStatistics.updateInteger(val); if (createBloomFilter) { // integers are converted to longs in column statistics and during SARG evaluation bloomFilter.addLong(val); } writer.write(val); } }
private static void unpackBinaryStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getBinaryStats().setNumNulls(v); } else if (fName.equals("avglength")) { double d = ((DoubleObjectInspector) oi).get(o); statsObj.getStatsData().getBinaryStats().setAvgColLen(d); } else if (fName.equals("maxlength")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getBinaryStats().setMaxColLen(v); } }
private void unpackLongStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getLongStats().setNumNulls(v); } else if (fName.equals("numdistinctvalues")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getLongStats().setNumDVs(v); } else if (fName.equals("max")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getLongStats().setHighValue(v); } else if (fName.equals("min")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getLongStats().setLowValue(v); } else if (fName.equals("ndvbitvector")) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; String v = ((StringObjectInspector) poi).getPrimitiveJavaObject(o); statsObj.getStatsData().getLongStats().setBitVectors(v);; } }
/** * Set parameters for the current call */ void setParameters(DeferredObject[] arguments) throws HiveException { for (int i = 1; i < arguments.length; i++) { String name = ":" + i; if (argumentsOI[i] instanceof StringObjectInspector) { String value = ((StringObjectInspector)argumentsOI[i]).getPrimitiveJavaObject(arguments[i].get()); if (value != null) { exec.setVariable(name, value); } } else if (argumentsOI[i] instanceof IntObjectInspector) { Integer value = (Integer)((IntObjectInspector)argumentsOI[i]).getPrimitiveJavaObject(arguments[i].get()); if (value != null) { exec.setVariable(name, new Var(new Long(value))); } } else if (argumentsOI[i] instanceof LongObjectInspector) { Long value = (Long)((LongObjectInspector)argumentsOI[i]).getPrimitiveJavaObject(arguments[i].get()); if (value != null) { exec.setVariable(name, new Var(value)); } } else { exec.setVariableToNull(name); } } }
result.set(soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); break; case COMPARE_INT: result.set(ioi0.get(o0) == ioi1.get(o1)); break; case COMPARE_LONG: result.set(loi0.get(o0) == loi1.get(o1)); break; case COMPARE_BYTE: result.set(byoi0.get(o0) == byoi1.get(o1)); break; case COMPARE_BOOL: result.set(boi0.get(o0) == boi1.get(o1)); break; case COMPARE_STRING: result.set(soi0.getPrimitiveJavaObject(o0).equals( soi1.getPrimitiveJavaObject(o1))); break;
int dValue = ((IntObjectInspector) argumentOIs[1]).get(arg1); case VOID: case DOUBLE: xDoubleValue = ((DoubleObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xDoubleValue)); break; case FLOAT: xFloatValue = ((FloatObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xFloatValue)); break; case SHORT: case INT: xIntValue = ((IntObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xIntValue)); break; case LONG: xLongValue = ((LongObjectInspector) argumentOIs[0]).get(arg0); resultText.set(numberFormat.format(xLongValue)); break;
@Override public void merge(AggregationBuffer agg, Object partial) throws HiveException { if (partial != null) { NumericStatsAgg myagg = (NumericStatsAgg) agg; if (myagg.numDV == null) { Object partialValue = soi.getStructFieldData(partial, numBitVectorsField); int numVectors = numBitVectorsFieldOI.get(partialValue); if (numVectors <= 0) { return; } myagg.initNDVEstimator(numVectors); } // Update min if min is lesser than the smallest value seen so far Object minValue = soi.getStructFieldData(partial, minField); myagg.updateMin(minValue, minFieldOI); // Update max if max is greater than the largest value seen so far Object maxValue = soi.getStructFieldData(partial, maxField); myagg.updateMax(maxValue, maxFieldOI); // Update the null counter Object countNull = soi.getStructFieldData(partial, countNullsField); myagg.countNulls += countNullsFieldOI.get(countNull); // Merge numDistinctValue Estimators Object numDistinct = soi.getStructFieldData(partial, ndvField); String v = ndvFieldOI.getPrimitiveJavaObject(numDistinct); NumDistinctValueEstimator o = new NumDistinctValueEstimator(v, myagg.numDV.getnumBitVectors()); myagg.numDV.mergeEstimators(o); } } }
private void unpackBinaryStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getBinaryStats().setNumNulls(v); } else if (fName.equals("avglength")) { double d = ((DoubleObjectInspector) oi).get(o); statsObj.getStatsData().getBinaryStats().setAvgColLen(d); } else if (fName.equals("maxlength")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getBinaryStats().setMaxColLen(v); } }
private void unpackDecimalStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDecimalStats().setNumNulls(v); } else if (fName.equals("numdistinctvalues")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDecimalStats().setNumDVs(v); } else if (fName.equals("max")) { HiveDecimal d = ((HiveDecimalObjectInspector) oi).getPrimitiveJavaObject(o); statsObj.getStatsData().getDecimalStats().setHighValue(convertToThriftDecimal(d)); } else if (fName.equals("min")) { HiveDecimal d = ((HiveDecimalObjectInspector) oi).getPrimitiveJavaObject(o); statsObj.getStatsData().getDecimalStats().setLowValue(convertToThriftDecimal(d)); } else if (fName.equals("ndvbitvector")) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; String v = ((StringObjectInspector) poi).getPrimitiveJavaObject(o); statsObj.getStatsData().getDecimalStats().setBitVectors(v);; } }
break; case BOOLEAN: result = (((BooleanObjectInspector) oi).get(o) ? 1 : 0); break; case BYTE: result = ((ByteObjectInspector) oi).get(o); break; case SHORT: result = ((ShortObjectInspector) oi).get(o); break; case INT: result = ((IntObjectInspector) oi).get(o); break; case LONG: result = ((LongObjectInspector) oi).get(o); break; case FLOAT: result = ((FloatObjectInspector) oi).get(o); break; case DOUBLE: result = ((DoubleObjectInspector) oi).get(o); break; case STRING: StringObjectInspector soi = (StringObjectInspector) oi; String s = soi.getPrimitiveJavaObject(o); result = Double.parseDouble(s); break;
result.set(!soi0.getPrimitiveWritableObject(o0).equals( soi1.getPrimitiveWritableObject(o1))); break; case COMPARE_INT: result.set(ioi0.get(o0) != ioi1.get(o1)); break; case COMPARE_LONG: result.set(loi0.get(o0) != loi1.get(o1)); break; case COMPARE_BYTE: result.set(byoi0.get(o0) != byoi1.get(o1)); break; case COMPARE_BOOL: result.set(boi0.get(o0) != boi1.get(o1)); break; case COMPARE_STRING: result.set(!soi0.getPrimitiveJavaObject(o0).equals( soi1.getPrimitiveJavaObject(o1))); break;