This is an automated email from the ASF dual-hosted git repository.

fjy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 47a6cca  Add TimestampSpec format for microsecond (#6395)
47a6cca is described below

commit 47a6cca01343e4a671e588afbfbbb6901cd46a50
Author: QiuMM <[email protected]>
AuthorDate: Fri Sep 28 00:38:44 2018 +0800

    Add TimestampSpec format for microsecond (#6395)
---
 docs/content/ingestion/ingestion-spec.md                           | 2 +-
 .../org/apache/druid/java/util/common/parsers/TimestampParser.java | 7 +++++--
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/docs/content/ingestion/ingestion-spec.md 
b/docs/content/ingestion/ingestion-spec.md
index 7978f6f..590ea30 100644
--- a/docs/content/ingestion/ingestion-spec.md
+++ b/docs/content/ingestion/ingestion-spec.md
@@ -187,7 +187,7 @@ handle all formatting decisions on their own, without using 
the ParseSpec.
 | Field | Type | Description | Required |
 |-------|------|-------------|----------|
 | column | String | The column of the timestamp. | yes |
-| format | String | iso, millis, posix, auto or any [Joda 
time](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html)
 format. | no (default == 'auto' |
+| format | String | iso, posix, millis, micro, nano, auto or any [Joda 
time](http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html)
 format. | no (default == 'auto' |
 
 ### DimensionsSpec
 
diff --git 
a/java-util/src/main/java/org/apache/druid/java/util/common/parsers/TimestampParser.java
 
b/java-util/src/main/java/org/apache/druid/java/util/common/parsers/TimestampParser.java
index 38f1206..ecd06f8 100644
--- 
a/java-util/src/main/java/org/apache/druid/java/util/common/parsers/TimestampParser.java
+++ 
b/java-util/src/main/java/org/apache/druid/java/util/common/parsers/TimestampParser.java
@@ -71,8 +71,9 @@ public class TimestampParser
         return DateTimes.of(ParserUtils.stripQuotes(input));
       };
     } else if ("posix".equalsIgnoreCase(format)
-        || "millis".equalsIgnoreCase(format)
-        || "nano".equalsIgnoreCase(format)) {
+               || "millis".equalsIgnoreCase(format)
+               || "micro".equalsIgnoreCase(format)
+               || "nano".equalsIgnoreCase(format)) {
       final Function<Number, DateTime> numericFun = 
createNumericTimestampParser(format);
       return input -> {
         Preconditions.checkArgument(!Strings.isNullOrEmpty(input), "null 
timestamp");
@@ -104,6 +105,8 @@ public class TimestampParser
   {
     if ("posix".equalsIgnoreCase(format)) {
       return input -> 
DateTimes.utc(TimeUnit.SECONDS.toMillis(input.longValue()));
+    } else if ("micro".equalsIgnoreCase(format)) {
+      return input -> 
DateTimes.utc(TimeUnit.MICROSECONDS.toMillis(input.longValue()));
     } else if ("nano".equalsIgnoreCase(format)) {
       return input -> 
DateTimes.utc(TimeUnit.NANOSECONDS.toMillis(input.longValue()));
     } else if ("ruby".equalsIgnoreCase(format)) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to