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/05/17 18:50:49 UTC

hive git commit: HIVE-16539: Add PTF tests for blobstores (Juan Rodríguez Hortalá, reviewed by Sergio Pena)

Repository: hive
Updated Branches:
  refs/heads/master eead46c4c -> 029763517


HIVE-16539: Add PTF tests for blobstores (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/02976351
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/02976351
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/02976351

Branch: refs/heads/master
Commit: 029763517b45f1bd8c96bcfad9c892f6d4c67ea5
Parents: eead46c
Author: Juan Rodríguez Hortalá <ho...@amazon.com>
Authored: Wed May 17 13:50:22 2017 -0500
Committer: Sergio Pena <se...@cloudera.com>
Committed: Wed May 17 13:50:22 2017 -0500

----------------------------------------------------------------------
 data/files/part.orc                             | Bin 0 -> 2689 bytes
 .../clientpositive/ptf_general_queries.q        |  34 ++
 .../test/queries/clientpositive/ptf_matchpath.q |  35 ++
 .../test/queries/clientpositive/ptf_orcfile.q   |  32 ++
 .../queries/clientpositive/ptf_persistence.q    |  15 +
 .../test/queries/clientpositive/ptf_rcfile.q    |  32 ++
 .../test/queries/clientpositive/ptf_seqfile.q   |  32 ++
 .../clientpositive/ptf_general_queries.q.out    | 139 +++++
 .../results/clientpositive/ptf_matchpath.q.out  | 105 ++++
 .../results/clientpositive/ptf_orcfile.q.out    | 104 ++++
 .../clientpositive/ptf_persistence.q.out        | 549 +++++++++++++++++++
 .../results/clientpositive/ptf_rcfile.q.out     | 104 ++++
 .../results/clientpositive/ptf_seqfile.q.out    | 104 ++++
 13 files changed, 1285 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/data/files/part.orc
----------------------------------------------------------------------
diff --git a/data/files/part.orc b/data/files/part.orc
new file mode 100644
index 0000000..361326c
Binary files /dev/null and b/data/files/part.orc differ

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/queries/clientpositive/ptf_general_queries.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/ptf_general_queries.q b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_general_queries.q
new file mode 100644
index 0000000..5ad65b1
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_general_queries.q
@@ -0,0 +1,34 @@
+-- Check some basic PTF operations
+DROP TABLE part_tiny;
+CREATE TABLE part_tiny(
+  p_partkey INT,
+  p_name STRING,
+  p_mfgr STRING,
+  p_brand STRING,
+  p_type STRING,
+  p_size INT,
+  p_container STRING,
+  p_retailprice DOUBLE,
+  p_comment STRING
+)
+LOCATION '${hiveconf:test.blobstore.path.unique}/ptf_general_queries/part_tiny';
+
+LOAD DATA LOCAL INPATH '../../data/files/part_tiny.txt' INTO TABLE part_tiny;
+
+-- Test DISTRIBUTE BY without any aggregate function 
+SELECT p_mfgr, p_name, p_size
+FROM part_tiny
+DISTRIBUTE BY p_mfgr
+SORT BY p_name;
+        
+-- Test using UDAF without windowing nor group by 
+SELECT 
+  p_mfgr,p_name,p_retailprice,
+  SUM(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS sum,
+  MIN(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS min,
+  MAX(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS max,
+  AVG(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS avg
+FROM part_tiny;
+        
+-- Test using a constant expression in SELECT 
+SELECT 'tst1' AS key, COUNT(1) AS value FROM part_tiny;

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/queries/clientpositive/ptf_matchpath.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/ptf_matchpath.q b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_matchpath.q
new file mode 100644
index 0000000..72d0c6a
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_matchpath.q
@@ -0,0 +1,35 @@
+-- Check behavior of MATCHPATH with a partitioned table with several partitions, 
+-- and with a partitioned table with a single partition
+DROP TABLE flights_tiny;
+CREATE TABLE flights_tiny (
+  origin_city_name string,
+  dest_city_name string,
+  year int,
+  month int,
+  day_of_month int,
+  arr_delay float,
+  fl_num string
+)
+LOCATION '${hiveconf:test.blobstore.path.unique}/ptf_matchpath/flights_tiny';
+
+LOAD DATA LOCAL INPATH '../../data/files/flights_tiny.txt' INTO TABLE flights_tiny;
+
+-- basic MATCHPATH test
+SELECT origin_city_name, fl_num, year, month, day_of_month, sz, tpath
+FROM MATCHPATH(
+  ON flights_tiny 
+  DISTRIBUTE BY fl_num
+  SORT BY year, month, day_of_month
+  ARG1('LATE.LATE+'), ARG2('LATE'), ARG3(arr_delay > 15),
+  ARG4('origin_city_name, fl_num, year, month, day_of_month, SIZE(tpath) AS sz, tpath[0].day_of_month AS tpath')
+);
+
+-- MATCHPATH on 1 partition
+SELECT origin_city_name, fl_num, year, month, day_of_month, sz, tpath
+FROM MATCHPATH(
+  ON flights_tiny 
+  SORT BY year, month, day_of_month, fl_num, origin_city_name
+  ARG1('LATE.LATE+'), ARG2('LATE'), ARG3(arr_delay > 15),
+  ARG4('origin_city_name, fl_num, year, month, day_of_month, SIZE(tpath) AS sz, tpath[0].day_of_month AS tpath')
+)
+WHERE fl_num = 1142;

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/queries/clientpositive/ptf_orcfile.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/ptf_orcfile.q b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_orcfile.q
new file mode 100644
index 0000000..7a25275
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_orcfile.q
@@ -0,0 +1,32 @@
+-- Test several window functions on a table stored using ORC
+DROP TABLE part_orc;
+CREATE TABLE part_orc(
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS ORC
+LOCATION '${hiveconf:test.blobstore.path.unique}/ptf_orcfile/part_orc';
+
+LOAD DATA LOCAL INPATH '../../data/files/part.orc' OVERWRITE INTO TABLE part_orc;
+
+-- Test windowing PTFs with several partitions, using ORC storage 
+SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_orc 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+);

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/queries/clientpositive/ptf_persistence.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/ptf_persistence.q b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_persistence.q
new file mode 100644
index 0000000..edc736a
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_persistence.q
@@ -0,0 +1,15 @@
+-- Check PTFOperator is able to reset PTFPersistence (https://issues.apache.org/jira/browse/HIVE-4932)
+DROP TABLE ptf_persistence_table;
+CREATE TABLE ptf_persistence_table(
+  key int,
+  value string) 
+STORED AS TEXTFILE
+LOCATION '${hiveconf:test.blobstore.path.unique}/ptf_persistence/ptf_persistence_table';
+
+LOAD DATA LOCAL INPATH '../../data/files/srcbucket1.txt' INTO TABLE ptf_persistence_table;
+
+SET hive.conf.validation=false;
+SET hive.ptf.partition.persistence.memsize=32;
+SELECT key, value, NTILE(10)
+OVER (PARTITION BY value ORDER BY key DESC)
+FROM ptf_persistence_table;

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/queries/clientpositive/ptf_rcfile.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/ptf_rcfile.q b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_rcfile.q
new file mode 100644
index 0000000..13edae3
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_rcfile.q
@@ -0,0 +1,32 @@
+-- Test several window functions on a table stored using RC
+DROP TABLE part_rc;
+CREATE TABLE part_rc(
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS RCFILE 
+LOCATION '${hiveconf:test.blobstore.path.unique}/ptf_rcfile/part_rc';
+
+LOAD DATA LOCAL INPATH '../../data/files/part.rc' OVERWRITE INTO TABLE part_rc;
+
+-- Test windowing PTFs with several partitions, using RC storage 
+SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_rc 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+);

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/queries/clientpositive/ptf_seqfile.q
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/queries/clientpositive/ptf_seqfile.q b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_seqfile.q
new file mode 100644
index 0000000..6307d44
--- /dev/null
+++ b/itests/hive-blobstore/src/test/queries/clientpositive/ptf_seqfile.q
@@ -0,0 +1,32 @@
+-- Test several window functions on a table stored using sequence files
+DROP TABLE part_seq;
+CREATE TABLE part_seq( 
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS SEQUENCEFILE 
+LOCATION '${hiveconf:test.blobstore.path.unique}/ptf_seqfile/part_seq';
+
+LOAD DATA LOCAL INPATH '../../data/files/part.seq' OVERWRITE INTO TABLE part_seq;
+
+-- Test windowing PTFs with several partitions, using sequence files storage 
+SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_seq 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+);

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/results/clientpositive/ptf_general_queries.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/ptf_general_queries.q.out b/itests/hive-blobstore/src/test/results/clientpositive/ptf_general_queries.q.out
new file mode 100644
index 0000000..5e10716
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/ptf_general_queries.q.out
@@ -0,0 +1,139 @@
+PREHOOK: query: DROP TABLE part_tiny
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE part_tiny
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE part_tiny(
+  p_partkey INT,
+  p_name STRING,
+  p_mfgr STRING,
+  p_brand STRING,
+  p_type STRING,
+  p_size INT,
+  p_container STRING,
+  p_retailprice DOUBLE,
+  p_comment STRING
+)
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/ptf_general_queries/part_tiny
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_tiny
+POSTHOOK: query: CREATE TABLE part_tiny(
+  p_partkey INT,
+  p_name STRING,
+  p_mfgr STRING,
+  p_brand STRING,
+  p_type STRING,
+  p_size INT,
+  p_container STRING,
+  p_retailprice DOUBLE,
+  p_comment STRING
+)
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/ptf_general_queries/part_tiny
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_tiny
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part_tiny.txt' INTO TABLE part_tiny
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@part_tiny
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part_tiny.txt' INTO TABLE part_tiny
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@part_tiny
+PREHOOK: query: SELECT p_mfgr, p_name, p_size
+FROM part_tiny
+DISTRIBUTE BY p_mfgr
+SORT BY p_name
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_tiny
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT p_mfgr, p_name, p_size
+FROM part_tiny
+DISTRIBUTE BY p_mfgr
+SORT BY p_name
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_tiny
+#### A masked pattern was here ####
+Manufacturer#5	almond antique blue firebrick mint	31
+Manufacturer#1	almond antique burnished rose metallic	2
+Manufacturer#1	almond antique burnished rose metallic	2
+Manufacturer#3	almond antique chartreuse khaki white	17
+Manufacturer#1	almond antique chartreuse lavender yellow	34
+Manufacturer#3	almond antique forest lavender goldenrod	14
+Manufacturer#4	almond antique gainsboro frosted violet	10
+Manufacturer#5	almond antique medium spring khaki	6
+Manufacturer#3	almond antique metallic orange dim	19
+Manufacturer#3	almond antique misty red olive	1
+Manufacturer#3	almond antique olive coral navajo	45
+Manufacturer#1	almond antique salmon chartreuse burlywood	6
+Manufacturer#5	almond antique sky peru orange	2
+Manufacturer#2	almond antique violet chocolate turquoise	14
+Manufacturer#4	almond antique violet mint lemon	39
+Manufacturer#2	almond antique violet turquoise frosted	40
+Manufacturer#1	almond aquamarine burnished black steel	28
+Manufacturer#5	almond aquamarine dodger light gainsboro	46
+Manufacturer#4	almond aquamarine floral ivory bisque	27
+Manufacturer#2	almond aquamarine midnight light salmon	2
+Manufacturer#1	almond aquamarine pink moccasin thistle	42
+Manufacturer#2	almond aquamarine rose maroon antique	25
+Manufacturer#2	almond aquamarine sandy cyan gainsboro	18
+Manufacturer#4	almond aquamarine yellow dodger mint	7
+Manufacturer#4	almond azure aquamarine papaya violet	12
+Manufacturer#5	almond azure blanched chiffon midnight	23
+PREHOOK: query: SELECT 
+  p_mfgr,p_name,p_retailprice,
+  SUM(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS sum,
+  MIN(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS min,
+  MAX(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS max,
+  AVG(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS avg
+FROM part_tiny
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_tiny
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT 
+  p_mfgr,p_name,p_retailprice,
+  SUM(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS sum,
+  MIN(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS min,
+  MAX(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS max,
+  AVG(p_retailprice) OVER(PARTITION BY p_mfgr ORDER BY p_name) AS avg
+FROM part_tiny
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_tiny
+#### A masked pattern was here ####
+Manufacturer#1	almond antique burnished rose metallic	1173.15	2346.3	1173.15	1173.15	1173.15
+Manufacturer#1	almond antique burnished rose metallic	1173.15	2346.3	1173.15	1173.15	1173.15
+Manufacturer#1	almond antique chartreuse lavender yellow	1753.76	4100.06	1173.15	1753.76	1366.6866666666667
+Manufacturer#1	almond antique salmon chartreuse burlywood	1602.59	5702.650000000001	1173.15	1753.76	1425.6625000000001
+Manufacturer#1	almond aquamarine burnished black steel	1414.42	7117.070000000001	1173.15	1753.76	1423.4140000000002
+Manufacturer#1	almond aquamarine pink moccasin thistle	1632.66	8749.730000000001	1173.15	1753.76	1458.2883333333336
+Manufacturer#2	almond antique violet chocolate turquoise	1690.68	1690.68	1690.68	1690.68	1690.68
+Manufacturer#2	almond antique violet turquoise frosted	1800.7	3491.38	1690.68	1800.7	1745.69
+Manufacturer#2	almond aquamarine midnight light salmon	2031.98	5523.360000000001	1690.68	2031.98	1841.1200000000001
+Manufacturer#2	almond aquamarine rose maroon antique	1698.66	7222.02	1690.68	2031.98	1805.505
+Manufacturer#2	almond aquamarine sandy cyan gainsboro	1701.6	8923.62	1690.68	2031.98	1784.7240000000002
+Manufacturer#3	almond antique chartreuse khaki white	1671.68	1671.68	1671.68	1671.68	1671.68
+Manufacturer#3	almond antique forest lavender goldenrod	1190.27	2861.95	1190.27	1671.68	1430.975
+Manufacturer#3	almond antique metallic orange dim	1410.39	4272.34	1190.27	1671.68	1424.1133333333335
+Manufacturer#3	almond antique misty red olive	1922.98	6195.32	1190.27	1922.98	1548.83
+Manufacturer#3	almond antique olive coral navajo	1337.29	7532.61	1190.27	1922.98	1506.522
+Manufacturer#4	almond antique gainsboro frosted violet	1620.67	1620.67	1620.67	1620.67	1620.67
+Manufacturer#4	almond antique violet mint lemon	1375.42	2996.09	1375.42	1620.67	1498.045
+Manufacturer#4	almond aquamarine floral ivory bisque	1206.26	4202.35	1206.26	1620.67	1400.7833333333335
+Manufacturer#4	almond aquamarine yellow dodger mint	1844.92	6047.27	1206.26	1844.92	1511.8175
+Manufacturer#4	almond azure aquamarine papaya violet	1290.35	7337.620000000001	1206.26	1844.92	1467.5240000000001
+Manufacturer#5	almond antique blue firebrick mint	1789.69	1789.69	1789.69	1789.69	1789.69
+Manufacturer#5	almond antique medium spring khaki	1611.66	3401.3500000000004	1611.66	1789.69	1700.6750000000002
+Manufacturer#5	almond antique sky peru orange	1788.73	5190.08	1611.66	1789.69	1730.0266666666666
+Manufacturer#5	almond aquamarine dodger light gainsboro	1018.1	6208.18	1018.1	1789.69	1552.045
+Manufacturer#5	almond azure blanched chiffon midnight	1464.48	7672.66	1018.1	1789.69	1534.532
+PREHOOK: query: SELECT 'tst1' AS key, COUNT(1) AS value FROM part_tiny
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_tiny
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT 'tst1' AS key, COUNT(1) AS value FROM part_tiny
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_tiny
+#### A masked pattern was here ####
+tst1	26

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/results/clientpositive/ptf_matchpath.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/ptf_matchpath.q.out b/itests/hive-blobstore/src/test/results/clientpositive/ptf_matchpath.q.out
new file mode 100644
index 0000000..ac0eaad
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/ptf_matchpath.q.out
@@ -0,0 +1,105 @@
+PREHOOK: query: DROP TABLE flights_tiny
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE flights_tiny
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE flights_tiny (
+  origin_city_name string,
+  dest_city_name string,
+  year int,
+  month int,
+  day_of_month int,
+  arr_delay float,
+  fl_num string
+)
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/ptf_matchpath/flights_tiny
+PREHOOK: Output: database:default
+PREHOOK: Output: default@flights_tiny
+POSTHOOK: query: CREATE TABLE flights_tiny (
+  origin_city_name string,
+  dest_city_name string,
+  year int,
+  month int,
+  day_of_month int,
+  arr_delay float,
+  fl_num string
+)
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/ptf_matchpath/flights_tiny
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@flights_tiny
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/flights_tiny.txt' INTO TABLE flights_tiny
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@flights_tiny
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/flights_tiny.txt' INTO TABLE flights_tiny
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@flights_tiny
+PREHOOK: query: SELECT origin_city_name, fl_num, year, month, day_of_month, sz, tpath
+FROM MATCHPATH(
+  ON flights_tiny 
+  DISTRIBUTE BY fl_num
+  SORT BY year, month, day_of_month
+  ARG1('LATE.LATE+'), ARG2('LATE'), ARG3(arr_delay > 15),
+  ARG4('origin_city_name, fl_num, year, month, day_of_month, SIZE(tpath) AS sz, tpath[0].day_of_month AS tpath')
+)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@flights_tiny
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT origin_city_name, fl_num, year, month, day_of_month, sz, tpath
+FROM MATCHPATH(
+  ON flights_tiny 
+  DISTRIBUTE BY fl_num
+  SORT BY year, month, day_of_month
+  ARG1('LATE.LATE+'), ARG2('LATE'), ARG3(arr_delay > 15),
+  ARG4('origin_city_name, fl_num, year, month, day_of_month, SIZE(tpath) AS sz, tpath[0].day_of_month AS tpath')
+)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@flights_tiny
+#### A masked pattern was here ####
+Baltimore	1142	2010	10	20	6	20
+Baltimore	1142	2010	10	21	5	21
+Baltimore	1142	2010	10	22	4	22
+Baltimore	1142	2010	10	25	3	25
+Baltimore	1142	2010	10	26	2	26
+Chicago	1531	2010	10	21	2	21
+Chicago	1531	2010	10	25	3	25
+Chicago	1531	2010	10	26	2	26
+Baltimore	1599	2010	10	21	2	21
+Baltimore	1599	2010	10	25	3	25
+Baltimore	1599	2010	10	26	2	26
+Chicago	361	2010	10	20	2	20
+Washington	7291	2010	10	27	2	27
+Chicago	897	2010	10	20	4	20
+Chicago	897	2010	10	21	3	21
+Chicago	897	2010	10	22	2	22
+PREHOOK: query: SELECT origin_city_name, fl_num, year, month, day_of_month, sz, tpath
+FROM MATCHPATH(
+  ON flights_tiny 
+  SORT BY year, month, day_of_month, fl_num, origin_city_name
+  ARG1('LATE.LATE+'), ARG2('LATE'), ARG3(arr_delay > 15),
+  ARG4('origin_city_name, fl_num, year, month, day_of_month, SIZE(tpath) AS sz, tpath[0].day_of_month AS tpath')
+)
+WHERE fl_num = 1142
+PREHOOK: type: QUERY
+PREHOOK: Input: default@flights_tiny
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT origin_city_name, fl_num, year, month, day_of_month, sz, tpath
+FROM MATCHPATH(
+  ON flights_tiny 
+  SORT BY year, month, day_of_month, fl_num, origin_city_name
+  ARG1('LATE.LATE+'), ARG2('LATE'), ARG3(arr_delay > 15),
+  ARG4('origin_city_name, fl_num, year, month, day_of_month, SIZE(tpath) AS sz, tpath[0].day_of_month AS tpath')
+)
+WHERE fl_num = 1142
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@flights_tiny
+#### A masked pattern was here ####
+Baltimore	1142	2010	10	21	3	21
+Baltimore	1142	2010	10	22	3	22
+Baltimore	1142	2010	10	25	3	25
+Baltimore	1142	2010	10	26	3	26
+Baltimore	1142	2010	10	27	3	27

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/results/clientpositive/ptf_orcfile.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/ptf_orcfile.q.out b/itests/hive-blobstore/src/test/results/clientpositive/ptf_orcfile.q.out
new file mode 100644
index 0000000..5cfe773
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/ptf_orcfile.q.out
@@ -0,0 +1,104 @@
+PREHOOK: query: DROP TABLE part_orc
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE part_orc
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE part_orc(
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS ORC
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/ptf_orcfile/part_orc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_orc
+POSTHOOK: query: CREATE TABLE part_orc(
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS ORC
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/ptf_orcfile/part_orc
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_orc
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part.orc' OVERWRITE INTO TABLE part_orc
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@part_orc
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part.orc' OVERWRITE INTO TABLE part_orc
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@part_orc
+PREHOOK: query: SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_orc 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_orc
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_orc 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_orc
+#### A masked pattern was here ####
+Manufacturer#1	almond antique burnished rose metallic	2	1	1	1173.15
+Manufacturer#1	almond antique burnished rose metallic	2	1	1	2346.3
+Manufacturer#1	almond antique chartreuse lavender yellow	34	3	2	4100.06
+Manufacturer#1	almond antique salmon chartreuse burlywood	6	4	3	5702.650000000001
+Manufacturer#1	almond aquamarine burnished black steel	28	5	4	7117.070000000001
+Manufacturer#1	almond aquamarine pink moccasin thistle	42	6	5	8749.730000000001
+Manufacturer#2	almond antique violet chocolate turquoise	14	1	1	1690.68
+Manufacturer#2	almond antique violet turquoise frosted	40	2	2	3491.38
+Manufacturer#2	almond aquamarine midnight light salmon	2	3	3	5523.360000000001
+Manufacturer#2	almond aquamarine rose maroon antique	25	4	4	7222.02
+Manufacturer#2	almond aquamarine sandy cyan gainsboro	18	5	5	8923.62
+Manufacturer#3	almond antique chartreuse khaki white	17	1	1	1671.68
+Manufacturer#3	almond antique forest lavender goldenrod	14	2	2	2861.95
+Manufacturer#3	almond antique metallic orange dim	19	3	3	4272.34
+Manufacturer#3	almond antique misty red olive	1	4	4	6195.32
+Manufacturer#3	almond antique olive coral navajo	45	5	5	7532.61
+Manufacturer#4	almond antique gainsboro frosted violet	10	1	1	1620.67
+Manufacturer#4	almond antique violet mint lemon	39	2	2	2996.09
+Manufacturer#4	almond aquamarine floral ivory bisque	27	3	3	4202.35
+Manufacturer#4	almond aquamarine yellow dodger mint	7	4	4	6047.27
+Manufacturer#4	almond azure aquamarine papaya violet	12	5	5	7337.620000000001
+Manufacturer#5	almond antique blue firebrick mint	31	1	1	1789.69
+Manufacturer#5	almond antique medium spring khaki	6	2	2	3401.3500000000004
+Manufacturer#5	almond antique sky peru orange	2	3	3	5190.08
+Manufacturer#5	almond aquamarine dodger light gainsboro	46	4	4	6208.18
+Manufacturer#5	almond azure blanched chiffon midnight	23	5	5	7672.66

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/results/clientpositive/ptf_persistence.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/ptf_persistence.q.out b/itests/hive-blobstore/src/test/results/clientpositive/ptf_persistence.q.out
new file mode 100644
index 0000000..d685cf1
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/ptf_persistence.q.out
@@ -0,0 +1,549 @@
+PREHOOK: query: DROP TABLE ptf_persistence_table
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE ptf_persistence_table
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE ptf_persistence_table(
+  key int,
+  value string) 
+STORED AS TEXTFILE
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/ptf_persistence/ptf_persistence_table
+PREHOOK: Output: database:default
+PREHOOK: Output: default@ptf_persistence_table
+POSTHOOK: query: CREATE TABLE ptf_persistence_table(
+  key int,
+  value string) 
+STORED AS TEXTFILE
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/ptf_persistence/ptf_persistence_table
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@ptf_persistence_table
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/srcbucket1.txt' INTO TABLE ptf_persistence_table
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@ptf_persistence_table
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/srcbucket1.txt' INTO TABLE ptf_persistence_table
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@ptf_persistence_table
+PREHOOK: query: SELECT key, value, NTILE(10)
+OVER (PARTITION BY value ORDER BY key DESC)
+FROM ptf_persistence_table
+PREHOOK: type: QUERY
+PREHOOK: Input: default@ptf_persistence_table
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT key, value, NTILE(10)
+OVER (PARTITION BY value ORDER BY key DESC)
+FROM ptf_persistence_table
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@ptf_persistence_table
+#### A masked pattern was here ####
+99	val_100	1
+101	val_102	1
+103	val_103	1
+103	val_103	2
+105	val_105	1
+105	val_106	1
+105	val_106	2
+11	val_11	1
+111	val_111	1
+113	val_113	1
+113	val_113	2
+117	val_118	1
+117	val_118	2
+119	val_119	1
+119	val_119	2
+119	val_119	3
+11	val_12	1
+11	val_12	2
+11	val_12	3
+119	val_120	1
+119	val_120	2
+119	val_120	3
+121	val_122	1
+121	val_122	2
+123	val_124	1
+123	val_124	2
+125	val_125	1
+125	val_125	2
+125	val_126	1
+129	val_129	1
+129	val_129	2
+129	val_130	1
+129	val_130	2
+131	val_131	1
+133	val_133	1
+133	val_134	1
+135	val_136	1
+135	val_136	2
+135	val_136	3
+137	val_137	1
+137	val_137	2
+137	val_138	1
+143	val_143	1
+143	val_144	1
+145	val_145	1
+147	val_148	1
+147	val_148	2
+149	val_149	1
+149	val_149	2
+15	val_15	1
+15	val_15	2
+149	val_150	1
+151	val_152	1
+151	val_152	2
+153	val_153	1
+153	val_154	1
+153	val_154	2
+155	val_155	1
+157	val_157	1
+157	val_158	1
+157	val_158	2
+15	val_16	1
+15	val_16	2
+161	val_162	1
+161	val_162	2
+161	val_162	3
+161	val_162	4
+163	val_163	1
+165	val_165	1
+165	val_165	2
+165	val_166	1
+167	val_167	1
+167	val_167	2
+167	val_167	3
+167	val_168	1
+169	val_169	1
+169	val_169	2
+169	val_169	3
+169	val_169	4
+17	val_17	1
+175	val_175	1
+175	val_175	2
+175	val_176	1
+175	val_176	2
+177	val_177	1
+177	val_178	1
+177	val_178	2
+179	val_179	1
+179	val_179	2
+179	val_180	1
+181	val_181	1
+183	val_183	1
+183	val_184	1
+185	val_186	1
+187	val_187	1
+187	val_187	2
+187	val_187	3
+189	val_189	1
+19	val_19	1
+189	val_190	1
+191	val_191	1
+191	val_191	2
+191	val_192	1
+193	val_193	1
+193	val_193	2
+193	val_193	3
+195	val_195	1
+195	val_195	2
+197	val_197	1
+197	val_197	2
+197	val_198	1
+199	val_199	1
+199	val_199	2
+199	val_199	3
+1	val_2	1
+19	val_20	1
+199	val_200	1
+201	val_201	1
+203	val_203	1
+203	val_203	2
+205	val_205	1
+205	val_205	2
+205	val_206	1
+207	val_207	1
+207	val_207	2
+209	val_209	1
+209	val_209	2
+209	val_210	1
+209	val_210	2
+213	val_213	1
+213	val_213	2
+213	val_214	1
+215	val_216	1
+217	val_217	1
+217	val_217	2
+217	val_218	1
+217	val_218	2
+219	val_219	1
+219	val_219	2
+21	val_22	1
+21	val_22	2
+21	val_22	3
+21	val_22	4
+221	val_221	1
+221	val_221	2
+223	val_223	1
+223	val_223	2
+227	val_228	1
+229	val_229	1
+229	val_229	2
+231	val_232	1
+233	val_233	1
+233	val_233	2
+235	val_235	1
+235	val_236	1
+237	val_237	1
+237	val_237	2
+239	val_239	1
+239	val_239	2
+23	val_24	1
+239	val_240	1
+239	val_240	2
+241	val_241	1
+241	val_242	1
+241	val_242	2
+241	val_242	3
+241	val_242	4
+243	val_244	1
+243	val_244	2
+245	val_246	1
+245	val_246	2
+247	val_247	1
+249	val_249	1
+249	val_250	1
+249	val_250	2
+255	val_255	1
+255	val_255	2
+257	val_257	1
+257	val_258	1
+257	val_258	2
+259	val_260	1
+259	val_260	2
+261	val_262	1
+263	val_263	1
+265	val_265	1
+265	val_265	2
+265	val_266	1
+267	val_268	1
+27	val_27	1
+271	val_272	1
+273	val_273	1
+273	val_273	2
+273	val_273	3
+273	val_274	1
+275	val_275	1
+275	val_276	1
+275	val_276	2
+277	val_277	1
+277	val_277	2
+277	val_277	3
+277	val_277	4
+277	val_278	1
+277	val_278	2
+281	val_281	1
+281	val_281	2
+281	val_282	1
+281	val_282	2
+281	val_282	3
+283	val_283	1
+285	val_285	1
+285	val_286	1
+287	val_287	1
+287	val_288	1
+287	val_288	2
+289	val_289	1
+289	val_290	1
+291	val_291	1
+291	val_292	1
+291	val_292	2
+293	val_294	1
+293	val_294	2
+295	val_296	1
+295	val_296	2
+29	val_30	1
+29	val_30	2
+303	val_304	1
+303	val_304	2
+305	val_305	1
+305	val_306	1
+307	val_307	1
+307	val_307	2
+309	val_309	1
+309	val_309	2
+309	val_310	1
+311	val_311	1
+311	val_311	2
+311	val_311	3
+313	val_314	1
+315	val_315	1
+317	val_317	1
+317	val_317	2
+317	val_318	1
+31	val_32	1
+321	val_321	1
+321	val_321	2
+323	val_323	1
+323	val_324	1
+325	val_325	1
+325	val_325	2
+327	val_327	1
+327	val_327	2
+327	val_327	3
+33	val_33	1
+331	val_331	1
+331	val_331	2
+331	val_332	1
+331	val_332	2
+333	val_333	1
+333	val_333	2
+333	val_334	1
+335	val_335	1
+335	val_336	1
+335	val_336	2
+337	val_338	1
+339	val_339	1
+33	val_34	1
+341	val_341	1
+341	val_342	1
+341	val_342	2
+341	val_342	3
+343	val_344	1
+345	val_345	1
+347	val_348	1
+347	val_348	2
+35	val_35	1
+35	val_35	2
+35	val_35	3
+349	val_350	1
+349	val_350	2
+349	val_350	3
+349	val_350	4
+351	val_351	1
+351	val_352	1
+351	val_352	2
+353	val_353	1
+353	val_353	2
+353	val_354	1
+355	val_356	1
+355	val_356	2
+35	val_36	1
+35	val_36	2
+35	val_36	3
+363	val_364	1
+363	val_364	2
+363	val_364	3
+365	val_365	1
+367	val_367	1
+367	val_367	2
+367	val_368	1
+367	val_368	2
+369	val_369	1
+369	val_369	2
+369	val_369	3
+37	val_37	1
+37	val_37	2
+369	val_370	1
+371	val_372	1
+371	val_372	2
+371	val_372	3
+371	val_372	4
+373	val_373	1
+373	val_374	1
+375	val_375	1
+375	val_376	1
+375	val_376	2
+375	val_376	3
+375	val_376	4
+375	val_376	5
+377	val_377	1
+379	val_379	1
+379	val_380	1
+381	val_382	1
+385	val_386	1
+385	val_386	2
+389	val_389	1
+389	val_390	1
+389	val_390	2
+391	val_392	1
+391	val_392	2
+393	val_393	1
+393	val_394	1
+393	val_394	2
+395	val_395	1
+395	val_395	2
+395	val_396	1
+395	val_396	2
+397	val_397	1
+397	val_397	2
+399	val_399	1
+399	val_399	2
+3	val_4	1
+399	val_400	1
+399	val_400	2
+401	val_401	1
+401	val_401	2
+401	val_401	3
+401	val_401	4
+401	val_401	5
+401	val_402	1
+403	val_403	1
+403	val_403	2
+403	val_403	3
+405	val_406	1
+407	val_407	1
+407	val_408	1
+407	val_408	2
+407	val_408	3
+409	val_409	1
+409	val_409	2
+409	val_409	3
+41	val_41	1
+409	val_410	1
+409	val_410	2
+411	val_411	1
+411	val_412	1
+413	val_413	1
+413	val_413	2
+413	val_414	1
+415	val_416	1
+417	val_417	1
+417	val_417	2
+417	val_417	3
+419	val_419	1
+421	val_421	1
+421	val_422	1
+421	val_422	2
+423	val_424	1
+425	val_426	1
+427	val_427	1
+427	val_428	1
+427	val_428	2
+429	val_429	1
+429	val_429	2
+43	val_43	1
+429	val_430	1
+429	val_430	2
+431	val_431	1
+431	val_431	2
+431	val_431	3
+431	val_432	1
+435	val_435	1
+435	val_436	1
+437	val_437	1
+437	val_438	1
+439	val_439	1
+439	val_439	2
+439	val_440	1
+439	val_440	2
+441	val_442	1
+443	val_443	1
+443	val_444	1
+443	val_444	2
+443	val_444	3
+447	val_448	1
+449	val_449	1
+451	val_452	1
+453	val_453	1
+453	val_454	1
+455	val_455	1
+455	val_456	1
+455	val_456	2
+457	val_457	1
+457	val_458	1
+457	val_458	2
+459	val_459	1
+459	val_459	2
+459	val_460	1
+461	val_462	1
+463	val_463	1
+463	val_463	2
+463	val_464	1
+467	val_467	1
+467	val_468	1
+469	val_469	1
+469	val_469	2
+469	val_469	3
+469	val_469	4
+469	val_469	5
+47	val_47	1
+469	val_470	1
+473	val_474	1
+475	val_475	1
+475	val_476	1
+477	val_477	1
+477	val_478	1
+479	val_479	1
+47	val_48	1
+481	val_481	1
+481	val_482	1
+483	val_483	1
+485	val_485	1
+485	val_486	1
+485	val_486	2
+487	val_487	1
+487	val_488	1
+489	val_489	1
+489	val_489	2
+489	val_489	3
+489	val_489	4
+489	val_490	1
+491	val_491	1
+491	val_492	1
+491	val_492	2
+493	val_493	1
+495	val_495	1
+495	val_496	1
+497	val_497	1
+497	val_498	1
+497	val_498	2
+5	val_5	1
+5	val_5	2
+5	val_5	3
+49	val_50	1
+49	val_50	2
+51	val_51	1
+51	val_51	2
+51	val_52	1
+53	val_53	1
+53	val_54	1
+57	val_57	1
+5	val_6	1
+59	val_60	1
+61	val_62	1
+63	val_64	1
+65	val_65	1
+65	val_66	1
+65	val_66	2
+67	val_67	1
+67	val_67	2
+69	val_69	1
+69	val_70	1
+71	val_72	1
+75	val_76	1
+77	val_77	1
+77	val_78	1
+77	val_78	2
+83	val_83	1
+83	val_83	2
+85	val_85	1
+85	val_86	1
+87	val_87	1
+87	val_88	1
+87	val_88	2
+9	val_9	1
+89	val_90	1
+89	val_90	2
+89	val_90	3
+91	val_92	1
+93	val_94	1
+93	val_94	2
+93	val_94	3
+95	val_95	1
+95	val_95	2
+97	val_97	1
+97	val_97	2
+97	val_98	1
+97	val_98	2

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/results/clientpositive/ptf_rcfile.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/ptf_rcfile.q.out b/itests/hive-blobstore/src/test/results/clientpositive/ptf_rcfile.q.out
new file mode 100644
index 0000000..4eb82a6
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/ptf_rcfile.q.out
@@ -0,0 +1,104 @@
+PREHOOK: query: DROP TABLE part_rc
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE part_rc
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE part_rc(
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS RCFILE 
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/ptf_rcfile/part_rc
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_rc
+POSTHOOK: query: CREATE TABLE part_rc(
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS RCFILE 
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/ptf_rcfile/part_rc
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_rc
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part.rc' OVERWRITE INTO TABLE part_rc
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@part_rc
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part.rc' OVERWRITE INTO TABLE part_rc
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@part_rc
+PREHOOK: query: SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_rc 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_rc
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_rc 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_rc
+#### A masked pattern was here ####
+Manufacturer#1	almond antique burnished rose metallic	2	1	1	1173.15
+Manufacturer#1	almond antique burnished rose metallic	2	1	1	2346.3
+Manufacturer#1	almond antique chartreuse lavender yellow	34	3	2	4100.06
+Manufacturer#1	almond antique salmon chartreuse burlywood	6	4	3	5702.650000000001
+Manufacturer#1	almond aquamarine burnished black steel	28	5	4	7117.070000000001
+Manufacturer#1	almond aquamarine pink moccasin thistle	42	6	5	8749.730000000001
+Manufacturer#2	almond antique violet chocolate turquoise	14	1	1	1690.68
+Manufacturer#2	almond antique violet turquoise frosted	40	2	2	3491.38
+Manufacturer#2	almond aquamarine midnight light salmon	2	3	3	5523.360000000001
+Manufacturer#2	almond aquamarine rose maroon antique	25	4	4	7222.02
+Manufacturer#2	almond aquamarine sandy cyan gainsboro	18	5	5	8923.62
+Manufacturer#3	almond antique chartreuse khaki white	17	1	1	1671.68
+Manufacturer#3	almond antique forest lavender goldenrod	14	2	2	2861.95
+Manufacturer#3	almond antique metallic orange dim	19	3	3	4272.34
+Manufacturer#3	almond antique misty red olive	1	4	4	6195.32
+Manufacturer#3	almond antique olive coral navajo	45	5	5	7532.61
+Manufacturer#4	almond antique gainsboro frosted violet	10	1	1	1620.67
+Manufacturer#4	almond antique violet mint lemon	39	2	2	2996.09
+Manufacturer#4	almond aquamarine floral ivory bisque	27	3	3	4202.35
+Manufacturer#4	almond aquamarine yellow dodger mint	7	4	4	6047.27
+Manufacturer#4	almond azure aquamarine papaya violet	12	5	5	7337.620000000001
+Manufacturer#5	almond antique blue firebrick mint	31	1	1	1789.69
+Manufacturer#5	almond antique medium spring khaki	6	2	2	3401.3500000000004
+Manufacturer#5	almond antique sky peru orange	2	3	3	5190.08
+Manufacturer#5	almond aquamarine dodger light gainsboro	46	4	4	6208.18
+Manufacturer#5	almond azure blanched chiffon midnight	23	5	5	7672.66

http://git-wip-us.apache.org/repos/asf/hive/blob/02976351/itests/hive-blobstore/src/test/results/clientpositive/ptf_seqfile.q.out
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/src/test/results/clientpositive/ptf_seqfile.q.out b/itests/hive-blobstore/src/test/results/clientpositive/ptf_seqfile.q.out
new file mode 100644
index 0000000..957b8b8
--- /dev/null
+++ b/itests/hive-blobstore/src/test/results/clientpositive/ptf_seqfile.q.out
@@ -0,0 +1,104 @@
+PREHOOK: query: DROP TABLE part_seq
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE part_seq
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE TABLE part_seq( 
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS SEQUENCEFILE 
+#### A masked pattern was here ####
+PREHOOK: type: CREATETABLE
+PREHOOK: Input: ### test.blobstore.path ###/ptf_seqfile/part_seq
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part_seq
+POSTHOOK: query: CREATE TABLE part_seq( 
+  p_partkey int,
+  p_name string,
+  p_mfgr string,
+  p_brand string,
+  p_type string,
+  p_size int,
+  p_container string,
+  p_retailprice double,
+  p_comment string
+)
+STORED AS SEQUENCEFILE 
+#### A masked pattern was here ####
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Input: ### test.blobstore.path ###/ptf_seqfile/part_seq
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part_seq
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part.seq' OVERWRITE INTO TABLE part_seq
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@part_seq
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/part.seq' OVERWRITE INTO TABLE part_seq
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@part_seq
+PREHOOK: query: SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_seq 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part_seq
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT 
+  p_mfgr, p_name, p_size,
+  RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS r,
+  DENSE_RANK() OVER (PARTITION BY p_mfgr ORDER BY p_name) AS dr, 
+  SUM(p_retailprice) OVER (
+    PARTITION BY p_mfgr 
+    ORDER BY p_name ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
+  ) AS s1
+FROM NOOP(
+  ON part_seq 
+  PARTITION BY p_mfgr 
+  ORDER BY p_name
+)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part_seq
+#### A masked pattern was here ####
+Manufacturer#1	almond antique burnished rose metallic	2	1	1	1173.15
+Manufacturer#1	almond antique burnished rose metallic	2	1	1	2346.3
+Manufacturer#1	almond antique chartreuse lavender yellow	34	3	2	4100.06
+Manufacturer#1	almond antique salmon chartreuse burlywood	6	4	3	5702.650000000001
+Manufacturer#1	almond aquamarine burnished black steel	28	5	4	7117.070000000001
+Manufacturer#1	almond aquamarine pink moccasin thistle	42	6	5	8749.730000000001
+Manufacturer#2	almond antique violet chocolate turquoise	14	1	1	1690.68
+Manufacturer#2	almond antique violet turquoise frosted	40	2	2	3491.38
+Manufacturer#2	almond aquamarine midnight light salmon	2	3	3	5523.360000000001
+Manufacturer#2	almond aquamarine rose maroon antique	25	4	4	7222.02
+Manufacturer#2	almond aquamarine sandy cyan gainsboro	18	5	5	8923.62
+Manufacturer#3	almond antique chartreuse khaki white	17	1	1	1671.68
+Manufacturer#3	almond antique forest lavender goldenrod	14	2	2	2861.95
+Manufacturer#3	almond antique metallic orange dim	19	3	3	4272.34
+Manufacturer#3	almond antique misty red olive	1	4	4	6195.32
+Manufacturer#3	almond antique olive coral navajo	45	5	5	7532.61
+Manufacturer#4	almond antique gainsboro frosted violet	10	1	1	1620.67
+Manufacturer#4	almond antique violet mint lemon	39	2	2	2996.09
+Manufacturer#4	almond aquamarine floral ivory bisque	27	3	3	4202.35
+Manufacturer#4	almond aquamarine yellow dodger mint	7	4	4	6047.27
+Manufacturer#4	almond azure aquamarine papaya violet	12	5	5	7337.620000000001
+Manufacturer#5	almond antique blue firebrick mint	31	1	1	1789.69
+Manufacturer#5	almond antique medium spring khaki	6	2	2	3401.3500000000004
+Manufacturer#5	almond antique sky peru orange	2	3	3	5190.08
+Manufacturer#5	almond aquamarine dodger light gainsboro	46	4	4	6208.18
+Manufacturer#5	almond azure blanched chiffon midnight	23	5	5	7672.66