Examples of NanoTime


Examples of org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime

      throw new UnsupportedOperationException("HiveDecimalWritable writing not implemented");
    } else if (value instanceof BytesWritable) {
      recordConsumer.addBinary((Binary.fromByteArray(((BytesWritable) value).getBytes())));
    } else if (value instanceof TimestampWritable) {
      Timestamp ts = ((TimestampWritable) value).getTimestamp();
      NanoTime nt = NanoTimeUtils.getNanoTime(ts);
      nt.writeValue(recordConsumer);
    } else {
      throw new IllegalArgumentException("Unknown value type: " + value + " " + value.getClass());
    }
  }
View Full Code Here

Examples of org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime

    cal.set(Calendar.DAY_OF_MONTH, 23);
    cal.set(Calendar.HOUR_OF_DAY, 0);
    cal.setTimeZone(TimeZone.getTimeZone("GMT"));

    Timestamp ts = new Timestamp(cal.getTimeInMillis());
    NanoTime nt = NanoTimeUtils.getNanoTime(ts);
    Assert.assertEquals(nt.getJulianDay(), 2440000);

    Timestamp tsFetched = NanoTimeUtils.getTimestamp(nt);
    Assert.assertEquals(tsFetched, ts);

    //check if 30 Julian Days between Jan 1, 2005 and Jan 31, 2005.
    Calendar cal1 = Calendar.getInstance();
    cal1.set(Calendar.YEAR,  2005);
    cal1.set(Calendar.MONTH, Calendar.JANUARY);
    cal1.set(Calendar.DAY_OF_MONTH, 1);
    cal1.set(Calendar.HOUR_OF_DAY, 0);
    cal1.setTimeZone(TimeZone.getTimeZone("GMT"));

    Timestamp ts1 = new Timestamp(cal1.getTimeInMillis());
    NanoTime nt1 = NanoTimeUtils.getNanoTime(ts1);

    Timestamp ts1Fetched = NanoTimeUtils.getTimestamp(nt1);
    Assert.assertEquals(ts1Fetched, ts1);

    Calendar cal2 = Calendar.getInstance();
    cal2.set(Calendar.YEAR,  2005);
    cal2.set(Calendar.MONTH, Calendar.JANUARY);
    cal2.set(Calendar.DAY_OF_MONTH, 31);
    cal2.set(Calendar.HOUR_OF_DAY, 0);
    cal2.setTimeZone(TimeZone.getTimeZone("UTC"));

    Timestamp ts2 = new Timestamp(cal2.getTimeInMillis());
    NanoTime nt2 = NanoTimeUtils.getNanoTime(ts2);

    Timestamp ts2Fetched = NanoTimeUtils.getTimestamp(nt2);
    Assert.assertEquals(ts2Fetched, ts2);
    Assert.assertEquals(nt2.getJulianDay() - nt1.getJulianDay(), 30);
  }
View Full Code Here

Examples of org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime

    cal.setTimeZone(TimeZone.getTimeZone("GMT"));
    Timestamp ts = new Timestamp(cal.getTimeInMillis());
    ts.setNanos(1);

    //(1*60*60 + 1*60 + 1) * 10e9 + 1
    NanoTime nt = NanoTimeUtils.getNanoTime(ts);
    Assert.assertEquals(nt.getTimeOfDayNanos(), 3661000000001L);

    //case 2: 23:59:59.999999999
    cal = Calendar.getInstance();
    cal.set(Calendar.YEAR,  1968);
    cal.set(Calendar.MONTH, Calendar.MAY);
    cal.set(Calendar.DAY_OF_MONTH, 23);
    cal.set(Calendar.HOUR_OF_DAY, 23);
    cal.set(Calendar.MINUTE, 59);
    cal.set(Calendar.SECOND, 59);
    cal.setTimeZone(TimeZone.getTimeZone("GMT"));
    ts = new Timestamp(cal.getTimeInMillis());
    ts.setNanos(999999999);

    //(23*60*60 + 59*60 + 59)*10e9 + 999999999
    nt = NanoTimeUtils.getNanoTime(ts);
    Assert.assertEquals(nt.getTimeOfDayNanos(), 86399999999999L);

    //case 3: verify the difference.
    Calendar cal2 = Calendar.getInstance();
    cal2.set(Calendar.YEAR,  1968);
    cal2.set(Calendar.MONTH, Calendar.MAY);
    cal2.set(Calendar.DAY_OF_MONTH, 23);
    cal2.set(Calendar.HOUR_OF_DAY, 0);
    cal2.set(Calendar.MINUTE, 10);
    cal2.set(Calendar.SECOND, 0);
    cal2.setTimeZone(TimeZone.getTimeZone("GMT"));
    Timestamp ts2 = new Timestamp(cal2.getTimeInMillis());
    ts2.setNanos(10);

    Calendar cal1 = Calendar.getInstance();
    cal1.set(Calendar.YEAR,  1968);
    cal1.set(Calendar.MONTH, Calendar.MAY);
    cal1.set(Calendar.DAY_OF_MONTH, 23);
    cal1.set(Calendar.HOUR_OF_DAY, 0);
    cal1.set(Calendar.MINUTE, 0);
    cal1.set(Calendar.SECOND, 0);
    cal1.setTimeZone(TimeZone.getTimeZone("GMT"));
    Timestamp ts1 = new Timestamp(cal1.getTimeInMillis());
    ts1.setNanos(1);

    NanoTime n2 = NanoTimeUtils.getNanoTime(ts2);
    NanoTime n1 = NanoTimeUtils.getNanoTime(ts1);

    Assert.assertEquals(n2.getTimeOfDayNanos() - n1.getTimeOfDayNanos(), 600000000009L);
  }
View Full Code Here

Examples of org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime

     * (0*60*60 + 1*60 + 1)*10e9 + 1 = 61000000001, or
     *
     * 17:00 PST = 01:00 GMT (if not daylight savings)
     * (1*60*60 + 1*60 + 1)*10e9 + 1 = 3661000000001
     */
    NanoTime nt = NanoTimeUtils.getNanoTime(ts);
    long timeOfDayNanos = nt.getTimeOfDayNanos();
    Assert.assertTrue(timeOfDayNanos == 61000000001L || timeOfDayNanos == 3661000000001L);

    //in both cases, this will be the next day in GMT
    Assert.assertEquals(nt.getJulianDay(), 2440001);
  }
View Full Code Here

Examples of org.apache.hadoop.hive.ql.io.parquet.timestamp.NanoTime

    verifyTsString("0001-01-01 00:00:00.0");
  }

  private void verifyTsString(String tsString) {
    Timestamp ts = Timestamp.valueOf(tsString);
    NanoTime nt = NanoTimeUtils.getNanoTime(ts);
    Timestamp tsFetched = NanoTimeUtils.getTimestamp(nt);
    Assert.assertEquals(tsString, tsFetched.toString());
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.