You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/03/26 18:31:42 UTC

svn commit: r1461234 [5/5] - in /hive/trunk/ql/src: java/org/apache/hadoop/hive/ql/exec/ java/org/apache/hadoop/hive/ql/exec/persistence/ test/queries/clientpositive/ test/results/clientpositive/

Modified: hive/trunk/ql/src/test/results/clientpositive/join_1to1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/join_1to1.q.out?rev=1461234&r1=1461233&r2=1461234&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/join_1to1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/join_1to1.q.out Tue Mar 26 17:31:41 2013
@@ -701,17 +701,15 @@ POSTHOOK: Input: default@join_1to1_2
 NULL	NULL	NULL	NULL	NULL	66
 NULL	NULL	NULL	NULL	10050	66
 NULL	NULL	NULL	10	10010	66
+NULL	NULL	NULL	25	10025	66
 NULL	NULL	NULL	30	10030	88
 NULL	NULL	NULL	35	10035	88
 NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
+NULL	NULL	NULL	80	10040	66
+NULL	NULL	NULL	80	10040	66
 NULL	NULL	66	NULL	NULL	NULL
 NULL	10050	66	NULL	NULL	NULL
 5	10005	66	5	10005	66
@@ -720,29 +718,18 @@ NULL	10050	66	NULL	NULL	NULL
 25	10025	88	NULL	NULL	NULL
 30	10030	66	NULL	NULL	NULL
 35	10035	88	NULL	NULL	NULL
-40	10040	66	NULL	NULL	NULL
 40	10040	66	40	10040	66
 40	10040	88	NULL	NULL	NULL
-40	10040	88	NULL	NULL	NULL
-50	10050	66	NULL	NULL	NULL
 50	10050	66	50	10050	66
 50	10050	66	50	10050	66
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 70	10040	66	NULL	NULL	NULL
 70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC
@@ -804,17 +791,15 @@ POSTHOOK: Input: default@join_1to1_2
 NULL	NULL	NULL	NULL	NULL	66
 NULL	NULL	NULL	NULL	10050	66
 NULL	NULL	NULL	10	10010	66
+NULL	NULL	NULL	25	10025	66
 NULL	NULL	NULL	30	10030	88
 NULL	NULL	NULL	35	10035	88
 NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
+NULL	NULL	NULL	80	10040	66
+NULL	NULL	NULL	80	10040	66
 NULL	NULL	66	NULL	NULL	NULL
 NULL	10050	66	NULL	NULL	NULL
 5	10005	66	5	10005	66
@@ -823,29 +808,18 @@ NULL	10050	66	NULL	NULL	NULL
 25	10025	88	NULL	NULL	NULL
 30	10030	66	NULL	NULL	NULL
 35	10035	88	NULL	NULL	NULL
-40	10040	66	NULL	NULL	NULL
 40	10040	66	40	10040	66
 40	10040	88	NULL	NULL	NULL
-40	10040	88	NULL	NULL	NULL
-50	10050	66	NULL	NULL	NULL
 50	10050	66	50	10050	66
 50	10050	66	50	10050	66
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 70	10040	66	NULL	NULL	NULL
 70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC
@@ -947,17 +921,15 @@ POSTHOOK: Input: default@join_1to1_2
 NULL	NULL	NULL	NULL	NULL	66
 NULL	NULL	NULL	NULL	10050	66
 NULL	NULL	NULL	10	10010	66
+NULL	NULL	NULL	25	10025	66
 NULL	NULL	NULL	30	10030	88
 NULL	NULL	NULL	35	10035	88
 NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
+NULL	NULL	NULL	80	10040	66
+NULL	NULL	NULL	80	10040	66
 NULL	NULL	66	NULL	NULL	NULL
 NULL	10050	66	NULL	NULL	NULL
 5	10005	66	5	10005	66
@@ -966,29 +938,20 @@ NULL	10050	66	NULL	NULL	NULL
 25	10025	88	NULL	NULL	NULL
 30	10030	66	NULL	NULL	NULL
 35	10035	88	NULL	NULL	NULL
-40	10040	66	NULL	NULL	NULL
 40	10040	66	40	10040	66
 40	10040	88	NULL	NULL	NULL
-40	10040	88	NULL	NULL	NULL
-50	10050	66	NULL	NULL	NULL
 50	10050	66	50	10050	66
 50	10050	66	50	10050	66
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 70	10040	66	NULL	NULL	NULL
 70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 PREHOOK: query: SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.key2 = b.key2 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC
@@ -1050,17 +1013,15 @@ POSTHOOK: Input: default@join_1to1_2
 NULL	NULL	NULL	NULL	NULL	66
 NULL	NULL	NULL	NULL	10050	66
 NULL	NULL	NULL	10	10010	66
+NULL	NULL	NULL	25	10025	66
 NULL	NULL	NULL	30	10030	88
 NULL	NULL	NULL	35	10035	88
 NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
+NULL	NULL	NULL	80	10040	66
+NULL	NULL	NULL	80	10040	66
 NULL	NULL	66	NULL	NULL	NULL
 NULL	10050	66	NULL	NULL	NULL
 5	10005	66	5	10005	66
@@ -1069,29 +1030,20 @@ NULL	10050	66	NULL	NULL	NULL
 25	10025	88	NULL	NULL	NULL
 30	10030	66	NULL	NULL	NULL
 35	10035	88	NULL	NULL	NULL
-40	10040	66	NULL	NULL	NULL
 40	10040	66	40	10040	66
 40	10040	88	NULL	NULL	NULL
-40	10040	88	NULL	NULL	NULL
-50	10050	66	NULL	NULL	NULL
 50	10050	66	50	10050	66
 50	10050	66	50	10050	66
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
 50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
-50	10050	88	NULL	NULL	NULL
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 60	10040	66	60	10040	66
 70	10040	66	NULL	NULL	NULL
 70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-70	10040	66	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
-80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 80	10040	88	NULL	NULL	NULL
 PREHOOK: query: SELECT * FROM join_1to1_1 a join join_1to1_2 b on a.key1 = b.key1 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC, b.value ASC
@@ -1193,17 +1145,15 @@ POSTHOOK: Input: default@join_1to1_2
 NULL	NULL	NULL	NULL	NULL	66
 NULL	NULL	NULL	NULL	10050	66
 NULL	NULL	NULL	10	10010	66
+NULL	NULL	NULL	25	10025	66
 NULL	NULL	NULL	30	10030	88
 NULL	NULL	NULL	35	10035	88
 NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	50	10050	88
 NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
+NULL	NULL	NULL	80	10040	66
+NULL	NULL	NULL	80	10040	66
 NULL	NULL	66	NULL	NULL	NULL
 NULL	10050	66	NULL	NULL	NULL
 5	10005	66	5	10005	66
@@ -1216,7 +1166,6 @@ NULL	10050	66	NULL	NULL	NULL
 40	10040	66	40	10040	66
 40	10040	88	NULL	NULL	NULL
 40	10040	88	NULL	NULL	NULL
-50	10050	66	NULL	NULL	NULL
 50	10050	66	50	10050	66
 50	10050	66	50	10050	66
 50	10050	88	NULL	NULL	NULL
@@ -1296,17 +1245,15 @@ POSTHOOK: Input: default@join_1to1_2
 NULL	NULL	NULL	NULL	NULL	66
 NULL	NULL	NULL	NULL	10050	66
 NULL	NULL	NULL	10	10010	66
+NULL	NULL	NULL	25	10025	66
 NULL	NULL	NULL	30	10030	88
 NULL	NULL	NULL	35	10035	88
 NULL	NULL	NULL	40	10040	88
-NULL	NULL	NULL	40	10040	88
 NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	50	10050	88
-NULL	NULL	NULL	70	10040	88
-NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
 NULL	NULL	NULL	70	10040	88
+NULL	NULL	NULL	80	10040	66
+NULL	NULL	NULL	80	10040	66
 NULL	NULL	66	NULL	NULL	NULL
 NULL	10050	66	NULL	NULL	NULL
 5	10005	66	5	10005	66
@@ -1319,7 +1266,6 @@ NULL	10050	66	NULL	NULL	NULL
 40	10040	66	40	10040	66
 40	10040	88	NULL	NULL	NULL
 40	10040	88	NULL	NULL	NULL
-50	10050	66	NULL	NULL	NULL
 50	10050	66	50	10050	66
 50	10050	66	50	10050	66
 50	10050	88	NULL	NULL	NULL

Modified: hive/trunk/ql/src/test/results/clientpositive/join_filters.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/join_filters.q.out?rev=1461234&r1=1461233&r2=1461234&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/join_filters.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/join_filters.q.out Tue Mar 26 17:31:41 2013
@@ -51,32 +51,11 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@myinput1
 #### A masked pattern was here ####
 NULL	NULL	NULL	40
-NULL	NULL	NULL	40
-NULL	NULL	NULL	40
-NULL	NULL	NULL	40
-NULL	NULL	12	35
-NULL	NULL	12	35
 NULL	NULL	12	35
-NULL	NULL	12	35
-NULL	NULL	48	NULL
-NULL	NULL	48	NULL
-NULL	NULL	48	NULL
 NULL	NULL	48	NULL
 NULL	40	NULL	NULL
-NULL	40	NULL	NULL
-NULL	40	NULL	NULL
-NULL	40	NULL	NULL
-12	35	NULL	NULL
-12	35	NULL	NULL
 12	35	NULL	NULL
-12	35	NULL	NULL
-48	NULL	NULL	NULL
-48	NULL	NULL	NULL
-48	NULL	NULL	NULL
 48	NULL	NULL	NULL
-100	100	NULL	NULL
-100	100	NULL	NULL
-100	100	NULL	NULL
 100	100	100	100
 PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value AND a.key > 40 AND a.value > 50 AND a.key = a.value AND b.key > 40 AND b.value > 50 AND b.key = b.value ORDER BY a.key ASC, a.value ASC, b.key ASC, b.value ASC
 PREHOOK: type: QUERY

Modified: hive/trunk/ql/src/test/results/clientpositive/join_filters_overlap.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/join_filters_overlap.q.out?rev=1461234&r1=1461233&r2=1461234&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/join_filters_overlap.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/join_filters_overlap.q.out Tue Mar 26 17:31:41 2013
@@ -847,19 +847,9 @@ POSTHOOK: Input: default@a
 #### A masked pattern was here ####
 100	40	NULL	NULL	NULL	NULL	100	40
 NULL	NULL	100	40	NULL	NULL	NULL	NULL
-100	40	NULL	NULL	NULL	NULL	100	40
-100	40	NULL	NULL	NULL	NULL	100	40
 NULL	NULL	100	60	100	60	NULL	NULL
-100	50	NULL	NULL	NULL	NULL	NULL	NULL
-NULL	NULL	100	40	NULL	NULL	NULL	NULL
 100	50	100	50	NULL	NULL	NULL	NULL
-100	50	NULL	NULL	NULL	NULL	NULL	NULL
-NULL	NULL	100	60	100	60	NULL	NULL
 100	60	NULL	NULL	NULL	NULL	NULL	NULL
-NULL	NULL	100	40	NULL	NULL	NULL	NULL
-100	60	NULL	NULL	NULL	NULL	NULL	NULL
-100	60	NULL	NULL	NULL	NULL	NULL	NULL
-NULL	NULL	100	60	100	60	NULL	NULL
 PREHOOK: query: -- triple overlap on a
 explain extended select * from a left outer join a b on (a.key=b.key AND a.value=50 AND b.value=50) left outer join a c on (a.key=c.key AND a.value=60 AND c.value=60) left outer join a d on (a.key=d.key AND a.value=40 AND d.value=40)
 PREHOOK: type: QUERY

Modified: hive/trunk/ql/src/test/results/clientpositive/mapjoin1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/mapjoin1.q.out?rev=1461234&r1=1461233&r2=1461234&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/mapjoin1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/mapjoin1.q.out Tue Mar 26 17:31:41 2013
@@ -222,15 +222,15 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
 NULL	NULL	238	val_238
-NULL	NULL	238	val_238
 86	val_86	86	val_86
 NULL	NULL	311	val_311
-NULL	NULL	311	val_311
-NULL	NULL	311	val_311
 27	val_27	27	val_27
 NULL	NULL	165	val_165
-NULL	NULL	165	val_165
 NULL	NULL	409	val_409
+NULL	NULL	255	val_255
+NULL	NULL	278	val_278
+98	val_98	98	val_98
+98	val_98	98	val_98
 PREHOOK: query: -- field filter on outer join
 EXPLAIN
 SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN
@@ -345,7 +345,7 @@ NULL	NULL	86	{"key":"86","value":"val_86
 311	val_311	311	{"key":"311","value":"val_311"}
 NULL	NULL	27	{"key":"27","value":"val_27"}
 NULL	NULL	165	{"key":"165","value":"val_165"}
-NULL	NULL	165	{"key":"165","value":"val_165"}
+409	val_409	409	{"key":"409","value":"val_409"}
 409	val_409	409	{"key":"409","value":"val_409"}
 PREHOOK: query: EXPLAIN
 SELECT /*+ MAPJOIN(a) */ * FROM src a RIGHT OUTER JOIN src b on a.key=b.key AND true limit 10

Added: hive/trunk/ql/src/test/results/clientpositive/mapjoin_test_outer.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/mapjoin_test_outer.q.out?rev=1461234&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/mapjoin_test_outer.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/mapjoin_test_outer.q.out Tue Mar 26 17:31:41 2013
@@ -0,0 +1,1479 @@
+PREHOOK: query: --HIVE-2101 mapjoin sometimes gives wrong results if there is a filter in the on condition
+
+create table dest_1 (key STRING, value STRING) stored as textfile
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: --HIVE-2101 mapjoin sometimes gives wrong results if there is a filter in the on condition
+
+create table dest_1 (key STRING, value STRING) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@dest_1
+PREHOOK: query: insert overwrite table dest_1 select * from src1 order by src1.value limit 8
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1
+PREHOOK: Output: default@dest_1
+POSTHOOK: query: insert overwrite table dest_1 select * from src1 order by src1.value limit 8
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: default@dest_1
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: insert into table dest_1 select "333444","555666" from src1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1
+PREHOOK: Output: default@dest_1
+POSTHOOK: query: insert into table dest_1 select "333444","555666" from src1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: default@dest_1
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+PREHOOK: query: create table dest_2 (key STRING, value STRING) stored as textfile
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table dest_2 (key STRING, value STRING) stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@dest_2
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+PREHOOK: query: insert into table dest_2 select * from dest_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Output: default@dest_2
+POSTHOOK: query: insert into table dest_2 select * from dest_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Output: default@dest_2
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: SELECT * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Input: default@dest_2
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Input: default@dest_2
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+NULL	NULL	333444	555666	333444	555666
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+128		128		128	
+146	val_146	146	val_146	146	val_146
+224		224		224	
+369		369		369	
+PREHOOK: query: explain
+SELECT /*+ mapjoin(src1, src2) */ * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+SELECT /*+ mapjoin(src1, src2) */ * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_RIGHTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1)) (TOK_TABREF (TOK_TABNAME dest_1) src2) (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key))) (TOK_TABREF (TOK_TABNAME dest_2) src3) (= (. (TOK_TABLE_OR_COL src2) key) (. (TOK_TABLE_OR_COL src3) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_HINTLIST (TOK_HINT TOK_MAPJOIN (TOK_HINTARGLIST src1 src2))) (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src3) key)))))
+
+STAGE DEPENDENCIES:
+  Stage-4 is a root stage
+  Stage-1 depends on stages: Stage-4
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-4
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        src1 
+          Fetch Operator
+            limit: -1
+        src2 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        src1 
+          TableScan
+            alias: src1
+            HashTable Sink Operator
+              condition expressions:
+                0 {key} {value}
+                1 {key} {value}
+                2 {key} {value}
+              handleSkewJoin: false
+              keys:
+                0 [Column[key]]
+                1 [Column[key]]
+                2 [Column[key]]
+              Position of Big Table: 2
+        src2 
+          TableScan
+            alias: src2
+            HashTable Sink Operator
+              condition expressions:
+                0 {key} {value}
+                1 {key} {value}
+                2 {key} {value}
+              handleSkewJoin: false
+              keys:
+                0 [Column[key]]
+                1 [Column[key]]
+                2 [Column[key]]
+              Position of Big Table: 2
+
+  Stage: Stage-1
+    Map Reduce
+      Alias -> Map Operator Tree:
+        src3 
+          TableScan
+            alias: src3
+            Map Join Operator
+              condition map:
+                   Right Outer Join0 to 1
+                   Inner Join 1 to 2
+              condition expressions:
+                0 {key} {value}
+                1 {key} {value}
+                2 {key} {value}
+              handleSkewJoin: false
+              keys:
+                0 [Column[key]]
+                1 [Column[key]]
+                2 [Column[key]]
+              outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9
+              Position of Big Table: 2
+              Select Operator
+                expressions:
+                      expr: _col0
+                      type: string
+                      expr: _col1
+                      type: string
+                      expr: _col4
+                      type: string
+                      expr: _col5
+                      type: string
+                      expr: _col8
+                      type: string
+                      expr: _col9
+                      type: string
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                Reduce Output Operator
+                  key expressions:
+                        expr: _col0
+                        type: string
+                        expr: _col2
+                        type: string
+                        expr: _col4
+                        type: string
+                  sort order: +++
+                  tag: -1
+                  value expressions:
+                        expr: _col0
+                        type: string
+                        expr: _col1
+                        type: string
+                        expr: _col2
+                        type: string
+                        expr: _col3
+                        type: string
+                        expr: _col4
+                        type: string
+                        expr: _col5
+                        type: string
+      Local Work:
+        Map Reduce Local Work
+      Reduce Operator Tree:
+        Extract
+          File Output Operator
+            compressed: false
+            GlobalTableId: 0
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+
+
+PREHOOK: query: SELECT /*+ mapjoin(src1, src2) */ * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Input: default@dest_2
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT /*+ mapjoin(src1, src2) */ * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Input: default@dest_2
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+NULL	NULL	333444	555666	333444	555666
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+128		128		128	
+146	val_146	146	val_146	146	val_146
+224		224		224	
+369		369		369	
+PREHOOK: query: SELECT /*+ mapjoin(src1, src2) */ * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src1.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Input: default@dest_2
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT /*+ mapjoin(src1, src2) */ * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src1.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Input: default@dest_2
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+128		128		128	
+146	val_146	146	val_146	146	val_146
+224		224		224	
+369		369		369	
+PREHOOK: query: SELECT * FROM src1
+  LEFT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src1.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Input: default@dest_2
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM src1
+  LEFT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src1.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Input: default@dest_2
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+128		128		128	
+146	val_146	146	val_146	146	val_146
+224		224		224	
+369		369		369	
+PREHOOK: query: SELECT * FROM src1
+  LEFT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Input: default@dest_2
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM src1
+  LEFT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Input: default@dest_2
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+128		128		128	
+146	val_146	146	val_146	146	val_146
+224		224		224	
+369		369		369	
+PREHOOK: query: explain
+SELECT * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+SELECT * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+ABSTRACT SYNTAX TREE:
+  (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_RIGHTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1)) (TOK_TABREF (TOK_TABNAME dest_1) src2) (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key))) (TOK_TABREF (TOK_TABNAME dest_2) src3) (= (. (TOK_TABLE_OR_COL src2) key) (. (TOK_TABLE_OR_COL src3) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src1) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src2) key)) (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL src3) key)))))
+
+STAGE DEPENDENCIES:
+  Stage-6 is a root stage
+  Stage-5 depends on stages: Stage-6
+  Stage-2 depends on stages: Stage-5
+  Stage-0 is a root stage
+
+STAGE PLANS:
+  Stage: Stage-6
+    Map Reduce Local Work
+      Alias -> Map Local Tables:
+        src1 
+          Fetch Operator
+            limit: -1
+        src3 
+          Fetch Operator
+            limit: -1
+      Alias -> Map Local Operator Tree:
+        src1 
+          TableScan
+            alias: src1
+            HashTable Sink Operator
+              condition expressions:
+                0 {key} {value}
+                1 {key} {value}
+                2 {key} {value}
+              handleSkewJoin: false
+              keys:
+                0 [Column[key]]
+                1 [Column[key]]
+                2 [Column[key]]
+              Position of Big Table: 1
+        src3 
+          TableScan
+            alias: src3
+            HashTable Sink Operator
+              condition expressions:
+                0 {key} {value}
+                1 {key} {value}
+                2 {key} {value}
+              handleSkewJoin: false
+              keys:
+                0 [Column[key]]
+                1 [Column[key]]
+                2 [Column[key]]
+              Position of Big Table: 1
+
+  Stage: Stage-5
+    Map Reduce
+      Alias -> Map Operator Tree:
+        src2 
+          TableScan
+            alias: src2
+            Map Join Operator
+              condition map:
+                   Right Outer Join0 to 1
+                   Inner Join 1 to 2
+              condition expressions:
+                0 {key} {value}
+                1 {key} {value}
+                2 {key} {value}
+              handleSkewJoin: false
+              keys:
+                0 [Column[key]]
+                1 [Column[key]]
+                2 [Column[key]]
+              outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9
+              Position of Big Table: 1
+              Select Operator
+                expressions:
+                      expr: _col0
+                      type: string
+                      expr: _col1
+                      type: string
+                      expr: _col4
+                      type: string
+                      expr: _col5
+                      type: string
+                      expr: _col8
+                      type: string
+                      expr: _col9
+                      type: string
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                File Output Operator
+                  compressed: false
+                  GlobalTableId: 0
+                  table:
+                      input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+      Local Work:
+        Map Reduce Local Work
+
+  Stage: Stage-2
+    Map Reduce
+      Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+            Reduce Output Operator
+              key expressions:
+                    expr: _col0
+                    type: string
+                    expr: _col2
+                    type: string
+                    expr: _col4
+                    type: string
+              sort order: +++
+              tag: -1
+              value expressions:
+                    expr: _col0
+                    type: string
+                    expr: _col1
+                    type: string
+                    expr: _col2
+                    type: string
+                    expr: _col3
+                    type: string
+                    expr: _col4
+                    type: string
+                    expr: _col5
+                    type: string
+      Reduce Operator Tree:
+        Extract
+          File Output Operator
+            compressed: false
+            GlobalTableId: 0
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+
+
+PREHOOK: query: SELECT * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_1
+PREHOOK: Input: default@dest_2
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM src1
+  RIGHT OUTER JOIN dest_1 src2 ON (src1.key = src2.key)
+  JOIN dest_2 src3 ON (src2.key = src3.key)
+  SORT BY src1.key, src2.key, src3.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_1
+POSTHOOK: Input: default@dest_2
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_1.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.key SIMPLE []
+POSTHOOK: Lineage: dest_1.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_1.value SIMPLE []
+POSTHOOK: Lineage: dest_2.key SIMPLE [(dest_1)dest_1.FieldSchema(name:key, type:string, comment:null), ]
+POSTHOOK: Lineage: dest_2.value SIMPLE [(dest_1)dest_1.FieldSchema(name:value, type:string, comment:null), ]
+NULL	NULL	333444	555666	333444	555666
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+	val_27				
+	val_27				
+	val_27				
+	val_27				
+	val_165				
+	val_165				
+	val_165				
+	val_165				
+	val_409				
+	val_409				
+	val_409				
+	val_409				
+	val_484				
+	val_484				
+	val_484				
+	val_484				
+	val_265				
+	val_265				
+	val_265				
+	val_265				
+	val_193				
+	val_193				
+	val_193				
+	val_193				
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+					
+128		128		128	
+146	val_146	146	val_146	146	val_146
+224		224		224	
+369		369		369