You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jd...@apache.org on 2017/10/17 22:05:18 UTC
[1/2] hive git commit: HIVE-17792: Enable Bucket Map Join when there
are extra keys other than bucketed columns (Deepak Jaiswal,
reviewed by Jason Dere)
Repository: hive
Updated Branches:
refs/heads/master 2ee080d12 -> f973243a5
http://git-wip-us.apache.org/repos/asf/hive/blob/f973243a/ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out b/ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out
index 3bbc449..c0197d3 100644
--- a/ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out
+++ b/ql/src/test/results/clientpositive/spark/bucket_map_join_tez1.q.out
@@ -4616,3 +4616,2351 @@ STAGE PLANS:
Processor Tree:
ListSink
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-2 is a root stage
+ Stage-1 depends on stages: Stage-2
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-2
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Spark HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-1
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ input vertices:
+ 0 Map 1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ 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.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab
+PREHOOK: Input: default@tab@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab
+POSTHOOK: Input: default@tab@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-2 is a root stage
+ Stage-1 depends on stages: Stage-2
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-2
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Spark HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-1
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ input vertices:
+ 0 Map 1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ 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.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab
+PREHOOK: Input: default@tab@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab
+POSTHOOK: Input: default@tab@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
+PREHOOK: query: CREATE TABLE tab2(key int, value string) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tab2
+POSTHOOK: query: CREATE TABLE tab2(key int, value string) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tab2
+PREHOOK: query: insert overwrite table tab2 partition (ds='2008-04-08')
+select key,value from srcbucket_mapjoin
+PREHOOK: type: QUERY
+PREHOOK: Input: default@srcbucket_mapjoin
+PREHOOK: Input: default@srcbucket_mapjoin@ds=2008-04-08
+PREHOOK: Output: default@tab2@ds=2008-04-08
+POSTHOOK: query: insert overwrite table tab2 partition (ds='2008-04-08')
+select key,value from srcbucket_mapjoin
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@srcbucket_mapjoin
+POSTHOOK: Input: default@srcbucket_mapjoin@ds=2008-04-08
+POSTHOOK: Output: default@tab2@ds=2008-04-08
+POSTHOOK: Lineage: tab2 PARTITION(ds=2008-04-08).key SIMPLE [(srcbucket_mapjoin)srcbucket_mapjoin.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tab2 PARTITION(ds=2008-04-08).value SIMPLE [(srcbucket_mapjoin)srcbucket_mapjoin.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: analyze table tab2 compute statistics for columns
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab2
+PREHOOK: Input: default@tab2@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table tab2 compute statistics for columns
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab2
+POSTHOOK: Input: default@tab2@ds=2008-04-08
+#### A masked pattern was here ####
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-2 is a root stage
+ Stage-1 depends on stages: Stage-2
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-2
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Spark HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-1
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ input vertices:
+ 0 Map 1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ 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.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab2
+PREHOOK: Input: default@tab2@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab2
+POSTHOOK: Input: default@tab2@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-2 is a root stage
+ Stage-1 depends on stages: Stage-2
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-2
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
+ Spark HashTable Sink Operator
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-1
+ Spark
+#### A masked pattern was here ####
+ Vertices:
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ input vertices:
+ 0 Map 1
+ Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ 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.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Local Work:
+ Map Reduce Local Work
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab2
+PREHOOK: Input: default@tab2@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab2
+POSTHOOK: Input: default@tab2@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
[2/2] hive git commit: HIVE-17792: Enable Bucket Map Join when there
are extra keys other than bucketed columns (Deepak Jaiswal,
reviewed by Jason Dere)
Posted by jd...@apache.org.
HIVE-17792: Enable Bucket Map Join when there are extra keys other than bucketed columns (Deepak Jaiswal, reviewed by Jason Dere)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/f973243a
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/f973243a
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/f973243a
Branch: refs/heads/master
Commit: f973243a59c8fa94f932bdede1a13bd96275089a
Parents: 2ee080d
Author: Jason Dere <jd...@hortonworks.com>
Authored: Tue Oct 17 15:04:49 2017 -0700
Committer: Jason Dere <jd...@hortonworks.com>
Committed: Tue Oct 17 15:04:49 2017 -0700
----------------------------------------------------------------------
.../hive/ql/optimizer/ConvertJoinMapJoin.java | 44 +-
.../annotation/OpTraitsRulesProcFactory.java | 110 +-
.../clientpositive/bucket_map_join_tez1.q | 36 +
.../llap/bucket_map_join_tez1.q.out | 2356 ++++++++++++++++++
.../clientpositive/llap/tez_smb_main.q.out | 12 +-
.../spark/bucket_map_join_tez1.q.out | 2348 +++++++++++++++++
6 files changed, 4854 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/f973243a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
index e24760b..53d34bb 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConvertJoinMapJoin.java
@@ -385,6 +385,32 @@ public class ConvertJoinMapJoin implements NodeProcessor {
return false;
}
+ // Incase the join has extra keys other than bucketed columns, partition keys need to be updated
+ // on small table(s).
+ ReduceSinkOperator bigTableRS = (ReduceSinkOperator)joinOp.getParentOperators().get(bigTablePosition);
+ OpTraits opTraits = bigTableRS.getOpTraits();
+ List<List<String>> listBucketCols = opTraits.getBucketColNames();
+ ArrayList<ExprNodeDesc> bigTablePartitionCols = bigTableRS.getConf().getPartitionCols();
+ boolean updatePartitionCols = false;
+ List<Integer> positions = new ArrayList<>();
+
+ if (listBucketCols.get(0).size() != bigTablePartitionCols.size()) {
+ updatePartitionCols = true;
+ // Prepare updated partition columns for small table(s).
+ // Get the positions of bucketed columns
+
+ int i = 0;
+ Map<String, ExprNodeDesc> colExprMap = bigTableRS.getColumnExprMap();
+ for (ExprNodeDesc bigTableExpr : bigTablePartitionCols) {
+ // It is guaranteed there is only 1 list within listBucketCols.
+ for (String colName : listBucketCols.get(0)) {
+ if (colExprMap.get(colName).isSame(bigTableExpr)) {
+ positions.add(i++);
+ }
+ }
+ }
+ }
+
MapJoinOperator mapJoinOp = convertJoinMapJoin(joinOp, context, bigTablePosition, true);
if (mapJoinOp == null) {
LOG.debug("Conversion to bucket map join failed.");
@@ -394,7 +420,7 @@ public class ConvertJoinMapJoin implements NodeProcessor {
joinDesc.setBucketMapJoin(true);
// we can set the traits for this join operator
- OpTraits opTraits = new OpTraits(joinOp.getOpTraits().getBucketColNames(),
+ opTraits = new OpTraits(joinOp.getOpTraits().getBucketColNames(),
tezBucketJoinProcCtx.getNumBuckets(), null, joinOp.getOpTraits().getNumReduceSinks());
mapJoinOp.setOpTraits(opTraits);
mapJoinOp.setStatistics(joinOp.getStatistics());
@@ -405,6 +431,22 @@ public class ConvertJoinMapJoin implements NodeProcessor {
bigTableBucketNumMapping.put(joinDesc.getBigTableAlias(), tezBucketJoinProcCtx.getNumBuckets());
joinDesc.setBigTableBucketNumMapping(bigTableBucketNumMapping);
+ // Update the partition columns in small table to ensure correct routing of hash tables.
+ if (updatePartitionCols) {
+ // use the positions to only pick the partitionCols which are required
+ // on the small table side.
+ for (Operator<?> op : mapJoinOp.getParentOperators()) {
+ if (!(op instanceof ReduceSinkOperator)) continue;;
+
+ ReduceSinkOperator rsOp = (ReduceSinkOperator) op;
+ ArrayList<ExprNodeDesc> newPartitionCols = new ArrayList<>();
+ ArrayList<ExprNodeDesc> partitionCols = rsOp.getConf().getPartitionCols();
+ for (Integer position : positions) {
+ newPartitionCols.add(partitionCols.get(position));
+ }
+ rsOp.getConf().setPartitionCols(newPartitionCols);
+ }
+ }
return true;
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f973243a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
index 875ee9d..191cfba 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/metainfo/annotation/OpTraitsRulesProcFactory.java
@@ -18,10 +18,8 @@
package org.apache.hadoop.hive.ql.optimizer.metainfo.annotation;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.*;
import java.util.Map.Entry;
-import java.util.Stack;
import org.apache.hadoop.hive.metastore.api.Order;
import org.apache.hadoop.hive.ql.exec.GroupByOperator;
@@ -40,10 +38,7 @@ import org.apache.hadoop.hive.ql.optimizer.AbstractBucketJoinProc;
import org.apache.hadoop.hive.ql.parse.ParseContext;
import org.apache.hadoop.hive.ql.parse.PrunedPartitionList;
import org.apache.hadoop.hive.ql.parse.SemanticException;
-import org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc;
-import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
-import org.apache.hadoop.hive.ql.plan.OpTraits;
-import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+import org.apache.hadoop.hive.ql.plan.*;
/*
* This class populates the following operator traits for the entire operator tree:
@@ -92,26 +87,52 @@ public class OpTraitsRulesProcFactory {
Object... nodeOutputs) throws SemanticException {
ReduceSinkOperator rs = (ReduceSinkOperator)nd;
- List<String> bucketCols = new ArrayList<String>();
- if (rs.getColumnExprMap() != null) {
- for (ExprNodeDesc exprDesc : rs.getConf().getKeyCols()) {
- for (Entry<String, ExprNodeDesc> entry : rs.getColumnExprMap().entrySet()) {
- if (exprDesc.isSame(entry.getValue())) {
- bucketCols.add(entry.getKey());
- }
- }
- }
- }
List<List<String>> listBucketCols = new ArrayList<List<String>>();
- listBucketCols.add(bucketCols);
int numBuckets = -1;
int numReduceSinks = 1;
- OpTraits parentOpTraits = rs.getParentOperators().get(0).getConf().getTraits();
+ OpTraits parentOpTraits = rs.getParentOperators().get(0).getOpTraits();
if (parentOpTraits != null) {
numBuckets = parentOpTraits.getNumBuckets();
numReduceSinks += parentOpTraits.getNumReduceSinks();
}
+
+ List<String> bucketCols = new ArrayList<>();
+ if (parentOpTraits != null &&
+ parentOpTraits.getBucketColNames() != null) {
+ if (parentOpTraits.getBucketColNames().size() > 0) {
+ for (List<String> cols : parentOpTraits.getBucketColNames()) {
+ for (String col : cols) {
+ for (Entry<String, ExprNodeDesc> entry : rs.getColumnExprMap().entrySet()) {
+ // Fetch the column expression. There should be atleast one.
+ Map<Integer, ExprNodeDesc> colMap = new HashMap<>();
+ boolean found = false;
+ ExprNodeDescUtils.getExprNodeColumnDesc(entry.getValue(), colMap);
+ for (Integer hashCode : colMap.keySet()) {
+ ExprNodeColumnDesc expr = (ExprNodeColumnDesc) colMap.get(hashCode);
+ if (expr.getColumn().equals(col)) {
+ bucketCols.add(entry.getKey());
+ found = true;
+ break;
+ }
+ }
+ if (found) break;
+ } // column exprmap.
+ } // cols
+ }
+ } else {
+ // fallback to old mechanism which serves SMB Joins.
+ for (ExprNodeDesc exprDesc : rs.getConf().getKeyCols()) {
+ for (Entry<String, ExprNodeDesc> entry : rs.getColumnExprMap().entrySet()) {
+ if (exprDesc.isSame(entry.getValue())) {
+ bucketCols.add(entry.getKey());
+ }
+ }
+ }
+ }
+ }
+
+ listBucketCols.add(bucketCols);
OpTraits opTraits = new OpTraits(listBucketCols, numBuckets, listBucketCols, numReduceSinks);
rs.setOpTraits(opTraits);
return null;
@@ -320,39 +341,38 @@ public class OpTraitsRulesProcFactory {
private List<String> getOutputColNames(JoinOperator joinOp, List<List<String>> parentColNames,
byte pos) {
- if (parentColNames != null) {
- List<String> bucketColNames = new ArrayList<String>();
-
- // guaranteed that there is only 1 list within this list because
- // a reduce sink always brings down the bucketing cols to a single list.
- // may not be true with correlation operators (mux-demux)
- List<String> colNames = parentColNames.get(0);
- for (String colName : colNames) {
- for (ExprNodeDesc exprNode : joinOp.getConf().getExprs().get(pos)) {
- if (exprNode instanceof ExprNodeColumnDesc) {
- if (((ExprNodeColumnDesc) (exprNode)).getColumn().equals(colName)) {
- for (Entry<String, ExprNodeDesc> entry : joinOp.getColumnExprMap().entrySet()) {
- if (entry.getValue().isSame(exprNode)) {
- bucketColNames.add(entry.getKey());
- // we have found the colName
- break;
- }
+ if (parentColNames == null) {
+ // no col names in parent
+ return null;
+ }
+ List<String> bucketColNames = new ArrayList<>();
+
+ // guaranteed that there is only 1 list within this list because
+ // a reduce sink always brings down the bucketing cols to a single list.
+ // may not be true with correlation operators (mux-demux)
+ List<String> colNames = parentColNames.size() > 0 ? parentColNames.get(0) : new ArrayList<>();
+ for (String colName : colNames) {
+ for (ExprNodeDesc exprNode : joinOp.getConf().getExprs().get(pos)) {
+ if (exprNode instanceof ExprNodeColumnDesc) {
+ if (((ExprNodeColumnDesc) (exprNode)).getColumn().equals(colName)) {
+ for (Entry<String, ExprNodeDesc> entry : joinOp.getColumnExprMap().entrySet()) {
+ if (entry.getValue().isSame(exprNode)) {
+ bucketColNames.add(entry.getKey());
+ // we have found the colName
+ break;
}
- } else {
- // continue on to the next exprNode to find a match
- continue;
}
- // we have found the colName. No need to search more exprNodes.
- break;
+ } else {
+ // continue on to the next exprNode to find a match
+ continue;
}
+ // we have found the colName. No need to search more exprNodes.
+ break;
}
}
-
- return bucketColNames;
}
- // no col names in parent
- return null;
+ return bucketColNames;
}
}
http://git-wip-us.apache.org/repos/asf/hive/blob/f973243a/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q b/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q
index cac1d6a..2231493 100644
--- a/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q
+++ b/ql/src/test/queries/clientpositive/bucket_map_join_tez1.q
@@ -242,3 +242,39 @@ explain
select a.key, a.value, b.value
from tab a join tab_part b on a.key = b.key and a.ds = b.ds;
+-- HIVE-17792 : Enable Bucket Map Join when there are extra keys other than bucketed columns
+set hive.auto.convert.join.noconditionaltask.size=20000;
+set hive.convert.join.bucket.mapjoin.tez = false;
+explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value;
+select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value;
+
+set hive.convert.join.bucket.mapjoin.tez = true;
+explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value;
+select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value;
+
+
+-- With non-bucketed small table
+CREATE TABLE tab2(key int, value string) PARTITIONED BY(ds STRING) STORED AS TEXTFILE;
+insert overwrite table tab2 partition (ds='2008-04-08')
+select key,value from srcbucket_mapjoin;
+analyze table tab2 compute statistics for columns;
+
+set hive.convert.join.bucket.mapjoin.tez = false;
+explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value;
+select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value;
+
+set hive.convert.join.bucket.mapjoin.tez = true;
+explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value;
+select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value;
http://git-wip-us.apache.org/repos/asf/hive/blob/f973243a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez1.q.out b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez1.q.out
index 36cb4ac..20ef495 100644
--- a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez1.q.out
+++ b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez1.q.out
@@ -4717,3 +4717,2359 @@ STAGE PLANS:
Processor Tree:
ListSink
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: llap
+ LLAP IO: no inputs
+ Map 3
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: llap
+ LLAP IO: no inputs
+ Reducer 2
+ Execution mode: llap
+ Reduce Operator Tree:
+ Merge Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab
+PREHOOK: Input: default@tab@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab
+POSTHOOK: Input: default@tab@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Map 2 <- Map 1 (CUSTOM_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: llap
+ LLAP IO: no inputs
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ input vertices:
+ 0 Map 1
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Execution mode: llap
+ LLAP IO: no inputs
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab
+PREHOOK: Input: default@tab@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab
+POSTHOOK: Input: default@tab@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
+PREHOOK: query: CREATE TABLE tab2(key int, value string) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@tab2
+POSTHOOK: query: CREATE TABLE tab2(key int, value string) PARTITIONED BY(ds STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@tab2
+PREHOOK: query: insert overwrite table tab2 partition (ds='2008-04-08')
+select key,value from srcbucket_mapjoin
+PREHOOK: type: QUERY
+PREHOOK: Input: default@srcbucket_mapjoin
+PREHOOK: Input: default@srcbucket_mapjoin@ds=2008-04-08
+PREHOOK: Output: default@tab2@ds=2008-04-08
+POSTHOOK: query: insert overwrite table tab2 partition (ds='2008-04-08')
+select key,value from srcbucket_mapjoin
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@srcbucket_mapjoin
+POSTHOOK: Input: default@srcbucket_mapjoin@ds=2008-04-08
+POSTHOOK: Output: default@tab2@ds=2008-04-08
+POSTHOOK: Lineage: tab2 PARTITION(ds=2008-04-08).key SIMPLE [(srcbucket_mapjoin)srcbucket_mapjoin.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tab2 PARTITION(ds=2008-04-08).value SIMPLE [(srcbucket_mapjoin)srcbucket_mapjoin.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: analyze table tab2 compute statistics for columns
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab2
+PREHOOK: Input: default@tab2@ds=2008-04-08
+PREHOOK: Output: default@tab2
+PREHOOK: Output: default@tab2@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: analyze table tab2 compute statistics for columns
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab2
+POSTHOOK: Input: default@tab2@ds=2008-04-08
+POSTHOOK: Output: default@tab2
+POSTHOOK: Output: default@tab2@ds=2008-04-08
+#### A masked pattern was here ####
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: llap
+ LLAP IO: no inputs
+ Map 3
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: string)
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: llap
+ LLAP IO: no inputs
+ Reducer 2
+ Execution mode: llap
+ Reduce Operator Tree:
+ Merge Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab2
+PREHOOK: Input: default@tab2@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab2
+POSTHOOK: Input: default@tab2@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
+PREHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a.key, a.value, b.value
+ from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Map 2 <- Map 1 (CUSTOM_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: a
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: string)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: llap
+ LLAP IO: no inputs
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: b
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: (key is not null and value is not null) (type: boolean)
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: key (type: int), value (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int), _col1 (type: string)
+ 1 _col0 (type: int), _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col3
+ input vertices:
+ 0 Map 1
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 391 Data size: 72726 Basic stats: COMPLETE Column stats: COMPLETE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Execution mode: llap
+ LLAP IO: no inputs
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tab2
+PREHOOK: Input: default@tab2@ds=2008-04-08
+PREHOOK: Input: default@tab_part
+PREHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+POSTHOOK: query: select a.key, a.value, b.value
+from tab2 a join tab_part b on a.key = b.key and a.value = b.value
+order by a.key, a.value, b.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tab2
+POSTHOOK: Input: default@tab2@ds=2008-04-08
+POSTHOOK: Input: default@tab_part
+POSTHOOK: Input: default@tab_part@ds=2008-04-08
+#### A masked pattern was here ####
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+0 val_0 val_0
+2 val_2 val_2
+4 val_4 val_4
+8 val_8 val_8
+11 val_11 val_11
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+15 val_15 val_15
+17 val_17 val_17
+19 val_19 val_19
+20 val_20 val_20
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+24 val_24 val_24
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+26 val_26 val_26
+28 val_28 val_28
+33 val_33 val_33
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+35 val_35 val_35
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+37 val_37 val_37
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+42 val_42 val_42
+44 val_44 val_44
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+51 val_51 val_51
+53 val_53 val_53
+57 val_57 val_57
+64 val_64 val_64
+66 val_66 val_66
+77 val_77 val_77
+80 val_80 val_80
+82 val_82 val_82
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+84 val_84 val_84
+86 val_86 val_86
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+95 val_95 val_95
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+97 val_97 val_97
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+103 val_103 val_103
+105 val_105 val_105
+114 val_114 val_114
+116 val_116 val_116
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+118 val_118 val_118
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+125 val_125 val_125
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+129 val_129 val_129
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+134 val_134 val_134
+136 val_136 val_136
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+138 val_138 val_138
+143 val_143 val_143
+145 val_145 val_145
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+149 val_149 val_149
+150 val_150 val_150
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+152 val_152 val_152
+156 val_156 val_156
+158 val_158 val_158
+163 val_163 val_163
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+165 val_165 val_165
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+167 val_167 val_167
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+169 val_169 val_169
+170 val_170 val_170
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+172 val_172 val_172
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+174 val_174 val_174
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+176 val_176 val_176
+178 val_178 val_178
+181 val_181 val_181
+183 val_183 val_183
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+187 val_187 val_187
+189 val_189 val_189
+190 val_190 val_190
+192 val_192 val_192
+194 val_194 val_194
+196 val_196 val_196
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+200 val_200 val_200
+202 val_202 val_202
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+208 val_208 val_208
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+213 val_213 val_213
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+217 val_217 val_217
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+219 val_219 val_219
+222 val_222 val_222
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+224 val_224 val_224
+226 val_226 val_226
+228 val_228 val_228
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+233 val_233 val_233
+235 val_235 val_235
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+237 val_237 val_237
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+239 val_239 val_239
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+242 val_242 val_242
+244 val_244 val_244
+248 val_248 val_248
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+255 val_255 val_255
+257 val_257 val_257
+260 val_260 val_260
+262 val_262 val_262
+266 val_266 val_266
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+273 val_273 val_273
+275 val_275 val_275
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+277 val_277 val_277
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+280 val_280 val_280
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+282 val_282 val_282
+284 val_284 val_284
+286 val_286 val_286
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+288 val_288 val_288
+291 val_291 val_291
+305 val_305 val_305
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+307 val_307 val_307
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+309 val_309 val_309
+310 val_310 val_310
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+316 val_316 val_316
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+318 val_318 val_318
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+321 val_321 val_321
+323 val_323 val_323
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+325 val_325 val_325
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+327 val_327 val_327
+332 val_332 val_332
+336 val_336 val_336
+338 val_338 val_338
+341 val_341 val_341
+345 val_345 val_345
+356 val_356 val_356
+365 val_365 val_365
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+367 val_367 val_367
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+369 val_369 val_369
+374 val_374 val_374
+378 val_378 val_378
+389 val_389 val_389
+392 val_392 val_392
+394 val_394 val_394
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+396 val_396 val_396
+400 val_400 val_400
+402 val_402 val_402
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+404 val_404 val_404
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+406 val_406 val_406
+411 val_411 val_411
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+413 val_413 val_413
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+417 val_417 val_417
+419 val_419 val_419
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+424 val_424 val_424
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+431 val_431 val_431
+435 val_435 val_435
+437 val_437 val_437
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+439 val_439 val_439
+444 val_444 val_444
+446 val_446 val_446
+448 val_448 val_448
+453 val_453 val_453
+455 val_455 val_455
+457 val_457 val_457
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+459 val_459 val_459
+460 val_460 val_460
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+462 val_462 val_462
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+466 val_466 val_466
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+468 val_468 val_468
+475 val_475 val_475
+477 val_477 val_477
+479 val_479 val_479
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+480 val_480 val_480
+482 val_482 val_482
+484 val_484 val_484
+491 val_491 val_491
+493 val_493 val_493
+495 val_495 val_495
+497 val_497 val_497
http://git-wip-us.apache.org/repos/asf/hive/blob/f973243a/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out b/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
index 283efcf..f457814 100644
--- a/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
+++ b/ql/src/test/results/clientpositive/llap/tez_smb_main.q.out
@@ -584,7 +584,7 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Map 1 <- Map 4 (BROADCAST_EDGE)
+ Map 1 <- Map 4 (CUSTOM_EDGE)
Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
@@ -710,7 +710,7 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Map 1 <- Map 4 (BROADCAST_EDGE)
+ Map 1 <- Map 4 (CUSTOM_EDGE)
Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
@@ -839,7 +839,7 @@ POSTHOOK: Input: default@tab@ds=2008-04-08
POSTHOOK: Input: default@tab_part
POSTHOOK: Input: default@tab_part@ds=2008-04-08
#### A masked pattern was here ####
-40
+19
PREHOOK: query: explain select count(*) from tab a join tab_part b on a.value = b.value
PREHOOK: type: QUERY
POSTHOOK: query: explain select count(*) from tab a join tab_part b on a.value = b.value
@@ -1400,7 +1400,7 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Map 1 <- Map 2 (BROADCAST_EDGE)
+ Map 1 <- Map 2 (CUSTOM_EDGE)
Map 3 <- Map 1 (CUSTOM_EDGE)
Reducer 4 <- Map 3 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
@@ -1520,7 +1520,7 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Map 1 <- Map 2 (BROADCAST_EDGE)
+ Map 1 <- Map 2 (CUSTOM_EDGE)
Map 3 <- Map 1 (CUSTOM_EDGE)
Reducer 4 <- Map 3 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
@@ -1643,7 +1643,7 @@ POSTHOOK: Input: default@tab@ds=2008-04-08
POSTHOOK: Input: default@tab_part
POSTHOOK: Input: default@tab_part@ds=2008-04-08
#### A masked pattern was here ####
-40
+19
PREHOOK: query: explain
select count(*) from (select s1.key as key, s1.value as value from tab s1 join tab s3 on s1.key=s3.key
UNION ALL