You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sp...@apache.org on 2017/03/22 22:32:35 UTC

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

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� <ho...@amazon.com>
Authored: Wed Mar 22 17:32:02 2017 -0500
Committer: Sergio Pena <se...@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