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;
/** * 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); } } }
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;
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); String v = ndvFieldOI.getPrimitiveJavaObject(partialValue); NumDistinctValueEstimator o = new NumDistinctValueEstimator(v, myagg.numBitVectors); myagg.numDV.mergeEstimators(o);
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);
@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); } }
@Override public void process(Object[] arguments) throws HiveException { String query = stringOI.getPrimitiveJavaObject(arguments[0]); int num = intOI.get(arguments[1]); PlanFragment fragment = createPlanFragment(query, num); TezWork tezWork = fragment.work; Schema schema = fragment.schema; try { for (InputSplit s : getSplits(jc, num, tezWork, schema)) { Object[] os = new Object[1]; bos.reset(); s.write(dos); byte[] frozen = bos.toByteArray(); os[0] = frozen; forward(os); } } catch (Exception e) { throw new HiveException(e); } }
@Override public void serialize(Object o, ObjectInspector oi, TProtocol oprot) throws TException, SerDeException, NoSuchFieldException, IllegalAccessException { IntObjectInspector poi = (IntObjectInspector) oi; oprot.writeI32(poi.get(o)); }
/** * The INSERT event always uses {@link #bucket} that this {@link RecordUpdater} was created with * thus even for unbucketed tables, the N in bucket_N file name matches writerId/bucketId even for * late split */ private void addSimpleEvent(int operation, long currentWriteId, long rowId, Object row) throws IOException { this.operation.set(operation); this.currentWriteId.set(currentWriteId); Integer currentBucket = null; // If this is an insert, originalWriteId should be set to this transaction. If not, // it will be reset by the following if anyway. long originalWriteId = currentWriteId; if (operation == DELETE_OPERATION || operation == UPDATE_OPERATION) { Object rowIdValue = rowInspector.getStructFieldData(row, recIdField); originalWriteId = origWriteIdInspector.get( recIdInspector.getStructFieldData(rowIdValue, originalWriteIdField)); rowId = rowIdInspector.get(recIdInspector.getStructFieldData(rowIdValue, rowIdField)); currentBucket = setBucket(bucketInspector.get( recIdInspector.getStructFieldData(rowIdValue, bucketField)), operation); } this.rowId.set(rowId); this.originalWriteId.set(originalWriteId); item.setFieldValue(OrcRecordUpdater.OPERATION, new IntWritable(operation)); item.setFieldValue(OrcRecordUpdater.ROW, (operation == DELETE_OPERATION ? null : row)); indexBuilder.addKey(operation, originalWriteId, bucket.get(), rowId); initWriter(); writer.addRow(item); restoreBucket(currentBucket, operation); }
@Override public void setSafeValue(ObjectInspector oi, Object hiveFieldValue, ValueVector outputVV, int outputIndex) { final int value = (int) ((IntObjectInspector)oi).getPrimitiveJavaObject(hiveFieldValue); ((NullableIntVector) outputVV).getMutator().setSafe(outputIndex, value); } }
@Override public ObjectInspector initialize(ObjectInspector[] arg0) throws UDFArgumentException { if (arg0.length != 1 && arg0.length != 2) { throw new UDFArgumentException(" MovingStdevUDF takes 2 arguments, array<string>, string"); } this.listInspector = (ListObjectInspector) arg0[0]; if (this.listInspector.getCategory() != ObjectInspector.Category.LIST) { throw new UDFArgumentException(" MovingStdevUDF takes an array as first argument"); } this.dayWindowInspector = (IntObjectInspector) arg0[1]; if (this.dayWindowInspector.getCategory() != ObjectInspector.Category.PRIMITIVE) { throw new UDFArgumentException(" MovingStdevUDF takes a numeric string as second argument"); } LOG.info("Moving Standard Deviation Object input type is " + listInspector + " element = " + listInspector.getListElementObjectInspector()); return ObjectInspectorFactory.getStandardListObjectInspector( PrimitiveObjectInspectorFactory.javaDoubleObjectInspector); } }
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); } } }
@Override public void process(Object[] arguments) throws HiveException { String query = stringOI.getPrimitiveJavaObject(arguments[0]); int num = intOI.get(arguments[1]);
@Override void serialize(RandomAccessOutput byteStream, Object obj, ObjectInspector objInspector, boolean skipLengthPrefix, BooleanRef warnedOnceNullMapKey) { IntObjectInspector ioi = (IntObjectInspector) objInspector; int v = ioi.get(obj); LazyBinaryUtils.writeVInt(byteStream, v); } }
this.currentWriteId.set(currentWriteId); Object rowValue = rowInspector.getStructFieldData(row, recIdField); long originalWriteId = origWriteIdInspector.get( recIdInspector.getStructFieldData(rowValue, originalWriteIdField)); rowId = rowIdInspector.get( recIdInspector.getStructFieldData(rowValue, rowIdField)); Integer currentBucket = null; currentBucket = setBucket(bucketInspector.get( recIdInspector.getStructFieldData(rowValue, bucketField)), operation);
@Override public Object getTransformedWritable(DeferredObject object) throws HiveException { Integer value = (Integer)columnType.getPrimitiveJavaObject(object.get()); if(value != null) { Integer transformedValue = transformer.transform(value); if(transformedValue != null) { writable.set(transformedValue); return writable; } } return null; } }
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;