You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2014/10/27 20:57:03 UTC

svn commit: r1634671 [16/46] - in /hive/branches/spark: itests/src/test/resources/ ql/src/test/results/clientpositive/spark/

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join31.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join31.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join31.q.out (added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join31.q.out Mon Oct 27 19:56:58 2014
@@ -0,0 +1,235 @@
+PREHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE dest_j1(key STRING, cnt INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@dest_j1
+POSTHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE dest_j1(key STRING, cnt INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@dest_j1
+PREHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin
+
+EXPLAIN 
+INSERT OVERWRITE TABLE dest_j1 
+SELECT subq1.key, count(1) as cnt
+FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN 
+     (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key)
+group by subq1.key
+PREHOOK: type: QUERY
+POSTHOOK: query: -- Since the inputs are small, it should be automatically converted to mapjoin
+
+EXPLAIN 
+INSERT OVERWRITE TABLE dest_j1 
+SELECT subq1.key, count(1) as cnt
+FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN 
+     (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key)
+group by subq1.key
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1
+  Stage-0 depends on stages: Stage-2
+  Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP, 1)
+        Reducer 3 <- Reducer 2 (GROUP PARTITION-LEVEL SORT, 1), Reducer 6 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 4 <- Reducer 3 (GROUP, 1)
+        Reducer 6 <- Map 5 (GROUP, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: y
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: key (type: string)
+                      outputColumnNames: key
+                      Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                      Group By Operator
+                        aggregations: count(1)
+                        keys: key (type: string)
+                        mode: hash
+                        outputColumnNames: _col0, _col1
+                        Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                        Reduce Output Operator
+                          key expressions: _col0 (type: string)
+                          sort order: +
+                          Map-reduce partition columns: _col0 (type: string)
+                          Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                          value expressions: _col1 (type: bigint)
+        Map 5 
+            Map Operator Tree:
+                TableScan
+                  alias: x
+                  Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: key (type: string)
+                      outputColumnNames: key
+                      Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                      Group By Operator
+                        aggregations: count(1)
+                        keys: key (type: string)
+                        mode: hash
+                        outputColumnNames: _col0, _col1
+                        Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                        Reduce Output Operator
+                          key expressions: _col0 (type: string)
+                          sort order: +
+                          Map-reduce partition columns: _col0 (type: string)
+                          Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                          value expressions: _col1 (type: bigint)
+        Reducer 2 
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string)
+                  outputColumnNames: _col0
+                  Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: string)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: string)
+                    Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+        Reducer 3 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0}
+                  1 
+                outputColumnNames: _col0
+                Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string)
+                  outputColumnNames: _col0
+                  Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: count(1)
+                    keys: _col0 (type: string)
+                    mode: hash
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: string)
+                      sort order: +
+                      Map-reduce partition columns: _col0 (type: string)
+                      Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col1 (type: bigint)
+        Reducer 4 
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 68 Data size: 724 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), UDFToInteger(_col1) (type: int)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 68 Data size: 724 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 68 Data size: 724 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                        name: default.dest_j1
+        Reducer 6 
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string)
+                  outputColumnNames: _col0
+                  Statistics: Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: string)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: string)
+                    Statistics: Num rows: 6 Data size: 45 Basic stats: COMPLETE Column stats: NONE
+
+  Stage: Stage-2
+    Dependency Collection
+
+  Stage: Stage-0
+    Move Operator
+      tables:
+          replace: true
+          table:
+              input format: org.apache.hadoop.mapred.TextInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              name: default.dest_j1
+
+  Stage: Stage-3
+    Stats-Aggr Operator
+
+PREHOOK: query: INSERT OVERWRITE TABLE dest_j1 
+SELECT subq1.key, count(1) as cnt
+FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN 
+     (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key)
+group by subq1.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+PREHOOK: Output: default@dest_j1
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: INSERT OVERWRITE TABLE dest_j1 
+SELECT subq1.key, count(1) as cnt
+FROM (select x.key, count(1) as cnt from src1 x group by x.key) subq1 JOIN 
+     (select y.key, count(1) as cnt from src y group by y.key) subq2 ON (subq1.key = subq2.key)
+group by subq1.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: default@dest_j1
+POSTHOOK: Lineage: dest_j1.cnt EXPRESSION [(src1)x.null, (src)y.null, ]
+POSTHOOK: Lineage: dest_j1.key SIMPLE [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: select * from dest_j1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from dest_j1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+128	1
+146	1
+150	1
+213	1
+224	1
+238	1
+255	1
+273	1
+278	1
+311	1
+369	1
+401	1
+406	1
+66	1
+98	1

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join32.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join32.q.out?rev=1634671&view=auto
==============================================================================
Files hive/branches/spark/ql/src/test/results/clientpositive/spark/join32.q.out (added) and hive/branches/spark/ql/src/test/results/clientpositive/spark/join32.q.out Mon Oct 27 19:56:58 2014 differ

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out?rev=1634671&view=auto
==============================================================================
Files hive/branches/spark/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out (added) and hive/branches/spark/ql/src/test/results/clientpositive/spark/join32_lessSize.q.out Mon Oct 27 19:56:58 2014 differ

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join33.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join33.q.out?rev=1634671&view=auto
==============================================================================
Files hive/branches/spark/ql/src/test/results/clientpositive/spark/join33.q.out (added) and hive/branches/spark/ql/src/test/results/clientpositive/spark/join33.q.out Mon Oct 27 19:56:58 2014 differ

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join34.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join34.q.out?rev=1634671&view=auto
==============================================================================
Files hive/branches/spark/ql/src/test/results/clientpositive/spark/join34.q.out (added) and hive/branches/spark/ql/src/test/results/clientpositive/spark/join34.q.out Mon Oct 27 19:56:58 2014 differ

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join35.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join35.q.out?rev=1634671&view=auto
==============================================================================
Files hive/branches/spark/ql/src/test/results/clientpositive/spark/join35.q.out (added) and hive/branches/spark/ql/src/test/results/clientpositive/spark/join35.q.out Mon Oct 27 19:56:58 2014 differ

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join36.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join36.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join36.q.out (added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join36.q.out Mon Oct 27 19:56:58 2014
@@ -0,0 +1,479 @@
+PREHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE tmp1(key INT, cnt INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp1
+POSTHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE tmp1(key INT, cnt INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp1
+PREHOOK: query: CREATE TABLE tmp2(key INT, cnt INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp2
+POSTHOOK: query: CREATE TABLE tmp2(key INT, cnt INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp2
+PREHOOK: query: CREATE TABLE dest_j1(key INT, value INT, val2 INT)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@dest_j1
+POSTHOOK: query: CREATE TABLE dest_j1(key INT, value INT, val2 INT)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@dest_j1
+PREHOOK: query: INSERT OVERWRITE TABLE tmp1
+SELECT key, count(1) from src group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@tmp1
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: INSERT OVERWRITE TABLE tmp1
+SELECT key, count(1) from src group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@tmp1
+POSTHOOK: Lineage: tmp1.cnt EXPRESSION [(src)src.null, ]
+POSTHOOK: Lineage: tmp1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: INSERT OVERWRITE TABLE tmp2
+SELECT key, count(1) from src group by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@tmp2
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: INSERT OVERWRITE TABLE tmp2
+SELECT key, count(1) from src group by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@tmp2
+POSTHOOK: Lineage: tmp2.cnt EXPRESSION [(src)src.null, ]
+POSTHOOK: Lineage: tmp2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: EXPLAIN
+INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(x) */ x.key, x.cnt, y.cnt
+FROM tmp1 x JOIN tmp2 y ON (x.key = y.key)
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(x) */ x.key, x.cnt, y.cnt
+FROM tmp1 x JOIN tmp2 y ON (x.key = y.key)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1
+  Stage-0 depends on stages: Stage-2
+  Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: y
+                  Statistics: Num rows: 223 Data size: 1791 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 112 Data size: 899 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: int)
+                      sort order: +
+                      Map-reduce partition columns: key (type: int)
+                      Statistics: Num rows: 112 Data size: 899 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: cnt (type: int)
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: x
+                  Statistics: Num rows: 223 Data size: 1791 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 112 Data size: 899 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: int)
+                      sort order: +
+                      Map-reduce partition columns: key (type: int)
+                      Statistics: Num rows: 112 Data size: 899 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: cnt (type: int)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0} {VALUE._col0}
+                  1 {VALUE._col0}
+                outputColumnNames: _col0, _col1, _col6
+                Statistics: Num rows: 123 Data size: 988 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: int), _col1 (type: int), _col6 (type: int)
+                  outputColumnNames: _col0, _col1, _col2
+                  Statistics: Num rows: 123 Data size: 988 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 123 Data size: 988 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                        name: default.dest_j1
+
+  Stage: Stage-2
+    Dependency Collection
+
+  Stage: Stage-0
+    Move Operator
+      tables:
+          replace: true
+          table:
+              input format: org.apache.hadoop.mapred.TextInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              name: default.dest_j1
+
+  Stage: Stage-3
+    Stats-Aggr Operator
+
+PREHOOK: query: INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(x) */ x.key, x.cnt, y.cnt
+FROM tmp1 x JOIN tmp2 y ON (x.key = y.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp1
+PREHOOK: Input: default@tmp2
+PREHOOK: Output: default@dest_j1
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(x) */ x.key, x.cnt, y.cnt
+FROM tmp1 x JOIN tmp2 y ON (x.key = y.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp1
+POSTHOOK: Input: default@tmp2
+POSTHOOK: Output: default@dest_j1
+POSTHOOK: Lineage: dest_j1.key SIMPLE [(tmp1)x.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(tmp2)y.FieldSchema(name:cnt, type:int, comment:null), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(tmp1)x.FieldSchema(name:cnt, type:int, comment:null), ]
+PREHOOK: query: select * from dest_j1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from dest_j1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+0	3	3
+10	1	1
+100	2	2
+103	2	2
+104	2	2
+105	1	1
+11	1	1
+111	1	1
+113	2	2
+114	1	1
+116	1	1
+118	2	2
+119	3	3
+12	2	2
+120	2	2
+125	2	2
+126	1	1
+128	3	3
+129	2	2
+131	1	1
+133	1	1
+134	2	2
+136	1	1
+137	2	2
+138	4	4
+143	1	1
+145	1	1
+146	2	2
+149	2	2
+15	2	2
+150	1	1
+152	2	2
+153	1	1
+155	1	1
+156	1	1
+157	1	1
+158	1	1
+160	1	1
+162	1	1
+163	1	1
+164	2	2
+165	2	2
+166	1	1
+167	3	3
+168	1	1
+169	4	4
+17	1	1
+170	1	1
+172	2	2
+174	2	2
+175	2	2
+176	2	2
+177	1	1
+178	1	1
+179	2	2
+18	2	2
+180	1	1
+181	1	1
+183	1	1
+186	1	1
+187	3	3
+189	1	1
+19	1	1
+190	1	1
+191	2	2
+192	1	1
+193	3	3
+194	1	1
+195	2	2
+196	1	1
+197	2	2
+199	3	3
+2	1	1
+20	1	1
+200	2	2
+201	1	1
+202	1	1
+203	2	2
+205	2	2
+207	2	2
+208	3	3
+209	2	2
+213	2	2
+214	1	1
+216	2	2
+217	2	2
+218	1	1
+219	2	2
+221	2	2
+222	1	1
+223	2	2
+224	2	2
+226	1	1
+228	1	1
+229	2	2
+230	5	5
+233	2	2
+235	1	1
+237	2	2
+238	2	2
+239	2	2
+24	2	2
+241	1	1
+242	2	2
+244	1	1
+247	1	1
+248	1	1
+249	1	1
+252	1	1
+255	2	2
+256	2	2
+257	1	1
+258	1	1
+26	2	2
+260	1	1
+262	1	1
+263	1	1
+265	2	2
+266	1	1
+27	1	1
+272	2	2
+273	3	3
+274	1	1
+275	1	1
+277	4	4
+278	2	2
+28	1	1
+280	2	2
+281	2	2
+282	2	2
+283	1	1
+284	1	1
+285	1	1
+286	1	1
+287	1	1
+288	2	2
+289	1	1
+291	1	1
+292	1	1
+296	1	1
+298	3	3
+30	1	1
+302	1	1
+305	1	1
+306	1	1
+307	2	2
+308	1	1
+309	2	2
+310	1	1
+311	3	3
+315	1	1
+316	3	3
+317	2	2
+318	3	3
+321	2	2
+322	2	2
+323	1	1
+325	2	2
+327	3	3
+33	1	1
+331	2	2
+332	1	1
+333	2	2
+335	1	1
+336	1	1
+338	1	1
+339	1	1
+34	1	1
+341	1	1
+342	2	2
+344	2	2
+345	1	1
+348	5	5
+35	3	3
+351	1	1
+353	2	2
+356	1	1
+360	1	1
+362	1	1
+364	1	1
+365	1	1
+366	1	1
+367	2	2
+368	1	1
+369	3	3
+37	2	2
+373	1	1
+374	1	1
+375	1	1
+377	1	1
+378	1	1
+379	1	1
+382	2	2
+384	3	3
+386	1	1
+389	1	1
+392	1	1
+393	1	1
+394	1	1
+395	2	2
+396	3	3
+397	2	2
+399	2	2
+4	1	1
+400	1	1
+401	5	5
+402	1	1
+403	3	3
+404	2	2
+406	4	4
+407	1	1
+409	3	3
+41	1	1
+411	1	1
+413	2	2
+414	2	2
+417	3	3
+418	1	1
+419	1	1
+42	2	2
+421	1	1
+424	2	2
+427	1	1
+429	2	2
+43	1	1
+430	3	3
+431	3	3
+432	1	1
+435	1	1
+436	1	1
+437	1	1
+438	3	3
+439	2	2
+44	1	1
+443	1	1
+444	1	1
+446	1	1
+448	1	1
+449	1	1
+452	1	1
+453	1	1
+454	3	3
+455	1	1
+457	1	1
+458	2	2
+459	2	2
+460	1	1
+462	2	2
+463	2	2
+466	3	3
+467	1	1
+468	4	4
+469	5	5
+47	1	1
+470	1	1
+472	1	1
+475	1	1
+477	1	1
+478	2	2
+479	1	1
+480	3	3
+481	1	1
+482	1	1
+483	1	1
+484	1	1
+485	1	1
+487	1	1
+489	4	4
+490	1	1
+491	1	1
+492	2	2
+493	1	1
+494	1	1
+495	1	1
+496	1	1
+497	1	1
+498	3	3
+5	3	3
+51	2	2
+53	1	1
+54	1	1
+57	1	1
+58	2	2
+64	1	1
+65	1	1
+66	1	1
+67	2	2
+69	1	1
+70	3	3
+72	2	2
+74	1	1
+76	2	2
+77	1	1
+78	1	1
+8	1	1
+80	1	1
+82	1	1
+83	2	2
+84	2	2
+85	1	1
+86	1	1
+87	1	1
+9	1	1
+90	3	3
+92	1	1
+95	2	2
+96	1	1
+97	2	2
+98	2	2

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join37.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join37.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join37.q.out (added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join37.q.out Mon Oct 27 19:56:58 2014
@@ -0,0 +1,165 @@
+PREHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@dest_j1
+POSTHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE dest_j1(key INT, value STRING, val2 STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@dest_j1
+PREHOOK: query: EXPLAIN
+INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value
+FROM src1 x JOIN src y ON (x.key = y.key)
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value
+FROM src1 x JOIN src y ON (x.key = y.key)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1
+  Stage-0 depends on stages: Stage-2
+  Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: y
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string)
+                      sort order: +
+                      Map-reduce partition columns: key (type: string)
+                      Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: value (type: string)
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: x
+                  Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string)
+                      sort order: +
+                      Map-reduce partition columns: key (type: string)
+                      Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: value (type: string)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0} {VALUE._col0}
+                  1 {VALUE._col0}
+                outputColumnNames: _col0, _col1, _col6
+                Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: UDFToInteger(_col0) (type: int), _col1 (type: string), _col6 (type: string)
+                  outputColumnNames: _col0, _col1, _col2
+                  Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                        name: default.dest_j1
+
+  Stage: Stage-2
+    Dependency Collection
+
+  Stage: Stage-0
+    Move Operator
+      tables:
+          replace: true
+          table:
+              input format: org.apache.hadoop.mapred.TextInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              name: default.dest_j1
+
+  Stage: Stage-3
+    Stats-Aggr Operator
+
+PREHOOK: query: INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value
+FROM src1 x JOIN src y ON (x.key = y.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+PREHOOK: Output: default@dest_j1
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: INSERT OVERWRITE TABLE dest_j1 
+SELECT /*+ MAPJOIN(X) */ x.key, x.value, y.value
+FROM src1 x JOIN src y ON (x.key = y.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: default@dest_j1
+POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src1)x.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)y.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(src1)x.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select * from dest_j1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from dest_j1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+128		val_128
+128		val_128
+128		val_128
+146	val_146	val_146
+146	val_146	val_146
+150	val_150	val_150
+213	val_213	val_213
+213	val_213	val_213
+224		val_224
+224		val_224
+238	val_238	val_238
+238	val_238	val_238
+255	val_255	val_255
+255	val_255	val_255
+273	val_273	val_273
+273	val_273	val_273
+273	val_273	val_273
+278	val_278	val_278
+278	val_278	val_278
+311	val_311	val_311
+311	val_311	val_311
+311	val_311	val_311
+369		val_369
+369		val_369
+369		val_369
+401	val_401	val_401
+401	val_401	val_401
+401	val_401	val_401
+401	val_401	val_401
+401	val_401	val_401
+406	val_406	val_406
+406	val_406	val_406
+406	val_406	val_406
+406	val_406	val_406
+66	val_66	val_66
+98	val_98	val_98
+98	val_98	val_98

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join38.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join38.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join38.q.out (added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join38.q.out Mon Oct 27 19:56:58 2014
@@ -0,0 +1,158 @@
+PREHOOK: query: create table tmp(col0 string, col1 string,col2 string,col3 string,col4 string,col5 string,col6 string,col7 string,col8 string,col9 string,col10 string,col11 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tmp
+POSTHOOK: query: create table tmp(col0 string, col1 string,col2 string,col3 string,col4 string,col5 string,col6 string,col7 string,col8 string,col9 string,col10 string,col11 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tmp
+PREHOOK: query: insert overwrite table tmp select key, cast(key + 1 as int), key +2, key+3, key+4, cast(key+5 as int), key+6, key+7, key+8, key+9, key+10, cast(key+11 as int) from src where key = 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@tmp
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: insert overwrite table tmp select key, cast(key + 1 as int), key +2, key+3, key+4, cast(key+5 as int), key+6, key+7, key+8, key+9, key+10, cast(key+11 as int) from src where key = 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@tmp
+POSTHOOK: Lineage: tmp.col0 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col10 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col11 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col2 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col4 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col5 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col6 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col7 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col8 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp.col9 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: select * from tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp
+#### A masked pattern was here ####
+POSTHOOK: query: select * from tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp
+#### A masked pattern was here ####
+100	101	102.0	103.0	104.0	105	106.0	107.0	108.0	109.0	110.0	111
+100	101	102.0	103.0	104.0	105	106.0	107.0	108.0	109.0	110.0	111
+PREHOOK: query: explain
+FROM src a JOIN tmp b ON (a.key = b.col11)
+SELECT /*+ MAPJOIN(a) */ a.value, b.col5, count(1) as count
+where b.col11 = 111
+group by a.value, b.col5
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+FROM src a JOIN tmp b ON (a.key = b.col11)
+SELECT /*+ MAPJOIN(a) */ a.value, b.col5, count(1) as count
+where b.col11 = 111
+group by a.value, b.col5
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (GROUP, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: b
+                  Statistics: Num rows: 1 Data size: 128 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: (col11 is not null and (col11 = 111)) (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: '111' (type: string)
+                      sort order: +
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                      value expressions: col5 (type: string)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: a
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: (key is not null and (key = 111)) (type: boolean)
+                    Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: '111' (type: string)
+                      sort order: +
+                      Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: value (type: string)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {VALUE._col0}
+                  1 {VALUE._col5}
+                outputColumnNames: _col1, _col10
+                Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col1 (type: string), _col10 (type: string)
+                  outputColumnNames: _col1, _col10
+                  Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: count(1)
+                    keys: _col1 (type: string), _col10 (type: string)
+                    mode: hash
+                    outputColumnNames: _col0, _col1, _col2
+                    Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: string), _col1 (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
+                      Statistics: Num rows: 137 Data size: 1460 Basic stats: COMPLETE Column stats: NONE
+                      value expressions: _col2 (type: bigint)
+        Reducer 3 
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                keys: KEY._col0 (type: string), KEY._col1 (type: string)
+                mode: mergepartial
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 68 Data size: 724 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
+                  outputColumnNames: _col0, _col1, _col2
+                  Statistics: Num rows: 68 Data size: 724 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 68 Data size: 724 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: FROM src a JOIN tmp b ON (a.key = b.col11)
+SELECT /*+ MAPJOIN(a) */ a.value, b.col5, count(1) as count
+where b.col11 = 111
+group by a.value, b.col5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@tmp
+#### A masked pattern was here ####
+POSTHOOK: query: FROM src a JOIN tmp b ON (a.key = b.col11)
+SELECT /*+ MAPJOIN(a) */ a.value, b.col5, count(1) as count
+where b.col11 = 111
+group by a.value, b.col5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@tmp
+#### A masked pattern was here ####
+val_111	105	2

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join39.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join39.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join39.q.out (added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join39.q.out Mon Oct 27 19:56:58 2014
@@ -0,0 +1,694 @@
+PREHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@dest_j1
+POSTHOOK: query: -- SORT_QUERY_RESULTS
+
+CREATE TABLE dest_j1(key STRING, value STRING, key1 string, val2 STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@dest_j1
+PREHOOK: query: explain
+INSERT OVERWRITE TABLE dest_j1
+SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value
+FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+INSERT OVERWRITE TABLE dest_j1
+SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value
+FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-2 depends on stages: Stage-1
+  Stage-0 depends on stages: Stage-2
+  Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: x
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: key (type: string)
+                    sort order: +
+                    Map-reduce partition columns: key (type: string)
+                    Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                    value expressions: value (type: string)
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: src
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: (key <= 100) (type: boolean)
+                    Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: key (type: string), value (type: string)
+                      outputColumnNames: _col0, _col1
+                      Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+                      Reduce Output Operator
+                        key expressions: _col0 (type: string)
+                        sort order: +
+                        Map-reduce partition columns: _col0 (type: string)
+                        Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+                        value expressions: _col1 (type: string)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Left Outer Join0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0} {VALUE._col0}
+                  1 {KEY.reducesinkkey0} {VALUE._col0}
+                outputColumnNames: _col0, _col1, _col5, _col6
+                Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string)
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+                        name: default.dest_j1
+
+  Stage: Stage-2
+    Dependency Collection
+
+  Stage: Stage-0
+    Move Operator
+      tables:
+          replace: true
+          table:
+              input format: org.apache.hadoop.mapred.TextInputFormat
+              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+              name: default.dest_j1
+
+  Stage: Stage-3
+    Stats-Aggr Operator
+
+PREHOOK: query: INSERT OVERWRITE TABLE dest_j1
+SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value
+FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@dest_j1
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: INSERT OVERWRITE TABLE dest_j1
+SELECT /*+ MAPJOIN(y) */ x.key, x.value, y.key, y.value
+FROM src x left outer JOIN (select * from src where key <= 100) y ON (x.key = y.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@dest_j1
+POSTHOOK: Lineage: dest_j1.key SIMPLE [(src)x.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.key1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.val2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(src)x.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select * from dest_j1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from dest_j1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+10	val_10	10	val_10
+100	val_100	100	val_100
+100	val_100	100	val_100
+100	val_100	100	val_100
+100	val_100	100	val_100
+103	val_103	NULL	NULL
+103	val_103	NULL	NULL
+104	val_104	NULL	NULL
+104	val_104	NULL	NULL
+105	val_105	NULL	NULL
+11	val_11	11	val_11
+111	val_111	NULL	NULL
+113	val_113	NULL	NULL
+113	val_113	NULL	NULL
+114	val_114	NULL	NULL
+116	val_116	NULL	NULL
+118	val_118	NULL	NULL
+118	val_118	NULL	NULL
+119	val_119	NULL	NULL
+119	val_119	NULL	NULL
+119	val_119	NULL	NULL
+12	val_12	12	val_12
+12	val_12	12	val_12
+12	val_12	12	val_12
+12	val_12	12	val_12
+120	val_120	NULL	NULL
+120	val_120	NULL	NULL
+125	val_125	NULL	NULL
+125	val_125	NULL	NULL
+126	val_126	NULL	NULL
+128	val_128	NULL	NULL
+128	val_128	NULL	NULL
+128	val_128	NULL	NULL
+129	val_129	NULL	NULL
+129	val_129	NULL	NULL
+131	val_131	NULL	NULL
+133	val_133	NULL	NULL
+134	val_134	NULL	NULL
+134	val_134	NULL	NULL
+136	val_136	NULL	NULL
+137	val_137	NULL	NULL
+137	val_137	NULL	NULL
+138	val_138	NULL	NULL
+138	val_138	NULL	NULL
+138	val_138	NULL	NULL
+138	val_138	NULL	NULL
+143	val_143	NULL	NULL
+145	val_145	NULL	NULL
+146	val_146	NULL	NULL
+146	val_146	NULL	NULL
+149	val_149	NULL	NULL
+149	val_149	NULL	NULL
+15	val_15	15	val_15
+15	val_15	15	val_15
+15	val_15	15	val_15
+15	val_15	15	val_15
+150	val_150	NULL	NULL
+152	val_152	NULL	NULL
+152	val_152	NULL	NULL
+153	val_153	NULL	NULL
+155	val_155	NULL	NULL
+156	val_156	NULL	NULL
+157	val_157	NULL	NULL
+158	val_158	NULL	NULL
+160	val_160	NULL	NULL
+162	val_162	NULL	NULL
+163	val_163	NULL	NULL
+164	val_164	NULL	NULL
+164	val_164	NULL	NULL
+165	val_165	NULL	NULL
+165	val_165	NULL	NULL
+166	val_166	NULL	NULL
+167	val_167	NULL	NULL
+167	val_167	NULL	NULL
+167	val_167	NULL	NULL
+168	val_168	NULL	NULL
+169	val_169	NULL	NULL
+169	val_169	NULL	NULL
+169	val_169	NULL	NULL
+169	val_169	NULL	NULL
+17	val_17	17	val_17
+170	val_170	NULL	NULL
+172	val_172	NULL	NULL
+172	val_172	NULL	NULL
+174	val_174	NULL	NULL
+174	val_174	NULL	NULL
+175	val_175	NULL	NULL
+175	val_175	NULL	NULL
+176	val_176	NULL	NULL
+176	val_176	NULL	NULL
+177	val_177	NULL	NULL
+178	val_178	NULL	NULL
+179	val_179	NULL	NULL
+179	val_179	NULL	NULL
+18	val_18	18	val_18
+18	val_18	18	val_18
+18	val_18	18	val_18
+18	val_18	18	val_18
+180	val_180	NULL	NULL
+181	val_181	NULL	NULL
+183	val_183	NULL	NULL
+186	val_186	NULL	NULL
+187	val_187	NULL	NULL
+187	val_187	NULL	NULL
+187	val_187	NULL	NULL
+189	val_189	NULL	NULL
+19	val_19	19	val_19
+190	val_190	NULL	NULL
+191	val_191	NULL	NULL
+191	val_191	NULL	NULL
+192	val_192	NULL	NULL
+193	val_193	NULL	NULL
+193	val_193	NULL	NULL
+193	val_193	NULL	NULL
+194	val_194	NULL	NULL
+195	val_195	NULL	NULL
+195	val_195	NULL	NULL
+196	val_196	NULL	NULL
+197	val_197	NULL	NULL
+197	val_197	NULL	NULL
+199	val_199	NULL	NULL
+199	val_199	NULL	NULL
+199	val_199	NULL	NULL
+2	val_2	2	val_2
+20	val_20	20	val_20
+200	val_200	NULL	NULL
+200	val_200	NULL	NULL
+201	val_201	NULL	NULL
+202	val_202	NULL	NULL
+203	val_203	NULL	NULL
+203	val_203	NULL	NULL
+205	val_205	NULL	NULL
+205	val_205	NULL	NULL
+207	val_207	NULL	NULL
+207	val_207	NULL	NULL
+208	val_208	NULL	NULL
+208	val_208	NULL	NULL
+208	val_208	NULL	NULL
+209	val_209	NULL	NULL
+209	val_209	NULL	NULL
+213	val_213	NULL	NULL
+213	val_213	NULL	NULL
+214	val_214	NULL	NULL
+216	val_216	NULL	NULL
+216	val_216	NULL	NULL
+217	val_217	NULL	NULL
+217	val_217	NULL	NULL
+218	val_218	NULL	NULL
+219	val_219	NULL	NULL
+219	val_219	NULL	NULL
+221	val_221	NULL	NULL
+221	val_221	NULL	NULL
+222	val_222	NULL	NULL
+223	val_223	NULL	NULL
+223	val_223	NULL	NULL
+224	val_224	NULL	NULL
+224	val_224	NULL	NULL
+226	val_226	NULL	NULL
+228	val_228	NULL	NULL
+229	val_229	NULL	NULL
+229	val_229	NULL	NULL
+230	val_230	NULL	NULL
+230	val_230	NULL	NULL
+230	val_230	NULL	NULL
+230	val_230	NULL	NULL
+230	val_230	NULL	NULL
+233	val_233	NULL	NULL
+233	val_233	NULL	NULL
+235	val_235	NULL	NULL
+237	val_237	NULL	NULL
+237	val_237	NULL	NULL
+238	val_238	NULL	NULL
+238	val_238	NULL	NULL
+239	val_239	NULL	NULL
+239	val_239	NULL	NULL
+24	val_24	24	val_24
+24	val_24	24	val_24
+24	val_24	24	val_24
+24	val_24	24	val_24
+241	val_241	NULL	NULL
+242	val_242	NULL	NULL
+242	val_242	NULL	NULL
+244	val_244	NULL	NULL
+247	val_247	NULL	NULL
+248	val_248	NULL	NULL
+249	val_249	NULL	NULL
+252	val_252	NULL	NULL
+255	val_255	NULL	NULL
+255	val_255	NULL	NULL
+256	val_256	NULL	NULL
+256	val_256	NULL	NULL
+257	val_257	NULL	NULL
+258	val_258	NULL	NULL
+26	val_26	26	val_26
+26	val_26	26	val_26
+26	val_26	26	val_26
+26	val_26	26	val_26
+260	val_260	NULL	NULL
+262	val_262	NULL	NULL
+263	val_263	NULL	NULL
+265	val_265	NULL	NULL
+265	val_265	NULL	NULL
+266	val_266	NULL	NULL
+27	val_27	27	val_27
+272	val_272	NULL	NULL
+272	val_272	NULL	NULL
+273	val_273	NULL	NULL
+273	val_273	NULL	NULL
+273	val_273	NULL	NULL
+274	val_274	NULL	NULL
+275	val_275	NULL	NULL
+277	val_277	NULL	NULL
+277	val_277	NULL	NULL
+277	val_277	NULL	NULL
+277	val_277	NULL	NULL
+278	val_278	NULL	NULL
+278	val_278	NULL	NULL
+28	val_28	28	val_28
+280	val_280	NULL	NULL
+280	val_280	NULL	NULL
+281	val_281	NULL	NULL
+281	val_281	NULL	NULL
+282	val_282	NULL	NULL
+282	val_282	NULL	NULL
+283	val_283	NULL	NULL
+284	val_284	NULL	NULL
+285	val_285	NULL	NULL
+286	val_286	NULL	NULL
+287	val_287	NULL	NULL
+288	val_288	NULL	NULL
+288	val_288	NULL	NULL
+289	val_289	NULL	NULL
+291	val_291	NULL	NULL
+292	val_292	NULL	NULL
+296	val_296	NULL	NULL
+298	val_298	NULL	NULL
+298	val_298	NULL	NULL
+298	val_298	NULL	NULL
+30	val_30	30	val_30
+302	val_302	NULL	NULL
+305	val_305	NULL	NULL
+306	val_306	NULL	NULL
+307	val_307	NULL	NULL
+307	val_307	NULL	NULL
+308	val_308	NULL	NULL
+309	val_309	NULL	NULL
+309	val_309	NULL	NULL
+310	val_310	NULL	NULL
+311	val_311	NULL	NULL
+311	val_311	NULL	NULL
+311	val_311	NULL	NULL
+315	val_315	NULL	NULL
+316	val_316	NULL	NULL
+316	val_316	NULL	NULL
+316	val_316	NULL	NULL
+317	val_317	NULL	NULL
+317	val_317	NULL	NULL
+318	val_318	NULL	NULL
+318	val_318	NULL	NULL
+318	val_318	NULL	NULL
+321	val_321	NULL	NULL
+321	val_321	NULL	NULL
+322	val_322	NULL	NULL
+322	val_322	NULL	NULL
+323	val_323	NULL	NULL
+325	val_325	NULL	NULL
+325	val_325	NULL	NULL
+327	val_327	NULL	NULL
+327	val_327	NULL	NULL
+327	val_327	NULL	NULL
+33	val_33	33	val_33
+331	val_331	NULL	NULL
+331	val_331	NULL	NULL
+332	val_332	NULL	NULL
+333	val_333	NULL	NULL
+333	val_333	NULL	NULL
+335	val_335	NULL	NULL
+336	val_336	NULL	NULL
+338	val_338	NULL	NULL
+339	val_339	NULL	NULL
+34	val_34	34	val_34
+341	val_341	NULL	NULL
+342	val_342	NULL	NULL
+342	val_342	NULL	NULL
+344	val_344	NULL	NULL
+344	val_344	NULL	NULL
+345	val_345	NULL	NULL
+348	val_348	NULL	NULL
+348	val_348	NULL	NULL
+348	val_348	NULL	NULL
+348	val_348	NULL	NULL
+348	val_348	NULL	NULL
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+35	val_35	35	val_35
+351	val_351	NULL	NULL
+353	val_353	NULL	NULL
+353	val_353	NULL	NULL
+356	val_356	NULL	NULL
+360	val_360	NULL	NULL
+362	val_362	NULL	NULL
+364	val_364	NULL	NULL
+365	val_365	NULL	NULL
+366	val_366	NULL	NULL
+367	val_367	NULL	NULL
+367	val_367	NULL	NULL
+368	val_368	NULL	NULL
+369	val_369	NULL	NULL
+369	val_369	NULL	NULL
+369	val_369	NULL	NULL
+37	val_37	37	val_37
+37	val_37	37	val_37
+37	val_37	37	val_37
+37	val_37	37	val_37
+373	val_373	NULL	NULL
+374	val_374	NULL	NULL
+375	val_375	NULL	NULL
+377	val_377	NULL	NULL
+378	val_378	NULL	NULL
+379	val_379	NULL	NULL
+382	val_382	NULL	NULL
+382	val_382	NULL	NULL
+384	val_384	NULL	NULL
+384	val_384	NULL	NULL
+384	val_384	NULL	NULL
+386	val_386	NULL	NULL
+389	val_389	NULL	NULL
+392	val_392	NULL	NULL
+393	val_393	NULL	NULL
+394	val_394	NULL	NULL
+395	val_395	NULL	NULL
+395	val_395	NULL	NULL
+396	val_396	NULL	NULL
+396	val_396	NULL	NULL
+396	val_396	NULL	NULL
+397	val_397	NULL	NULL
+397	val_397	NULL	NULL
+399	val_399	NULL	NULL
+399	val_399	NULL	NULL
+4	val_4	4	val_4
+400	val_400	NULL	NULL
+401	val_401	NULL	NULL
+401	val_401	NULL	NULL
+401	val_401	NULL	NULL
+401	val_401	NULL	NULL
+401	val_401	NULL	NULL
+402	val_402	NULL	NULL
+403	val_403	NULL	NULL
+403	val_403	NULL	NULL
+403	val_403	NULL	NULL
+404	val_404	NULL	NULL
+404	val_404	NULL	NULL
+406	val_406	NULL	NULL
+406	val_406	NULL	NULL
+406	val_406	NULL	NULL
+406	val_406	NULL	NULL
+407	val_407	NULL	NULL
+409	val_409	NULL	NULL
+409	val_409	NULL	NULL
+409	val_409	NULL	NULL
+41	val_41	41	val_41
+411	val_411	NULL	NULL
+413	val_413	NULL	NULL
+413	val_413	NULL	NULL
+414	val_414	NULL	NULL
+414	val_414	NULL	NULL
+417	val_417	NULL	NULL
+417	val_417	NULL	NULL
+417	val_417	NULL	NULL
+418	val_418	NULL	NULL
+419	val_419	NULL	NULL
+42	val_42	42	val_42
+42	val_42	42	val_42
+42	val_42	42	val_42
+42	val_42	42	val_42
+421	val_421	NULL	NULL
+424	val_424	NULL	NULL
+424	val_424	NULL	NULL
+427	val_427	NULL	NULL
+429	val_429	NULL	NULL
+429	val_429	NULL	NULL
+43	val_43	43	val_43
+430	val_430	NULL	NULL
+430	val_430	NULL	NULL
+430	val_430	NULL	NULL
+431	val_431	NULL	NULL
+431	val_431	NULL	NULL
+431	val_431	NULL	NULL
+432	val_432	NULL	NULL
+435	val_435	NULL	NULL
+436	val_436	NULL	NULL
+437	val_437	NULL	NULL
+438	val_438	NULL	NULL
+438	val_438	NULL	NULL
+438	val_438	NULL	NULL
+439	val_439	NULL	NULL
+439	val_439	NULL	NULL
+44	val_44	44	val_44
+443	val_443	NULL	NULL
+444	val_444	NULL	NULL
+446	val_446	NULL	NULL
+448	val_448	NULL	NULL
+449	val_449	NULL	NULL
+452	val_452	NULL	NULL
+453	val_453	NULL	NULL
+454	val_454	NULL	NULL
+454	val_454	NULL	NULL
+454	val_454	NULL	NULL
+455	val_455	NULL	NULL
+457	val_457	NULL	NULL
+458	val_458	NULL	NULL
+458	val_458	NULL	NULL
+459	val_459	NULL	NULL
+459	val_459	NULL	NULL
+460	val_460	NULL	NULL
+462	val_462	NULL	NULL
+462	val_462	NULL	NULL
+463	val_463	NULL	NULL
+463	val_463	NULL	NULL
+466	val_466	NULL	NULL
+466	val_466	NULL	NULL
+466	val_466	NULL	NULL
+467	val_467	NULL	NULL
+468	val_468	NULL	NULL
+468	val_468	NULL	NULL
+468	val_468	NULL	NULL
+468	val_468	NULL	NULL
+469	val_469	NULL	NULL
+469	val_469	NULL	NULL
+469	val_469	NULL	NULL
+469	val_469	NULL	NULL
+469	val_469	NULL	NULL
+47	val_47	47	val_47
+470	val_470	NULL	NULL
+472	val_472	NULL	NULL
+475	val_475	NULL	NULL
+477	val_477	NULL	NULL
+478	val_478	NULL	NULL
+478	val_478	NULL	NULL
+479	val_479	NULL	NULL
+480	val_480	NULL	NULL
+480	val_480	NULL	NULL
+480	val_480	NULL	NULL
+481	val_481	NULL	NULL
+482	val_482	NULL	NULL
+483	val_483	NULL	NULL
+484	val_484	NULL	NULL
+485	val_485	NULL	NULL
+487	val_487	NULL	NULL
+489	val_489	NULL	NULL
+489	val_489	NULL	NULL
+489	val_489	NULL	NULL
+489	val_489	NULL	NULL
+490	val_490	NULL	NULL
+491	val_491	NULL	NULL
+492	val_492	NULL	NULL
+492	val_492	NULL	NULL
+493	val_493	NULL	NULL
+494	val_494	NULL	NULL
+495	val_495	NULL	NULL
+496	val_496	NULL	NULL
+497	val_497	NULL	NULL
+498	val_498	NULL	NULL
+498	val_498	NULL	NULL
+498	val_498	NULL	NULL
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+5	val_5	5	val_5
+51	val_51	51	val_51
+51	val_51	51	val_51
+51	val_51	51	val_51
+51	val_51	51	val_51
+53	val_53	53	val_53
+54	val_54	54	val_54
+57	val_57	57	val_57
+58	val_58	58	val_58
+58	val_58	58	val_58
+58	val_58	58	val_58
+58	val_58	58	val_58
+64	val_64	64	val_64
+65	val_65	65	val_65
+66	val_66	66	val_66
+67	val_67	67	val_67
+67	val_67	67	val_67
+67	val_67	67	val_67
+67	val_67	67	val_67
+69	val_69	69	val_69
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+70	val_70	70	val_70
+72	val_72	72	val_72
+72	val_72	72	val_72
+72	val_72	72	val_72
+72	val_72	72	val_72
+74	val_74	74	val_74
+76	val_76	76	val_76
+76	val_76	76	val_76
+76	val_76	76	val_76
+76	val_76	76	val_76
+77	val_77	77	val_77
+78	val_78	78	val_78
+8	val_8	8	val_8
+80	val_80	80	val_80
+82	val_82	82	val_82
+83	val_83	83	val_83
+83	val_83	83	val_83
+83	val_83	83	val_83
+83	val_83	83	val_83
+84	val_84	84	val_84
+84	val_84	84	val_84
+84	val_84	84	val_84
+84	val_84	84	val_84
+85	val_85	85	val_85
+86	val_86	86	val_86
+87	val_87	87	val_87
+9	val_9	9	val_9
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+90	val_90	90	val_90
+92	val_92	92	val_92
+95	val_95	95	val_95
+95	val_95	95	val_95
+95	val_95	95	val_95
+95	val_95	95	val_95
+96	val_96	96	val_96
+97	val_97	97	val_97
+97	val_97	97	val_97
+97	val_97	97	val_97
+97	val_97	97	val_97
+98	val_98	98	val_98
+98	val_98	98	val_98
+98	val_98	98	val_98
+98	val_98	98	val_98

Added: hive/branches/spark/ql/src/test/results/clientpositive/spark/join41.q.out
URL: http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join41.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join41.q.out (added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join41.q.out Mon Oct 27 19:56:58 2014
@@ -0,0 +1,175 @@
+PREHOOK: query: create table s1 as select * from src where key = 0
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+PREHOOK: Output: database:default
+PREHOOK: Output: default@s1
+[Error 30017]: Skipping stats aggregation by error org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats aggregator of type counter cannot be connected to
+POSTHOOK: query: create table s1 as select * from src where key = 0
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@s1
+PREHOOK: query: EXPLAIN
+SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: src2
+                  Statistics: Num rows: 0 Data size: 24 Basic stats: PARTIAL Column stats: NONE
+                  Filter Operator
+                    predicate: (key > 10) (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string)
+                      sort order: +
+                      Map-reduce partition columns: key (type: string)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                      value expressions: value (type: string)
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: src1
+                  Statistics: Num rows: 0 Data size: 24 Basic stats: PARTIAL Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: key (type: string)
+                    sort order: +
+                    Map-reduce partition columns: key (type: string)
+                    Statistics: Num rows: 0 Data size: 24 Basic stats: PARTIAL Column stats: NONE
+                    value expressions: value (type: string)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Left Outer Join0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0} {VALUE._col0}
+                  1 {KEY.reducesinkkey0} {VALUE._col0}
+                outputColumnNames: _col0, _col1, _col5, _col6
+                Statistics: Num rows: 0 Data size: 26 Basic stats: PARTIAL Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string)
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 0 Data size: 26 Basic stats: PARTIAL Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 0 Data size: 26 Basic stats: PARTIAL Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@s1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@s1
+#### A masked pattern was here ####
+0	val_0	NULL	NULL
+0	val_0	NULL	NULL
+0	val_0	NULL	NULL
+PREHOOK: query: -- Make sure the big table is chosen correctly as part of HIVE-4146
+EXPLAIN
+SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+PREHOOK: type: QUERY
+POSTHOOK: query: -- Make sure the big table is chosen correctly as part of HIVE-4146
+EXPLAIN
+SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: src2
+                  Statistics: Num rows: 0 Data size: 24 Basic stats: PARTIAL Column stats: NONE
+                  Filter Operator
+                    predicate: (key > 10) (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string)
+                      sort order: +
+                      Map-reduce partition columns: key (type: string)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                      value expressions: value (type: string)
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: src1
+                  Statistics: Num rows: 0 Data size: 24 Basic stats: PARTIAL Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: key (type: string)
+                    sort order: +
+                    Map-reduce partition columns: key (type: string)
+                    Statistics: Num rows: 0 Data size: 24 Basic stats: PARTIAL Column stats: NONE
+                    value expressions: value (type: string)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Left Outer Join0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0} {VALUE._col0}
+                  1 {KEY.reducesinkkey0} {VALUE._col0}
+                outputColumnNames: _col0, _col1, _col5, _col6
+                Statistics: Num rows: 0 Data size: 26 Basic stats: PARTIAL Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string)
+                  outputColumnNames: _col0, _col1, _col2, _col3
+                  Statistics: Num rows: 0 Data size: 26 Basic stats: PARTIAL Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 0 Data size: 26 Basic stats: PARTIAL Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@s1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM s1 src1 LEFT OUTER JOIN s1 src2 ON (src1.key = src2.key AND src2.key > 10)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@s1
+#### A masked pattern was here ####
+0	val_0	NULL	NULL
+0	val_0	NULL	NULL
+0	val_0	NULL	NULL