You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@parquet.apache.org by bl...@apache.org on 2014/07/30 17:55:59 UTC

git commit: PARQUET-12: Add format support for additional converted types.

Repository: incubator-parquet-format
Updated Branches:
  refs/heads/master 52a6a213f -> 090444ca7


PARQUET-12: Add format support for additional converted types.

Author: Jacques Nadeau <ja...@apache.org>

Closes #3 from jacques-n/PARQUET-12 and squashes the following commits:

7001502 [Jacques Nadeau] Remove micros implementations until everyone is agreed on micros versus nanos.
b0e067c [Jacques Nadeau] PARQUET-12: Add format support for additional converted types.


Project: http://git-wip-us.apache.org/repos/asf/incubator-parquet-format/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-parquet-format/commit/090444ca
Tree: http://git-wip-us.apache.org/repos/asf/incubator-parquet-format/tree/090444ca
Diff: http://git-wip-us.apache.org/repos/asf/incubator-parquet-format/diff/090444ca

Branch: refs/heads/master
Commit: 090444ca7315651791f108755955663dfab7c942
Parents: 52a6a21
Author: Jacques Nadeau <ja...@apache.org>
Authored: Wed Jul 30 08:55:46 2014 -0700
Committer: Ryan Blue <rb...@cloudera.com>
Committed: Wed Jul 30 08:55:46 2014 -0700

----------------------------------------------------------------------
 src/thrift/parquet.thrift | 84 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-parquet-format/blob/090444ca/src/thrift/parquet.thrift
----------------------------------------------------------------------
diff --git a/src/thrift/parquet.thrift b/src/thrift/parquet.thrift
index 5512153..9d875b0 100644
--- a/src/thrift/parquet.thrift
+++ b/src/thrift/parquet.thrift
@@ -76,6 +76,90 @@ enum ConvertedType {
    * 2 digits over).
    */
   DECIMAL = 5;
+
+  /**
+   * A Date
+   *
+   * Stored as days since Unix epoch, encoded as the INT32 physical type.
+   *
+   */
+  DATE = 6; 
+
+  /** 
+   * A time 
+   *
+   * The total number of milliseconds since midnight.  The value is stored 
+   * as an INT32 physical type.
+   */
+  TIME_MILLIS = 7;
+  // RESERVED = 8; 
+
+  /**
+   * A date/time combination
+   * 
+   * Date and time recorded as milliseconds since the Unix epoch.  Recorded as
+   * a physical type of INT64.
+   */
+  TIMESTAMP_MILLIS = 9; 
+  // RESERVED = 10;
+
+
+  /** 
+   * An unsigned integer value.  
+   * 
+   * The number describes the maximum number of meainful data bits in 
+   * the stored value. 8, 16 and 32 bit values are stored using the 
+   * INT32 physical type.  64 bit values are stored using the INT64
+   * physical type.
+   *
+   */
+  UINT_8 = 11;
+  UINT_16 = 12;
+  UINT_32 = 13;
+  UINT_64 = 14;
+
+  /**
+   * A signed integer value.
+   *
+   * The number describes the maximum number of meainful data bits in
+   * the stored value. 8, 16 and 32 bit values are stored using the
+   * INT32 physical type.  64 bit values are stored using the INT64
+   * physical type.
+   *
+   */
+  INT_8 = 15;
+  INT_16 = 16;
+  INT_32 = 17;
+  INT_64 = 18;
+
+  /** 
+   * An embedded JSON document
+   * 
+   * A JSON document embedded within a single UTF8 column.
+   */
+  JSON = 19;
+
+  /** 
+   * An embedded BSON document
+   * 
+   * A BSON document embedded within a single BINARY column. 
+   */
+  BSON = 20;
+
+  /**
+   * An interval of time
+   * 
+   * This type annotates data stored as a FIXED_LEN_BYTE_ARRAY of length 12
+   * This data is composed of three separate little endian unsigned
+   * integers.  Each stores a component of a duration of time.  The first
+   * integer identifies the number of months associated with the duration,
+   * the second identifies the number of days associated with the duration
+   * and the third identifies the number of milliseconds associated with 
+   * the provided duration.  This duration of time is independent of any
+   * particular timezone or date.
+   */
+  INTERVAL = 21;
+  
 }
 
 /**