org.apache.hadoop.hive.serde2.objectinspector.primitive.HiveCharObjectInspector Java Examples
The following examples show how to use
org.apache.hadoop.hive.serde2.objectinspector.primitive.HiveCharObjectInspector.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: HiveCharObjectConverter.java From aliyun-maxcompute-data-collectors with Apache License 2.0 | 5 votes |
@Override public Object convert(ObjectInspector objectInspector, Object o, TypeInfo odpsTypeInfo) { // TODO: support hive.compatible (return a Char object) HiveCharObjectInspector hiveCharObjectInspector = (HiveCharObjectInspector) objectInspector; return hiveCharObjectInspector.getPrimitiveJavaObject(o).getValue(); }
Example #2
Source File: HiveFieldConverter.java From dremio-oss with Apache License 2.0 | 5 votes |
@Override public void setSafeValue(ObjectInspector oi, Object hiveFieldValue, ValueVector outputVV, int outputIndex) { final Text value = ((HiveCharObjectInspector)oi).getPrimitiveWritableObject(hiveFieldValue).getStrippedValue(); final int valueLen = value.getLength(); checkSizeLimit(valueLen); final byte[] valueBytes = value.getBytes(); ((VarCharVector) outputVV).setSafe(outputIndex, valueBytes, 0, valueLen); }
Example #3
Source File: HiveFieldConverter.java From dremio-oss with Apache License 2.0 | 5 votes |
@Override public void setSafeValue(ObjectInspector oi, Object hiveFieldValue, ValueVector outputVV, int outputIndex) { final Text value = ((HiveCharObjectInspector)oi).getPrimitiveWritableObject(hiveFieldValue).getStrippedValue(); final int valueLen = value.getLength(); checkSizeLimit(valueLen); final byte[] valueBytes = value.getBytes(); ((VarCharVector) outputVV).setSafe(outputIndex, valueBytes, 0, valueLen); }
Example #4
Source File: SerDeUtils.java From presto with Apache License 2.0 | 4 votes |
private static void serializePrimitive(Type type, BlockBuilder builder, Object object, PrimitiveObjectInspector inspector) { requireNonNull(builder, "parent builder is null"); if (object == null) { builder.appendNull(); return; } switch (inspector.getPrimitiveCategory()) { case BOOLEAN: BooleanType.BOOLEAN.writeBoolean(builder, ((BooleanObjectInspector) inspector).get(object)); return; case BYTE: TinyintType.TINYINT.writeLong(builder, ((ByteObjectInspector) inspector).get(object)); return; case SHORT: SmallintType.SMALLINT.writeLong(builder, ((ShortObjectInspector) inspector).get(object)); return; case INT: IntegerType.INTEGER.writeLong(builder, ((IntObjectInspector) inspector).get(object)); return; case LONG: BigintType.BIGINT.writeLong(builder, ((LongObjectInspector) inspector).get(object)); return; case FLOAT: RealType.REAL.writeLong(builder, floatToRawIntBits(((FloatObjectInspector) inspector).get(object))); return; case DOUBLE: DoubleType.DOUBLE.writeDouble(builder, ((DoubleObjectInspector) inspector).get(object)); return; case STRING: type.writeSlice(builder, Slices.utf8Slice(((StringObjectInspector) inspector).getPrimitiveJavaObject(object))); return; case VARCHAR: type.writeSlice(builder, Slices.utf8Slice(((HiveVarcharObjectInspector) inspector).getPrimitiveJavaObject(object).getValue())); return; case CHAR: CharType charType = (CharType) type; HiveChar hiveChar = ((HiveCharObjectInspector) inspector).getPrimitiveJavaObject(object); type.writeSlice(builder, truncateToLengthAndTrimSpaces(Slices.utf8Slice(hiveChar.getValue()), charType.getLength())); return; case DATE: DateType.DATE.writeLong(builder, formatDateAsLong(object, (DateObjectInspector) inspector)); return; case TIMESTAMP: TimestampType.TIMESTAMP.writeLong(builder, formatTimestampAsLong(object, (TimestampObjectInspector) inspector)); return; case BINARY: VARBINARY.writeSlice(builder, Slices.wrappedBuffer(((BinaryObjectInspector) inspector).getPrimitiveJavaObject(object))); return; case DECIMAL: DecimalType decimalType = (DecimalType) type; HiveDecimalWritable hiveDecimal = ((HiveDecimalObjectInspector) inspector).getPrimitiveWritableObject(object); if (decimalType.isShort()) { decimalType.writeLong(builder, DecimalUtils.getShortDecimalValue(hiveDecimal, decimalType.getScale())); } else { decimalType.writeSlice(builder, DecimalUtils.getLongDecimalValue(hiveDecimal, decimalType.getScale())); } return; } throw new RuntimeException("Unknown primitive type: " + inspector.getPrimitiveCategory()); }
Example #5
Source File: TestDataWritableWriter.java From presto with Apache License 2.0 | 4 votes |
/** * It writes the primitive value to the Parquet RecordConsumer. * * @param value The object that contains the primitive value. * @param inspector The object inspector used to get the correct value type. */ private void writePrimitive(Object value, PrimitiveObjectInspector inspector) { if (value == null) { return; } switch (inspector.getPrimitiveCategory()) { case VOID: return; case DOUBLE: recordConsumer.addDouble(((DoubleObjectInspector) inspector).get(value)); break; case BOOLEAN: recordConsumer.addBoolean(((BooleanObjectInspector) inspector).get(value)); break; case FLOAT: recordConsumer.addFloat(((FloatObjectInspector) inspector).get(value)); break; case BYTE: recordConsumer.addInteger(((ByteObjectInspector) inspector).get(value)); break; case INT: recordConsumer.addInteger(((IntObjectInspector) inspector).get(value)); break; case LONG: recordConsumer.addLong(((LongObjectInspector) inspector).get(value)); break; case SHORT: recordConsumer.addInteger(((ShortObjectInspector) inspector).get(value)); break; case STRING: String v = ((StringObjectInspector) inspector).getPrimitiveJavaObject(value); recordConsumer.addBinary(Binary.fromString(v)); break; case CHAR: String vChar = ((HiveCharObjectInspector) inspector).getPrimitiveJavaObject(value).getStrippedValue(); recordConsumer.addBinary(Binary.fromString(vChar)); break; case VARCHAR: String vVarchar = ((HiveVarcharObjectInspector) inspector).getPrimitiveJavaObject(value).getValue(); recordConsumer.addBinary(Binary.fromString(vVarchar)); break; case BINARY: byte[] vBinary = ((BinaryObjectInspector) inspector).getPrimitiveJavaObject(value); recordConsumer.addBinary(Binary.fromByteArray(vBinary)); break; case TIMESTAMP: Timestamp ts = ((TimestampObjectInspector) inspector).getPrimitiveJavaObject(value); recordConsumer.addBinary(NanoTimeUtils.getNanoTime(ts, false).toBinary()); break; case DECIMAL: HiveDecimal vDecimal = ((HiveDecimal) inspector.getPrimitiveJavaObject(value)); DecimalTypeInfo decTypeInfo = (DecimalTypeInfo) inspector.getTypeInfo(); recordConsumer.addBinary(decimalToBinary(vDecimal, decTypeInfo)); break; case DATE: Date vDate = ((DateObjectInspector) inspector).getPrimitiveJavaObject(value); recordConsumer.addInteger(DateWritable.dateToDays(vDate)); break; default: throw new IllegalArgumentException("Unsupported primitive data type: " + inspector.getPrimitiveCategory()); } }
Example #6
Source File: CacheablePrimitiveObjectInspectorConverter.java From transport with BSD 2-Clause "Simplified" License | 4 votes |
public Text convert(Object input) { if (input == null) { return null; } Text t = new Text(); switch (inputOI.getPrimitiveCategory()) { case VOID: return null; case BOOLEAN: t.set(((BooleanObjectInspector) inputOI).get(input) ? trueBytes : falseBytes); return t; case BYTE: out.reset(); LazyInteger.writeUTF8NoException(out, ((ByteObjectInspector) inputOI).get(input)); t.set(out.getData(), 0, out.getLength()); return t; case SHORT: out.reset(); LazyInteger.writeUTF8NoException(out, ((ShortObjectInspector) inputOI).get(input)); t.set(out.getData(), 0, out.getLength()); return t; case INT: out.reset(); LazyInteger.writeUTF8NoException(out, ((IntObjectInspector) inputOI).get(input)); t.set(out.getData(), 0, out.getLength()); return t; case LONG: out.reset(); LazyLong.writeUTF8NoException(out, ((LongObjectInspector) inputOI).get(input)); t.set(out.getData(), 0, out.getLength()); return t; case FLOAT: t.set(String.valueOf(((FloatObjectInspector) inputOI).get(input))); return t; case DOUBLE: t.set(String.valueOf(((DoubleObjectInspector) inputOI).get(input))); return t; case STRING: if (inputOI.preferWritable()) { t.set(((StringObjectInspector) inputOI).getPrimitiveWritableObject(input)); } else { t.set(((StringObjectInspector) inputOI).getPrimitiveJavaObject(input)); } return t; case CHAR: // when converting from char, the value should be stripped of any trailing spaces. if (inputOI.preferWritable()) { // char text value is already stripped of trailing space t.set(((HiveCharObjectInspector) inputOI).getPrimitiveWritableObject(input) .getStrippedValue()); } else { t.set(((HiveCharObjectInspector) inputOI).getPrimitiveJavaObject(input).getStrippedValue()); } return t; case VARCHAR: if (inputOI.preferWritable()) { t.set(((HiveVarcharObjectInspector) inputOI).getPrimitiveWritableObject(input) .toString()); } else { t.set(((HiveVarcharObjectInspector) inputOI).getPrimitiveJavaObject(input).toString()); } return t; case DATE: t.set(((DateObjectInspector) inputOI).getPrimitiveWritableObject(input).toString()); return t; case TIMESTAMP: t.set(((TimestampObjectInspector) inputOI) .getPrimitiveWritableObject(input).toString()); return t; case BINARY: BinaryObjectInspector binaryOI = (BinaryObjectInspector) inputOI; if (binaryOI.preferWritable()) { BytesWritable bytes = binaryOI.getPrimitiveWritableObject(input); t.set(bytes.getBytes(), 0, bytes.getLength()); } else { t.set(binaryOI.getPrimitiveJavaObject(input)); } return t; case DECIMAL: t.set(((HiveDecimalObjectInspector) inputOI).getPrimitiveWritableObject(input).toString()); return t; default: throw new RuntimeException("Hive 2 Internal error: type = " + inputOI.getTypeName()); } }
Example #7
Source File: OrcFlowFileWriter.java From localization_nifi with Apache License 2.0 | 4 votes |
/** * Override base class implementation to support char values. */ @Override Text getTextValue(Object obj) { return (((HiveCharObjectInspector) inspector) .getPrimitiveWritableObject(obj)).getTextValue(); }
Example #8
Source File: HiveTestUDFImpls.java From dremio-oss with Apache License 2.0 | 4 votes |
@Override public Object evaluate(DeferredObject[] arguments) throws HiveException { if (arguments[0] == null || arguments[0].get() == null) { return null; } Object input = arguments[0].get(); switch(inputType) { case BOOLEAN: return ((BooleanObjectInspector)argumentOI).get(input) ? Boolean.TRUE : Boolean.FALSE; case BYTE: return new Byte(((ByteObjectInspector)argumentOI).get(input)); case SHORT: return new Short(((ShortObjectInspector)argumentOI).get(input)); case INT: return new Integer(((IntObjectInspector)argumentOI).get(input)); case LONG: return new Long(((LongObjectInspector)argumentOI).get(input)); case FLOAT: return new Float(((FloatObjectInspector)argumentOI).get(input)); case DOUBLE: return new Double(((DoubleObjectInspector)argumentOI).get(input)); case STRING: return PrimitiveObjectInspectorUtils.getString(input, (StringObjectInspector)argumentOI); case BINARY: return PrimitiveObjectInspectorUtils.getBinary(input, (BinaryObjectInspector) argumentOI).getBytes(); case VARCHAR: if (outputType == PrimitiveCategory.CHAR) { HiveVarchar hiveVarchar = PrimitiveObjectInspectorUtils.getHiveVarchar(input, (HiveVarcharObjectInspector) argumentOI); return new HiveChar(hiveVarchar.getValue(), HiveChar.MAX_CHAR_LENGTH); } else { return PrimitiveObjectInspectorUtils.getHiveVarchar(input, (HiveVarcharObjectInspector)argumentOI); } case CHAR: return PrimitiveObjectInspectorUtils.getHiveChar(input, (HiveCharObjectInspector) argumentOI); case DATE: return PrimitiveObjectInspectorUtils.getDate(input, (DateObjectInspector) argumentOI); case TIMESTAMP: return PrimitiveObjectInspectorUtils.getTimestamp(input, (TimestampObjectInspector) argumentOI); case DECIMAL: // return type is a HiveVarchar HiveDecimal decimalValue = PrimitiveObjectInspectorUtils.getHiveDecimal(input, (HiveDecimalObjectInspector) argumentOI); return new HiveVarchar(decimalValue.toString(), HiveVarchar.MAX_VARCHAR_LENGTH); } throw new UnsupportedOperationException(String.format("Unexpected input type '%s' in Test UDF", inputType)); }
Example #9
Source File: OrcFlowFileWriter.java From nifi with Apache License 2.0 | 4 votes |
/** * Override base class implementation to support char values. */ @Override Text getTextValue(Object obj) { return (((HiveCharObjectInspector) inspector) .getPrimitiveWritableObject(obj)).getTextValue(); }