diff --git data/files/avro_date.txt data/files/avro_date.txt new file mode 100644 index 0000000000000000000000000000000000000000..0858896e5e89e042d8327da6c0f051141be2962a --- /dev/null +++ data/files/avro_date.txt @@ -0,0 +1,4 @@ +2012-02-21|foo:1980-12-16,bar:1998-05-07|2011-09-04,2011-09-05 +2014-02-11|baz:1981-12-16|2011-09-05 +1947-02-11|baz:1921-12-16|2011-09-05 +8200-02-11|baz:6981-12-16|1039-09-05 diff --git ql/src/test/queries/clientpositive/avro_date.q ql/src/test/queries/clientpositive/avro_date.q new file mode 100644 index 0000000000000000000000000000000000000000..996fa47a32ea84fdf70b0a1db08ea857dcdff02d --- /dev/null +++ ql/src/test/queries/clientpositive/avro_date.q @@ -0,0 +1,24 @@ +DROP TABLE avro_date_staging; +DROP TABLE avro_date; +DROP TABLE avro_date_casts; + +CREATE TABLE avro_date_staging (d date, m1 map, l1 array) + ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' + COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' + STORED AS TEXTFILE; + +LOAD DATA LOCAL INPATH '../../data/files/avro_date.txt' OVERWRITE INTO TABLE avro_date_staging; + +CREATE TABLE avro_date (d date, m1 map, l1 array) + PARTITIONED BY (p1 int, p2 date) + ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' + COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' + STORED AS AVRO; + +INSERT OVERWRITE TABLE avro_date PARTITION(p1=2, p2='2014-09-26') SELECT * FROM avro_date_staging; + +SELECT * FROM avro_date; +SELECT d, COUNT(d) FROM avro_date GROUP BY d; +SELECT * FROM avro_date WHERE d!='1947-02-11'; +SELECT * FROM avro_date WHERE d<'2014-12-21'; +SELECT * FROM avro_date WHERE d>'8000-12-01'; diff --git ql/src/test/results/clientpositive/avro_date.q.out ql/src/test/results/clientpositive/avro_date.q.out new file mode 100644 index 0000000000000000000000000000000000000000..276a53c9dce898b6c167238507cb7f46ba4ffa78 --- /dev/null +++ ql/src/test/results/clientpositive/avro_date.q.out @@ -0,0 +1,126 @@ +PREHOOK: query: DROP TABLE avro_date_staging +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE avro_date_staging +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE avro_date +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE avro_date +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE avro_date_casts +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE avro_date_casts +POSTHOOK: type: DROPTABLE +PREHOOK: query: CREATE TABLE avro_date_staging (d date, m1 map, l1 array) + ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' + COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' + STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@avro_date_staging +POSTHOOK: query: CREATE TABLE avro_date_staging (d date, m1 map, l1 array) + ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' + COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' + STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@avro_date_staging +PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/avro_date.txt' OVERWRITE INTO TABLE avro_date_staging +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@avro_date_staging +POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/avro_date.txt' OVERWRITE INTO TABLE avro_date_staging +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@avro_date_staging +PREHOOK: query: CREATE TABLE avro_date (d date, m1 map, l1 array) + PARTITIONED BY (p1 int, p2 date) + ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' + COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' + STORED AS AVRO +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@avro_date +POSTHOOK: query: CREATE TABLE avro_date (d date, m1 map, l1 array) + PARTITIONED BY (p1 int, p2 date) + ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' + COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATED BY ':' + STORED AS AVRO +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@avro_date +PREHOOK: query: INSERT OVERWRITE TABLE avro_date PARTITION(p1=2, p2='2014-09-26') SELECT * FROM avro_date_staging +PREHOOK: type: QUERY +PREHOOK: Input: default@avro_date_staging +PREHOOK: Output: default@avro_date@p1=2/p2=2014-09-26 +POSTHOOK: query: INSERT OVERWRITE TABLE avro_date PARTITION(p1=2, p2='2014-09-26') SELECT * FROM avro_date_staging +POSTHOOK: type: QUERY +POSTHOOK: Input: default@avro_date_staging +POSTHOOK: Output: default@avro_date@p1=2/p2=2014-09-26 +POSTHOOK: Lineage: avro_date PARTITION(p1=2,p2=2014-09-26).d SIMPLE [(avro_date_staging)avro_date_staging.FieldSchema(name:d, type:date, comment:null), ] +POSTHOOK: Lineage: avro_date PARTITION(p1=2,p2=2014-09-26).l1 SIMPLE [(avro_date_staging)avro_date_staging.FieldSchema(name:l1, type:array, comment:null), ] +POSTHOOK: Lineage: avro_date PARTITION(p1=2,p2=2014-09-26).m1 SIMPLE [(avro_date_staging)avro_date_staging.FieldSchema(name:m1, type:map, comment:null), ] +PREHOOK: query: SELECT * FROM avro_date +PREHOOK: type: QUERY +PREHOOK: Input: default@avro_date +PREHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM avro_date +POSTHOOK: type: QUERY +POSTHOOK: Input: default@avro_date +POSTHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +2012-02-21 {"foo":"1980-12-16","bar":"1998-05-07"} ["2011-09-04","2011-09-05"] 2 2014-09-26 +2014-02-11 {"baz":"1981-12-16"} ["2011-09-05"] 2 2014-09-26 +1947-02-11 {"baz":"1921-12-16"} ["2011-09-05"] 2 2014-09-26 +8200-02-11 {"baz":"6981-12-16"} ["1039-09-05"] 2 2014-09-26 +PREHOOK: query: SELECT d, COUNT(d) FROM avro_date GROUP BY d +PREHOOK: type: QUERY +PREHOOK: Input: default@avro_date +PREHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +POSTHOOK: query: SELECT d, COUNT(d) FROM avro_date GROUP BY d +POSTHOOK: type: QUERY +POSTHOOK: Input: default@avro_date +POSTHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +1947-02-11 1 +2012-02-21 1 +2014-02-11 1 +8200-02-11 1 +PREHOOK: query: SELECT * FROM avro_date WHERE d!='1947-02-11' +PREHOOK: type: QUERY +PREHOOK: Input: default@avro_date +PREHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM avro_date WHERE d!='1947-02-11' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@avro_date +POSTHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +2012-02-21 {"foo":"1980-12-16","bar":"1998-05-07"} ["2011-09-04","2011-09-05"] 2 2014-09-26 +2014-02-11 {"baz":"1981-12-16"} ["2011-09-05"] 2 2014-09-26 +8200-02-11 {"baz":"6981-12-16"} ["1039-09-05"] 2 2014-09-26 +PREHOOK: query: SELECT * FROM avro_date WHERE d<'2014-12-21' +PREHOOK: type: QUERY +PREHOOK: Input: default@avro_date +PREHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM avro_date WHERE d<'2014-12-21' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@avro_date +POSTHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +2012-02-21 {"foo":"1980-12-16","bar":"1998-05-07"} ["2011-09-04","2011-09-05"] 2 2014-09-26 +2014-02-11 {"baz":"1981-12-16"} ["2011-09-05"] 2 2014-09-26 +1947-02-11 {"baz":"1921-12-16"} ["2011-09-05"] 2 2014-09-26 +PREHOOK: query: SELECT * FROM avro_date WHERE d>'8000-12-01' +PREHOOK: type: QUERY +PREHOOK: Input: default@avro_date +PREHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM avro_date WHERE d>'8000-12-01' +POSTHOOK: type: QUERY +POSTHOOK: Input: default@avro_date +POSTHOOK: Input: default@avro_date@p1=2/p2=2014-09-26 +#### A masked pattern was here #### +8200-02-11 {"baz":"6981-12-16"} ["1039-09-05"] 2 2014-09-26