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