HIVE-15952: Add blobstore integration test for CREATE LIKE (Juan Rodríguez 
Hortalá, reviewed by Sergio Pena, Illya Yalovyy)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/d93609b0
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/d93609b0
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/d93609b0

Branch: refs/heads/hive-14535
Commit: d93609b0e3b81107a337d3dc96371fe961a2f37c
Parents: f695feb
Author: Sergio Pena <[email protected]>
Authored: Thu Mar 9 13:12:00 2017 -0600
Committer: Sergio Pena <[email protected]>
Committed: Thu Mar 9 13:12:00 2017 -0600

----------------------------------------------------------------------
 data/files/test_data                            |   3 +
 .../test/queries/clientpositive/create_like.q   |  30 +++
 .../results/clientpositive/create_like.q.out    | 189 +++++++++++++++++++
 3 files changed, 222 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/d93609b0/data/files/test_data
----------------------------------------------------------------------
diff --git a/data/files/test_data b/data/files/test_data
new file mode 100644
index 0000000..3cc82df
--- /dev/null
+++ b/data/files/test_data
@@ -0,0 +1,3 @@
+1 23 a1
+2 24 b1
+3 25 c1

http://git-wip-us.apache.org/repos/asf/hive/blob/d93609b0/itests/hive-blobstore/src/test/queries/clientpositive/create_like.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/create_like.q 
b/itests/hive-blobstore/src/test/queries/clientpositive/create_like.q
new file mode 100644
index 0000000..38f384e
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/create_like.q
@@ -0,0 +1,30 @@
+-- Create external table like should not result in data loss upon dropping the 
table
+DROP TABLE blobstore_partitioned_source_table;
+CREATE TABLE blobstore_partitioned_source_table (
+  a int, b int, c string
+)
+PARTITIONED BY (dt int, hour int)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ' '
+COLLECTION ITEMS TERMINATED BY '\t'
+LOCATION '${hiveconf:test.blobstore.path.unique}/create_like/data' ;
+LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE INTO TABLE 
blobstore_partitioned_source_table
+PARTITION (dt=20110924, hour=1);
+LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE INTO TABLE 
blobstore_partitioned_source_table
+PARTITION (dt=20110924, hour=2);
+LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE INTO TABLE 
blobstore_partitioned_source_table
+PARTITION (dt=20110925, hour=1);
+LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE INTO TABLE 
blobstore_partitioned_source_table
+PARTITION (dt=20110925, hour=2);
+
+DROP TABLE like_table;
+CREATE EXTERNAL TABLE like_table LIKE blobstore_partitioned_source_table 
LOCATION '${hiveconf:test.blobstore.path.unique}/create_like/data';
+
+MSCK REPAIR TABLE like_table;
+
+SELECT * FROM blobstore_partitioned_source_table;
+SELECT * FROM like_table;
+
+DROP TABLE like_table;
+
+SELECT * FROM blobstore_partitioned_source_table;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/d93609b0/itests/hive-blobstore/src/test/results/clientpositive/create_like.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/create_like.q.out 
b/itests/hive-blobstore/src/test/results/clientpositive/create_like.q.out
new file mode 100644
index 0000000..0d362a7
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/create_like.q.out
@@ -0,0 +1,189 @@
+PREHOOK: query: DROP TABLE blobstore_partitioned_source_table
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE blobstore_partitioned_source_table
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE blobstore_partitioned_source_table (
+  a int, b int, c string
+)
+PARTITIONED BY (dt int, hour int)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ' '
+COLLECTION ITEMS TERMINATED BY '\t'
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/create_like/data
+PREHOOK: Output: database:default
+PREHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: query: CREATE TABLE blobstore_partitioned_source_table (
+  a int, b int, c string
+)
+PARTITIONED BY (dt int, hour int)
+ROW FORMAT DELIMITED
+FIELDS TERMINATED BY ' '
+COLLECTION ITEMS TERMINATED BY '\t'
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/create_like/data
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@blobstore_partitioned_source_table
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110924, hour=1)
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110924, hour=1)
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: Output: default@blobstore_partitioned_source_table@dt=20110924/hour=1
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110924, hour=2)
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110924, hour=2)
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: Output: default@blobstore_partitioned_source_table@dt=20110924/hour=2
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110925, hour=1)
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110925, hour=1)
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: Output: default@blobstore_partitioned_source_table@dt=20110925/hour=1
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110925, hour=2)
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/test_data' OVERWRITE 
INTO TABLE blobstore_partitioned_source_table
+PARTITION (dt=20110925, hour=2)
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@blobstore_partitioned_source_table
+POSTHOOK: Output: default@blobstore_partitioned_source_table@dt=20110925/hour=2
+PREHOOK: query: DROP TABLE like_table
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE like_table
+POSTHOOK: type: DROPTABLE
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/create_like/data
+PREHOOK: Output: database:default
+PREHOOK: Output: default@like_table
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/create_like/data
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@like_table
+PREHOOK: query: MSCK REPAIR TABLE like_table
+PREHOOK: type: MSCK
+PREHOOK: Output: default@like_table
+POSTHOOK: query: MSCK REPAIR TABLE like_table
+POSTHOOK: type: MSCK
+POSTHOOK: Output: default@like_table
+Partitions not in metastore:   like_table:dt=20110924/hour=1   
like_table:dt=20110924/hour=2   like_table:dt=20110925/hour=1   
like_table:dt=20110925/hour=2
+Repair: Added partition to metastore like_table:dt=20110924/hour=1
+Repair: Added partition to metastore like_table:dt=20110924/hour=2
+Repair: Added partition to metastore like_table:dt=20110925/hour=1
+Repair: Added partition to metastore like_table:dt=20110925/hour=2
+PREHOOK: query: SELECT * FROM blobstore_partitioned_source_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@blobstore_partitioned_source_table
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=1
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=2
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=1
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM blobstore_partitioned_source_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@blobstore_partitioned_source_table
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=1
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=2
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=1
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=2
+#### A masked pattern was here ####
+1      23      a1      20110924        1
+2      24      b1      20110924        1
+3      25      c1      20110924        1
+1      23      a1      20110924        2
+2      24      b1      20110924        2
+3      25      c1      20110924        2
+1      23      a1      20110925        1
+2      24      b1      20110925        1
+3      25      c1      20110925        1
+1      23      a1      20110925        2
+2      24      b1      20110925        2
+3      25      c1      20110925        2
+PREHOOK: query: SELECT * FROM like_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@like_table
+PREHOOK: Input: default@like_table@dt=20110924/hour=1
+PREHOOK: Input: default@like_table@dt=20110924/hour=2
+PREHOOK: Input: default@like_table@dt=20110925/hour=1
+PREHOOK: Input: default@like_table@dt=20110925/hour=2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM like_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@like_table
+POSTHOOK: Input: default@like_table@dt=20110924/hour=1
+POSTHOOK: Input: default@like_table@dt=20110924/hour=2
+POSTHOOK: Input: default@like_table@dt=20110925/hour=1
+POSTHOOK: Input: default@like_table@dt=20110925/hour=2
+#### A masked pattern was here ####
+1      23      a1      20110924        1
+2      24      b1      20110924        1
+3      25      c1      20110924        1
+1      23      a1      20110924        2
+2      24      b1      20110924        2
+3      25      c1      20110924        2
+1      23      a1      20110925        1
+2      24      b1      20110925        1
+3      25      c1      20110925        1
+1      23      a1      20110925        2
+2      24      b1      20110925        2
+3      25      c1      20110925        2
+PREHOOK: query: DROP TABLE like_table
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@like_table
+PREHOOK: Output: default@like_table
+POSTHOOK: query: DROP TABLE like_table
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@like_table
+POSTHOOK: Output: default@like_table
+PREHOOK: query: SELECT * FROM blobstore_partitioned_source_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@blobstore_partitioned_source_table
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=1
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=2
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=1
+PREHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=2
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM blobstore_partitioned_source_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@blobstore_partitioned_source_table
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=1
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110924/hour=2
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=1
+POSTHOOK: Input: default@blobstore_partitioned_source_table@dt=20110925/hour=2
+#### A masked pattern was here ####
+1      23      a1      20110924        1
+2      24      b1      20110924        1
+3      25      c1      20110924        1
+1      23      a1      20110924        2
+2      24      b1      20110924        2
+3      25      c1      20110924        2
+1      23      a1      20110925        1
+2      24      b1      20110925        1
+3      25      c1      20110925        1
+1      23      a1      20110925        2
+2      24      b1      20110925        2
+3      25      c1      20110925        2

Reply via email to