@Override void serialize(RandomAccessOutput byteStream, Object obj, ObjectInspector objInspector, boolean skipLengthPrefix, BooleanRef warnedOnceNullMapKey) { DateWritableV2 d = ((DateObjectInspector) objInspector).getPrimitiveWritableObject(obj); LazyBinarySerDe.writeDateToByteStream(byteStream, d); } }
@Override protected void updateMin(Object minValue, DateObjectInspector minFieldOI) { if ((minValue != null) && (min == null || min.compareTo(minFieldOI.getPrimitiveWritableObject(minValue)) > 0)) { // DateWritableV2 is mutable, DateStatsAgg needs its own copy min = new DateWritableV2(minFieldOI.getPrimitiveWritableObject(minValue)); } }
@Override protected void updateMax(Object maxValue, DateObjectInspector maxFieldOI) { if ((maxValue != null) && (max == null || max.compareTo(maxFieldOI.getPrimitiveWritableObject(maxValue)) < 0)) { // DateWritableV2 is mutable, DateStatsAgg needs its own copy max = new DateWritableV2(maxFieldOI.getPrimitiveWritableObject(maxValue)); } } };
@Override protected void updateMin(Object minValue, DateObjectInspector minFieldOI) { if ((minValue != null) && (min == null || min.compareTo(minFieldOI.getPrimitiveWritableObject(minValue)) > 0)) { // DateWritable is mutable, DateStatsAgg needs its own copy min = new DateWritable(minFieldOI.getPrimitiveWritableObject(minValue)); } }
@Override protected void updateMax(Object maxValue, DateObjectInspector maxFieldOI) { if ((maxValue != null) && (max == null || max.compareTo(maxFieldOI.getPrimitiveWritableObject(maxValue)) < 0)) { // DateWritable is mutable, DateStatsAgg needs its own copy max = new DateWritable(maxFieldOI.getPrimitiveWritableObject(maxValue)); } } };
@Override void write(Object obj) throws IOException { super.write(obj); if (obj != null) { // Using the Writable here as it's used directly for writing as well as for stats. DateWritable val = ((DateObjectInspector) inspector).getPrimitiveWritableObject(obj); indexStatistics.updateDate(val); writer.write(val.getDays()); if (createBloomFilter) { bloomFilter.addLong(val.getDays()); } } }
private static void unpackDateStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDateStats().setNumNulls(v); } else if (fName.equals("numdistinctvalues")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDateStats().setNumDVs(v); } else if (fName.equals("max")) { DateWritableV2 v = ((DateObjectInspector) oi).getPrimitiveWritableObject(o); statsObj.getStatsData().getDateStats().setHighValue(new Date(v.getDays())); } else if (fName.equals("min")) { DateWritableV2 v = ((DateObjectInspector) oi).getPrimitiveWritableObject(o); statsObj.getStatsData().getDateStats().setLowValue(new Date(v.getDays())); } else if (fName.equals("ndvbitvector")) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; byte[] buf = ((BinaryObjectInspector) poi).getPrimitiveJavaObject(o); statsObj.getStatsData().getDateStats().setBitVectors(buf); ; } }
private void unpackDateStats(ObjectInspector oi, Object o, String fName, ColumnStatisticsObj statsObj) { if (fName.equals("countnulls")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDateStats().setNumNulls(v); } else if (fName.equals("numdistinctvalues")) { long v = ((LongObjectInspector) oi).get(o); statsObj.getStatsData().getDateStats().setNumDVs(v); } else if (fName.equals("max")) { DateWritable v = ((DateObjectInspector) oi).getPrimitiveWritableObject(o); statsObj.getStatsData().getDateStats().setHighValue(new Date(v.getDays())); } else if (fName.equals("min")) { DateWritable v = ((DateObjectInspector) oi).getPrimitiveWritableObject(o); statsObj.getStatsData().getDateStats().setLowValue(new Date(v.getDays())); } else if (fName.equals("ndvbitvector")) { PrimitiveObjectInspector poi = (PrimitiveObjectInspector) oi; String v = ((StringObjectInspector) poi).getPrimitiveJavaObject(o); statsObj.getStatsData().getDateStats().setBitVectors(v);; } }
result = ((DateObjectInspector) oi).getPrimitiveWritableObject(o).get(); break; case TIMESTAMP:
retValue.set(inputDateOI.getPrimitiveWritableObject(arguments[0].get()) .getTimeInSeconds()); return retValue;
((DateObjectInspector) oi).getPrimitiveWritableObject(o)); break;
Date date = ((DateObjectInspector) oi).getPrimitiveWritableObject(o).get(); return TimestampTZUtil.convert(date, timeZone);
t.set(((DateObjectInspector) inputOI).getPrimitiveWritableObject(input).toString()); return t; case TIMESTAMP:
retValue.set(inputDateOI.getPrimitiveWritableObject(arguments[0].get()) .getTimeInSeconds()); return retValue;
break; case DATE: result = ((DateObjectInspector) oi).getPrimitiveWritableObject(o).toString(); break; case TIMESTAMP:
case DATE: result = Timestamp.ofEpochMilli( ((DateObjectInspector) inputOI).getPrimitiveWritableObject(o).get().toEpochMilli()); break; case TIMESTAMP:
case DATE: DateWritableV2 vDate = ((DateObjectInspector)inputOI). getPrimitiveWritableObject(parameters[0]); bf.addLong(vDate.getDays()); break;
return ((DateObjectInspector) poi).getPrimitiveWritableObject(o).hashCode(); case TIMESTAMP: TimestampWritableV2 t = ((TimestampObjectInspector) poi)
case DATE: DateWritableV2 vDate = ((DateObjectInspector) valObjectInspector). getPrimitiveWritableObject(arguments[0].get()); return bloomFilter.testLong(vDate.getDays()); case TIMESTAMP:
return ((DateObjectInspector) oi1).getPrimitiveWritableObject(o1) .equals(((DateObjectInspector) oi2).getPrimitiveWritableObject(o2));