public Result write()

in hive/src/main/java/org/elasticsearch/hadoop/hive/HiveWritableValueWriter.java [51:97]


    public Result write(Writable writable, Generator generator) {
        if (writable instanceof ByteWritable) {
            generator.writeNumber(((ByteWritable) writable).get());
        }
        else if (writable instanceof DoubleWritable) {
            generator.writeNumber(((DoubleWritable) writable).get());
        }
        else if (writable instanceof ShortWritable) {
            generator.writeNumber(((ShortWritable) writable).get());
        }
        // HiveDecimal - Hive 0.11+
        else if (writable != null && HiveConstants.DECIMAL_WRITABLE.equals(writable.getClass().getName())) {
            generator.writeString(writable.toString());
        }
        // pass the UNIX epoch
        else if (writable instanceof TimestampWritable) {
            long ts = ((TimestampWritable) writable).getTimestamp().getTime();
            Calendar cal = Calendar.getInstance();
            cal.setTimeInMillis(ts);
            generator.writeString(DatatypeConverter.printDateTime(cal));
        }
        // HiveDate - Hive 0.12+
        else if (writable != null && HiveConstants.DATE_WRITABLE.equals(writable.getClass().getName())) {
            generator.writeString(DateWritableWriter.toES(writable));
        }
        // HiveVarcharWritable - Hive 0.12+
        else if (writable != null && HiveConstants.VARCHAR_WRITABLE.equals(writable.getClass().getName())) {
            generator.writeString(writable.toString());
        }
        // HiveChar - Hive 0.13+
        else if (writable != null && HiveConstants.CHAR_WRITABLE.equals(writable.getClass().getName())) {
            generator.writeString(StringUtils.trim(writable.toString()));
        }
        // TimestampWritableV2 - Hive 2.0+
        else if (writable != null && HiveConstants.TIMESTAMP_WRITABLE_V2.equals(writable.getClass().getName())) {
            generator.writeString(TimestampV2Writer.toES(writable));
        }
        // DateWritableV2 - Hive 2.0+
        else if (writable != null && HiveConstants.DATE_WRITABLE_V2.equals(writable.getClass().getName())) {
            generator.writeString(DateWritableWriterV2.toES(writable));
        }
        else {
            return super.write(writable, generator);
        }

        return Result.SUCCESFUL();
    }