HIVE-15867: Add blobstore tests for import/export (Juan Rodríguez Hortalá, 
reviewed by Sergio Pena)


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

Branch: refs/heads/master
Commit: 9c692a5c48f699d4a01a539093bc51cb4c03107d
Parents: e434f83
Author: Juan Rodríguez Hortalá <hort...@amazon.com>
Authored: Wed Mar 22 17:32:02 2017 -0500
Committer: Sergio Pena <sergio.p...@cloudera.com>
Committed: Wed Mar 22 17:32:02 2017 -0500

----------------------------------------------------------------------
 .../org/apache/hadoop/hive/conf/HiveConf.java   |   2 +-
 ...import_addpartition_blobstore_to_blobstore.q |  45 +++
 .../import_addpartition_blobstore_to_local.q    |  44 +++
 ...import_addpartition_blobstore_to_warehouse.q |  41 +++
 .../import_addpartition_local_to_blobstore.q    |  44 +++
 .../import_blobstore_to_blobstore.q             |  30 ++
 .../import_blobstore_to_blobstore_nonpart.q     |  25 ++
 .../clientpositive/import_blobstore_to_local.q  |  30 ++
 .../import_blobstore_to_warehouse.q             |  28 ++
 .../import_blobstore_to_warehouse_nonpart.q     |  23 ++
 .../clientpositive/import_local_to_blobstore.q  |  31 ++
 .../src/test/resources/hive-site.xml            |   5 +
 ...rt_addpartition_blobstore_to_blobstore.q.out | 283 +++++++++++++++++++
 ...import_addpartition_blobstore_to_local.q.out | 283 +++++++++++++++++++
 ...rt_addpartition_blobstore_to_warehouse.q.out | 271 ++++++++++++++++++
 ...import_addpartition_local_to_blobstore.q.out | 277 ++++++++++++++++++
 .../import_blobstore_to_blobstore.q.out         | 161 +++++++++++
 .../import_blobstore_to_blobstore_nonpart.q.out | 103 +++++++
 .../import_blobstore_to_local.q.out             | 161 +++++++++++
 .../import_blobstore_to_warehouse.q.out         | 157 ++++++++++
 .../import_blobstore_to_warehouse_nonpart.q.out |  99 +++++++
 .../import_local_to_blobstore.q.out             | 159 +++++++++++
 22 files changed, 2301 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
----------------------------------------------------------------------
diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 
b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index 1b186f7..d4a0b2e 100644
--- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -2133,7 +2133,7 @@ public class HiveConf extends Configuration {
         "When true the HDFS location stored in the index file will be ignored 
at runtime.\n" +
         "If the data got moved or the name of the cluster got changed, the 
index data should still be usable."),
 
-    HIVE_EXIM_URI_SCHEME_WL("hive.exim.uri.scheme.whitelist", 
"hdfs,pfile,file",
+    HIVE_EXIM_URI_SCHEME_WL("hive.exim.uri.scheme.whitelist", 
"hdfs,pfile,file,s3,s3a",
         "A comma separated list of acceptable URI schemes for import and 
export."),
     // temporary variable for testing. This is added just to turn off this 
feature in case of a bug in
     // deployment. It has not been documented in hive-default.xml 
intentionally, this should be removed

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_blobstore.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_blobstore.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_blobstore.q
new file mode 100644
index 0000000..8fee8ed
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_blobstore.q
@@ -0,0 +1,45 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to a blobstore, and then import its different partitions
+-- using the blobstore as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/export/exim_employee;
+EXPORT TABLE exim_employee
+TO 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/import/exim_employee;
+IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_local.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_local.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_local.q
new file mode 100644
index 0000000..28bc399
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_local.q
@@ -0,0 +1,44 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to a blobstore, and then import its different partitions
+-- using the local filesystem as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_local/export/exim_employee;
+EXPORT TABLE exim_employee
+TO 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_local/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${system:build.test.dir}/import_addpartition_blobstore_to_local/import/exim_employee;
+IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_local/export/exim_employee'
+LOCATION 
'file://${system:build.test.dir}/import_addpartition_blobstore_to_local/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_local/export/exim_employee'
+LOCATION 
'file://${system:build.test.dir}/import_addpartition_blobstore_to_local/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_local/export/exim_employee'
+LOCATION 
'file://${system:build.test.dir}/import_addpartition_blobstore_to_local/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_warehouse.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_warehouse.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_warehouse.q
new file mode 100644
index 0000000..987dacf
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_blobstore_to_warehouse.q
@@ -0,0 +1,41 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to a blobstore, and then import its different partitions
+-- using the warehouse as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_warehouse/export/exim_employee;
+EXPORT TABLE exim_employee
+TO 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_warehouse/export/exim_employee';
+
+DROP TABLE exim_employee;
+IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_warehouse/export/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_warehouse/export/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_blobstore_to_warehouse/export/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_local_to_blobstore.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_local_to_blobstore.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_local_to_blobstore.q
new file mode 100644
index 0000000..8fde250
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_addpartition_local_to_blobstore.q
@@ -0,0 +1,44 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to the local filesystem, and then import its 
+-- different partitions using a blobstore as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${system:build.test.dir}/import_addpartition_local_to_blobstore/export/exim_employee;
+EXPORT TABLE exim_employee
+TO 
'file://${system:build.test.dir}/import_addpartition_local_to_blobstore/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_addpartition_local_to_blobstore/import/exim_employee;
+IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM 
'file://${system:build.test.dir}/import_addpartition_local_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_local_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM 
'file://${system:build.test.dir}/import_addpartition_local_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_local_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM 
'file://${system:build.test.dir}/import_addpartition_local_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_addpartition_local_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore.q
new file mode 100644
index 0000000..a9f9a8f
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore.q
@@ -0,0 +1,30 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to a blobstore, and then import the
+-- whole table using the blobstore as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore/export/exim_employee;
+EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore/import/exim_employee;
+IMPORT FROM 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore_nonpart.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore_nonpart.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore_nonpart.q
new file mode 100644
index 0000000..7b3f0a3
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_blobstore_nonpart.q
@@ -0,0 +1,25 @@
+-- Check we can create a non partitioned table in the warehouse, 
+-- export it to a blobstore, and then import the
+-- table using the blobstore as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee;
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore_nonpart/export/exim_employee;
+EXPORT TABLE exim_employee
+TO 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore_nonpart/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore_nonpart/import/exim_employee;
+IMPORT FROM 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore_nonpart/export/exim_employee'
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_blobstore_nonpart/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_local.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_local.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_local.q
new file mode 100644
index 0000000..ac3c451
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_local.q
@@ -0,0 +1,30 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to a blobstore, and then import the
+-- whole table using the local filesystem as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_local/export/exim_employee;
+EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_local/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${system:build.test.dir}/import_blobstore_to_local/import/exim_employee;
+IMPORT FROM 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_local/export/exim_employee'
+LOCATION 
"file://${system:build.test.dir}/import_blobstore_to_local/import/exim_employee";
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse.q
new file mode 100644
index 0000000..9f6fc54
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse.q
@@ -0,0 +1,28 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to a blobstore, and then import the
+-- whole table using the warehouse as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_warehouse/export/exim_employee;
+EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_warehouse/export/exim_employee';
+
+DROP TABLE exim_employee;
+IMPORT FROM 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_warehouse/export/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse_nonpart.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse_nonpart.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse_nonpart.q
new file mode 100644
index 0000000..6f28a51
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_blobstore_to_warehouse_nonpart.q
@@ -0,0 +1,23 @@
+-- Check we can create a non partitioned table in the warehouse, 
+-- export it to a blobstore, and then import the
+-- table using the warehouse as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee;
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_blobstore_to_warehouse_nonpart/export/exim_employee;
+EXPORT TABLE exim_employee
+TO 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_warehouse_nonpart/export/exim_employee';
+
+DROP TABLE exim_employee;
+IMPORT FROM 
'${hiveconf:test.blobstore.path.unique}/import_blobstore_to_warehouse_nonpart/export/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/queries/clientpositive/import_local_to_blobstore.q
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/queries/clientpositive/import_local_to_blobstore.q
 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_local_to_blobstore.q
new file mode 100644
index 0000000..0412d3c
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/queries/clientpositive/import_local_to_blobstore.q
@@ -0,0 +1,31 @@
+-- Check we can create a partitioned table in the warehouse, 
+-- export it to the local filesystem, and then import the
+-- whole table using a blobstore as target location
+DROP TABLE exim_employee;
+CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us");
+LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz");
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;
+
+dfs -rm -r -f 
${system:build.test.dir}/import_local_to_blobstore/export/exim_employee;
+
+EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO 
'file://${system:build.test.dir}/import_local_to_blobstore/export/exim_employee';
+
+DROP TABLE exim_employee;
+dfs -rm -r -f 
${hiveconf:test.blobstore.path.unique}/import_local_to_blobstore/import/exim_employee;
+IMPORT FROM 
"file://${system:build.test.dir}/import_local_to_blobstore/export/exim_employee"
+LOCATION 
'${hiveconf:test.blobstore.path.unique}/import_local_to_blobstore/import/exim_employee';
+
+DESCRIBE EXTENDED exim_employee;
+SELECT * FROM exim_employee;

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/resources/hive-site.xml
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/resources/hive-site.xml 
b/itests/hive-blobstore/src/test/resources/hive-site.xml
index 406b3b8..038db0d 100644
--- a/itests/hive-blobstore/src/test/resources/hive-site.xml
+++ b/itests/hive-blobstore/src/test/resources/hive-site.xml
@@ -279,6 +279,11 @@
     <value>pblob:${system:test.tmp.dir}/bucket</value>
   </property>
 
+  <property>
+    <name>hive.exim.uri.scheme.whitelist</name>
+    <value>hdfs,pfile,file,s3,s3a,pblob</value>
+  </property>
+
   <!--
   To run these tests:
   # Create a file blobstore-conf.xml  - DO NOT ADD TO REVISION CONTROL

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_blobstore.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_blobstore.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_blobstore.q.out
new file mode 100644
index 0000000..c1e57ee
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_blobstore.q.out
@@ -0,0 +1,283 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+PREHOOK: Output: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+POSTHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+POSTHOOK: Output: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/import/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/import/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/import/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/import/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/import/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/export/exim_employee
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_blobstore/import/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_local.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_local.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_local.q.out
new file mode 100644
index 0000000..4d296da
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_local.q.out
@@ -0,0 +1,283 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+PREHOOK: Output: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+POSTHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+POSTHOOK: Output: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_local/export/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_warehouse.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_warehouse.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_warehouse.q.out
new file mode 100644
index 0000000..fce5ffe
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_blobstore_to_warehouse.q.out
@@ -0,0 +1,271 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+PREHOOK: Output: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+POSTHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+POSTHOOK: Output: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+FROM '### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee'
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_blobstore_to_warehouse/export/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_local_to_blobstore.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_local_to_blobstore.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_local_to_blobstore.q.out
new file mode 100644
index 0000000..72068c5
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_addpartition_local_to_blobstore.q.out
@@ -0,0 +1,277 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: EXPORT TABLE exim_employee
+#### A masked pattern was here ####
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: EXPORT TABLE exim_employee
+#### A masked pattern was here ####
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_local_to_blobstore/import/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='us')
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_local_to_blobstore/import/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_local_to_blobstore/import/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='cz')
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_local_to_blobstore/import/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_addpartition_local_to_blobstore/import/exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: IMPORT TABLE exim_employee PARTITION (emp_country='in')
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_addpartition_local_to_blobstore/import/exim_employee
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore.q.out
new file mode 100644
index 0000000..b15a22f
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore.q.out
@@ -0,0 +1,161 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO '### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee@emp_country=us
+PREHOOK: Output: ### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee
+POSTHOOK: query: EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO '### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee@emp_country=us
+POSTHOOK: Output: ### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT FROM '### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee
+PREHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore/import/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT FROM '### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore/export/exim_employee
+POSTHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore/import/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore_nonpart.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore_nonpart.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore_nonpart.q.out
new file mode 100644
index 0000000..d92b6c1
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_blobstore_nonpart.q.out
@@ -0,0 +1,103 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+#### A masked pattern was here ####
+1
+2
+3
+4
+5
+6
+PREHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: ### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee
+POSTHOOK: query: EXPORT TABLE exim_employee
+TO '### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: ### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT FROM '### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+PREHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee
+PREHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/import/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT FROM '### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+POSTHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/export/exim_employee
+POSTHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_blobstore_nonpart/import/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+#### A masked pattern was here ####
+1
+2
+3
+4
+5
+6

http://git-wip-us.apache.org/repos/asf/hive/blob/9c692a5c/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_local.q.out
----------------------------------------------------------------------
diff --git 
a/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_local.q.out
 
b/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_local.q.out
new file mode 100644
index 0000000..4d2eeb0
--- /dev/null
+++ 
b/itests/hive-blobstore/src/test/results/clientpositive/import_blobstore_to_local.q.out
@@ -0,0 +1,161 @@
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: CREATE TABLE exim_employee (emp_id int COMMENT "employee id")
+COMMENT "employee table"
+PARTITIONED BY (emp_country string COMMENT "two char iso code")
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="in")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=in
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="us")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: LOAD DATA LOCAL INPATH "../../data/files/test.dat"
+INTO TABLE exim_employee PARTITION (emp_country="cz")
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=cz
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=cz
+PREHOOK: Input: default@exim_employee@emp_country=in
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=cz
+POSTHOOK: Input: default@exim_employee@emp_country=in
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      cz
+2      cz
+3      cz
+4      cz
+5      cz
+6      cz
+1      in
+2      in
+3      in
+4      in
+5      in
+6      in
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us
+PREHOOK: query: EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO '### test.blobstore.path ###/import_blobstore_to_local/export/exim_employee'
+PREHOOK: type: EXPORT
+PREHOOK: Input: default@exim_employee@emp_country=us
+PREHOOK: Output: ### test.blobstore.path 
###/import_blobstore_to_local/export/exim_employee
+POSTHOOK: query: EXPORT TABLE exim_employee PARTITION (emp_country='us')
+TO '### test.blobstore.path ###/import_blobstore_to_local/export/exim_employee'
+POSTHOOK: type: EXPORT
+POSTHOOK: Input: default@exim_employee@emp_country=us
+POSTHOOK: Output: ### test.blobstore.path 
###/import_blobstore_to_local/export/exim_employee
+PREHOOK: query: DROP TABLE exim_employee
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@exim_employee
+PREHOOK: Output: default@exim_employee
+POSTHOOK: query: DROP TABLE exim_employee
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Output: default@exim_employee
+PREHOOK: query: IMPORT FROM '### test.blobstore.path 
###/import_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+PREHOOK: type: IMPORT
+#### A masked pattern was here ####
+PREHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_local/export/exim_employee
+PREHOOK: Output: database:default
+POSTHOOK: query: IMPORT FROM '### test.blobstore.path 
###/import_blobstore_to_local/export/exim_employee'
+#### A masked pattern was here ####
+POSTHOOK: type: IMPORT
+#### A masked pattern was here ####
+POSTHOOK: Input: ### test.blobstore.path 
###/import_blobstore_to_local/export/exim_employee
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@exim_employee
+POSTHOOK: Output: default@exim_employee@emp_country=us
+PREHOOK: query: DESCRIBE EXTENDED exim_employee
+PREHOOK: type: DESCTABLE
+PREHOOK: Input: default@exim_employee
+POSTHOOK: query: DESCRIBE EXTENDED exim_employee
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Input: default@exim_employee
+emp_id                 int                     employee id         
+emp_country            string                  two char iso code   
+                
+# Partition Information                 
+# col_name             data_type               comment             
+                
+emp_country            string                  two char iso code   
+                
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM exim_employee
+PREHOOK: type: QUERY
+PREHOOK: Input: default@exim_employee
+PREHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM exim_employee
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@exim_employee
+POSTHOOK: Input: default@exim_employee@emp_country=us
+#### A masked pattern was here ####
+1      us
+2      us
+3      us
+4      us
+5      us
+6      us

Reply via email to