diff --git ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java
index 85351aa..31245bf 100644
--- ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java
+++ ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java
@@ -135,6 +135,8 @@ public boolean accept(File filePath) {
private String clusterMode;
+ private String hiveConfDir;
+
private String runDisabled;
private String hadoopVersion;
@@ -146,6 +148,14 @@ public void setHadoopVersion(String ver) {
public String getHadoopVersion() {
return hadoopVersion;
}
+
+ public void setHiveConfDir(String hiveConfDir) {
+ this.hiveConfDir = hiveConfDir;
+ }
+
+ public String getHiveConfDir() {
+ return hiveConfDir;
+ }
public void setClusterMode(String clusterMode) {
this.clusterMode = clusterMode;
@@ -414,6 +424,9 @@ public void execute() throws BuildException {
if (hadoopVersion == null) {
hadoopVersion = "";
}
+ if (hiveConfDir == null) {
+ hiveConfDir = "";
+ }
// For each of the qFiles generate the test
VelocityContext ctx = new VelocityContext();
@@ -425,6 +438,7 @@ public void execute() throws BuildException {
ctx.put("resultsDir", relativePath(hiveRootDir, resultsDir));
ctx.put("logDir", relativePath(hiveRootDir, logDir));
ctx.put("clusterMode", clusterMode);
+ ctx.put("hiveConfDir", hiveConfDir);
ctx.put("hadoopVersion", hadoopVersion);
File outFile = new File(outDir, className + ".java");
diff --git common/src/java/org/apache/hadoop/hive/conf/HiveConf.java common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
index b403fc4..3ca2fad 100644
--- common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
+++ common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
@@ -1337,7 +1337,11 @@ public URL getHiveDefaultLocation() {
return hiveDefaultURL;
}
- public URL getHiveSiteLocation() {
+ public static void setHiveSiteLocation(URL location) {
+ hiveSiteURL = location;
+ }
+
+ public static URL getHiveSiteLocation() {
return hiveSiteURL;
}
diff --git data/conf/tez/hive-site.xml data/conf/tez/hive-site.xml
new file mode 100644
index 0000000..c7d546f
--- /dev/null
+++ data/conf/tez/hive-site.xml
@@ -0,0 +1,187 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hadoop.tmp.dir
+ ${test.tmp.dir}/hadoop-tmp
+ A base for other temporary directories.
+
+
+
+ hive.exec.scratchdir
+ ${test.tmp.dir}/scratchdir
+ Scratch space for Hive jobs
+
+
+
+ hive.exec.local.scratchdir
+ ${test.tmp.dir}/localscratchdir/
+ Local scratch space for Hive jobs
+
+
+
+ javax.jdo.option.ConnectionURL
+ jdbc:derby:;databaseName=${test.tmp.dir}/junit_metastore_db;create=true
+
+
+
+ hive.stats.dbconnectionstring
+ jdbc:derby:;databaseName=${test.tmp.dir}/TempStatsStore;create=true
+
+
+
+
+ javax.jdo.option.ConnectionDriverName
+ org.apache.derby.jdbc.EmbeddedDriver
+
+
+
+ javax.jdo.option.ConnectionUserName
+ APP
+
+
+
+ javax.jdo.option.ConnectionPassword
+ mine
+
+
+
+
+ hive.metastore.warehouse.dir
+ ${test.warehouse.dir}
+
+
+
+
+ hive.metastore.metadb.dir
+ file://${test.tmp.dir}/metadb/
+
+ Required by metastore server or if the uris argument below is not supplied
+
+
+
+
+ test.log.dir
+ ${test.tmp.dir}/log/
+
+
+
+
+ test.data.files
+ ${hive.root}/data/files
+
+
+
+
+ hive.jar.path
+ ${maven.local.repository}/org/apache/hive/hive-exec/${hive.version}/hive-exec-${hive.version}.jar
+
+
+
+
+ hive.metastore.rawstore.impl
+ org.apache.hadoop.hive.metastore.ObjectStore
+ Name of the class that implements org.apache.hadoop.hive.metastore.rawstore interface. This class is used to store and retrieval of raw metadata objects such as table, database
+
+
+
+ hive.querylog.location
+ ${test.tmp.dir}/tmp
+ Location of the structured hive logs
+
+
+
+ hive.exec.pre.hooks
+ org.apache.hadoop.hive.ql.hooks.PreExecutePrinter, org.apache.hadoop.hive.ql.hooks.EnforceReadOnlyTables
+ Pre Execute Hook for Tests
+
+
+
+ hive.exec.post.hooks
+ org.apache.hadoop.hive.ql.hooks.PostExecutePrinter
+ Post Execute Hook for Tests
+
+
+
+ hive.support.concurrency
+ false
+ Whether hive supports concurrency or not. A zookeeper instance must be up and running for the default hive lock manager to support read-write locks.
+
+
+
+ fs.pfile.impl
+ org.apache.hadoop.fs.ProxyLocalFileSystem
+ A proxy for local file system used for cross file system testing
+
+
+
+ hive.exec.mode.local.auto
+ false
+
+ Let hive determine whether to run in local mode automatically
+ Disabling this for tests so that minimr is not affected
+
+
+
+
+ hive.auto.convert.join
+ false
+ Whether Hive enable the optimization about converting common join into mapjoin based on the input file size
+
+
+
+ hive.ignore.mapjoin.hint
+ true
+ Whether Hive ignores the mapjoin hint
+
+
+
+ hive.input.format
+ org.apache.hadoop.hive.ql.io.HiveInputFormat
+ The default input format, if it is not specified, the system assigns it. It is set to HiveInputFormat for hadoop versions 17, 18 and 19, whereas it is set to CombineHiveInputFormat for hadoop 20. The user can always overwrite it - if there is a bug in CombineHiveInputFormat, it can always be manually set to HiveInputFormat.
+
+
+
+ hive.default.rcfile.serde
+ org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
+ The default SerDe hive will use for the rcfile format
+
+
+
+ hive.stats.dbclass
+ counter
+ The default storatge that stores temporary hive statistics. Currently, jdbc, hbase and counter type is supported
+
+
+
+ hive.optimize.tez
+ true
+ Whether tez is on or off
+
+
+
diff --git itests/qtest/pom.xml itests/qtest/pom.xml
index 8bb4d73..7d4072a 100644
--- itests/qtest/pom.xml
+++ itests/qtest/pom.xml
@@ -39,6 +39,7 @@
stats_counter_partitioned.q,list_bucket_dml_10.q,input16_cc.q,scriptfile1.q,scriptfile1_win.q,bucket4.q,bucketmapjoin6.q,disable_merge_for_bucketing.q,reduce_deduplicate.q,smb_mapjoin_8.q,join1.q,groupby2.q,bucketizedhiveinputformat.q,bucketmapjoin7.q,optrstat_groupby.q,bucket_num_reducers.q,bucket5.q,load_fs2.q,bucket_num_reducers2.q,infer_bucket_sort_merge.q,infer_bucket_sort_reducers_power_two.q,infer_bucket_sort_dyn_part.q,infer_bucket_sort_bucketed_table.q,infer_bucket_sort_map_operators.q,infer_bucket_sort_num_buckets.q,leftsemijoin_mr.q,schemeAuthority.q,schemeAuthority2.q,truncate_column_buckets.q,remote_script.q,,load_hdfs_file_with_space_in_the_name.q,parallel_orderby.q,import_exported_table.q,stats_counter.q
cluster_tasklog_retrieval.q,minimr_broken_pipe.q,mapreduce_stack_trace.q,mapreduce_stack_trace_turnoff.q,mapreduce_stack_trace_hadoop20.q,mapreduce_stack_trace_turnoff_hadoop20.q
tez_join_tests.q,tez_joins_explain.q,mrr.q,tez_dml.q,tez_insert_overwrite_local_directory_1.q
+ join0.q,join1.q,auto_join0.q,auto_join1.q,bucket2.q,bucket3.q,bucket4.q,count.q,create_merge_compressed.q,cross_join.q,ctas.q,custom_input_output_format.q
add_part_exist.q,alter1.q,alter2.q,alter4.q,alter5.q,alter_rename_partition.q,alter_rename_partition_authorization.q,archive.q,archive_corrupt.q,archive_multi.q,archive_mr_1806.q,archive_multi_mr_1806.q,authorization_1.q,authorization_2.q,authorization_4.q,authorization_5.q,authorization_6.q,authorization_7.q,ba_table1.q,ba_table2.q,ba_table3.q,ba_table_udfs.q,binary_table_bincolserde.q,binary_table_colserde.q,cluster.q,columnarserde_create_shortcut.q,combine2.q,constant_prop.q,create_nested_type.q,create_or_replace_view.q,create_struct_table.q,create_union_table.q,database.q,database_location.q,database_properties.q,ddltime.q,describe_database_json.q,drop_database_removes_partition_dirs.q,escape1.q,escape2.q,exim_00_nonpart_empty.q,exim_01_nonpart.q,exim_02_00_part_empty.q,exim_02_part.q,exim_03_nonpart_over_compat.q,exim_04_all_part.q,exim_04_evolved_parts.q,exim_05_some_part.q,exim_06_one_part.q,exim_07_all_part_over_nonoverlap.q,exim_08_nonpart_rename.q,exim_09_part_spec_nonoverlap.q,exim_10_external_managed.q,exim_11_managed_external.q,exim_12_external_location.q,exim_13_managed_location.q,exim_14_managed_location_over_existing.q,exim_15_external_part.q,exim_16_part_external.q,exim_17_part_managed.q,exim_18_part_external.q,exim_19_00_part_external_location.q,exim_19_part_external_location.q,exim_20_part_managed_location.q,exim_21_export_authsuccess.q,exim_22_import_exist_authsuccess.q,exim_23_import_part_authsuccess.q,exim_24_import_nonexist_authsuccess.q,global_limit.q,groupby_complex_types.q,groupby_complex_types_multi_single_reducer.q,index_auth.q,index_auto.q,index_auto_empty.q,index_bitmap.q,index_bitmap1.q,index_bitmap2.q,index_bitmap3.q,index_bitmap_auto.q,index_bitmap_rc.q,index_compact.q,index_compact_1.q,index_compact_2.q,index_compact_3.q,index_stale_partitioned.q,init_file.q,input16.q,input16_cc.q,input46.q,input_columnarserde.q,input_dynamicserde.q,input_lazyserde.q,input_testxpath3.q,input_testxpath4.q,insert2_overwrite_partitions.q,insertexternal1.q,join_thrift.q,lateral_view.q,load_binary_data.q,load_exist_part_authsuccess.q,load_nonpart_authsuccess.q,load_part_authsuccess.q,loadpart_err.q,lock1.q,lock2.q,lock3.q,lock4.q,merge_dynamic_partition.q,multi_insert.q,multi_insert_move_tasks_share_dependencies.q,null_column.q,ppd_clusterby.q,query_with_semi.q,rename_column.q,sample6.q,sample_islocalmode_hook.q,set_processor_namespaces.q,show_tables.q,source.q,split_sample.q,str_to_map.q,transform1.q,udaf_collect_set.q,udaf_context_ngrams.q,udaf_histogram_numeric.q,udaf_ngrams.q,udaf_percentile_approx.q,udf_array.q,udf_bitmap_and.q,udf_bitmap_or.q,udf_explode.q,udf_format_number.q,udf_map.q,udf_map_keys.q,udf_map_values.q,udf_max.q,udf_min.q,udf_named_struct.q,udf_percentile.q,udf_printf.q,udf_sentences.q,udf_sort_array.q,udf_split.q,udf_struct.q,udf_substr.q,udf_translate.q,udf_union.q,udf_xpath.q,udtf_stack.q,view.q,virtual_column.q
@@ -444,11 +445,12 @@
templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCliDriver.vm"
queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientpositive/"
queryFile="${qfile}"
- includeQueryFile="${minitez.query.files}"
+ includeQueryFile="${minitez.query.files},${minitez.query.files.shared}"
queryFileRegex="${qfile_regex}"
clusterMode="tez"
runDisabled="${run_disabled}"
- resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/"
+ hiveConfDir="${basedir}/${hive.path.to.root}/data/conf/tez"
+ resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/tez"
className="TestMiniTezCliDriver"
logFile="${project.build.directory}/testminitezclidrivergen.log"
logDirectory="${project.build.directory}/qfile-results/clientpositive/"
diff --git itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
index ce726a8..89b751a 100644
--- itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
+++ itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java
@@ -35,6 +35,7 @@
import java.io.Serializable;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -207,7 +208,7 @@ public void normalizeNames(File path) throws Exception {
}
public QTestUtil(String outDir, String logDir) throws Exception {
- this(outDir, logDir, MiniClusterType.none, "0.20");
+ this(outDir, logDir, MiniClusterType.none, null, "0.20");
}
public String getOutputDirectory() {
@@ -315,10 +316,20 @@ public static MiniClusterType valueForString(String type) {
}
}
- public QTestUtil(String outDir, String logDir, MiniClusterType clusterType, String hadoopVer)
+ public QTestUtil(String outDir, String logDir, MiniClusterType clusterType, String hadoopVer)
+ throws Exception {
+ this(outDir, logDir, clusterType, null, hadoopVer);
+ }
+
+ public QTestUtil(String outDir, String logDir, MiniClusterType clusterType,
+ String confDir, String hadoopVer)
throws Exception {
this.outDir = outDir;
this.logDir = logDir;
+ if (confDir != null && !confDir.isEmpty()) {
+ HiveConf.setHiveSiteLocation(new URL("file://"+confDir+"/hive-site.xml"));
+ System.out.println("Setting hive-site: "+HiveConf.getHiveSiteLocation());
+ }
conf = new HiveConf(Driver.class);
this.miniMr = (clusterType == MiniClusterType.mr);
this.hadoopVer = getHadoopMainVersion(hadoopVer);
@@ -328,14 +339,18 @@ public QTestUtil(String outDir, String logDir, MiniClusterType clusterType, Stri
this.clusterType = clusterType;
HadoopShims shims = ShimLoader.getHadoopShims();
+ int numberOfDataNodes = 4;
// can run tez tests only on hadoop 2
if (clusterType == MiniClusterType.tez) {
Assume.assumeTrue(ShimLoader.getMajorVersion().equals("0.23"));
+ // this is necessary temporarily - there's a probem with multi datanodes on MiniTezCluster
+ // will be fixed in 0.3
+ numberOfDataNodes = 1;
}
if (clusterType != MiniClusterType.none) {
- dfs = shims.getMiniDfs(conf, 4, true, null);
+ dfs = shims.getMiniDfs(conf, numberOfDataNodes, true, null);
FileSystem fs = dfs.getFileSystem();
if (clusterType == MiniClusterType.tez) {
if (!(shims instanceof Hadoop23Shims)) {
@@ -1480,7 +1495,7 @@ public void run() {
{
QTestUtil[] qt = new QTestUtil[qfiles.length];
for (int i = 0; i < qfiles.length; i++) {
- qt[i] = new QTestUtil(resDir, logDir, MiniClusterType.none, "0.20");
+ qt[i] = new QTestUtil(resDir, logDir, MiniClusterType.none, null, "0.20");
qt[i].addFile(qfiles[i]);
qt[i].clearTestSideEffects();
}
diff --git ql/src/test/results/clientpositive/mrr.q.out ql/src/test/results/clientpositive/mrr.q.out
deleted file mode 100644
index f7a5449..0000000
--- ql/src/test/results/clientpositive/mrr.q.out
+++ /dev/null
@@ -1,2440 +0,0 @@
-PREHOOK: query: -- simple query with multiple reduce stages
-EXPLAIN SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
-PREHOOK: type: QUERY
-POSTHOOK: query: -- simple query with multiple reduce stages
-EXPLAIN SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt)))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Select Operator
- expressions:
- expr: key
- type: string
- expr: value
- type: string
- outputColumnNames: key, value
- Group By Operator
- aggregations:
- expr: count(value)
- bucketGroup: false
- keys:
- expr: key
- type: string
- mode: hash
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(VALUE._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-#### A masked pattern was here ####
-490 1
-287 1
-286 1
-285 1
-284 1
-283 1
-114 1
-487 1
-485 1
-28 1
-484 1
-181 1
-275 1
-274 1
-183 1
-483 1
-27 1
-266 1
-482 1
-263 1
-262 1
-260 1
-481 1
-258 1
-257 1
-116 1
-479 1
-252 1
-249 1
-248 1
-247 1
-244 1
-92 1
-241 1
-477 1
-475 1
-472 1
-470 1
-235 1
-47 1
-186 1
-126 1
-228 1
-226 1
-131 1
-467 1
-222 1
-133 1
-82 1
-218 1
-80 1
-460 1
-214 1
-8 1
-78 1
-189 1
-457 1
-455 1
-136 1
-202 1
-201 1
-453 1
-20 1
-2 1
-19 1
-452 1
-196 1
-449 1
-194 1
-190 1
-192 1
-448 1
-446 1
-444 1
-443 1
-44 1
-77 1
-143 1
-437 1
-436 1
-435 1
-432 1
-145 1
-150 1
-43 1
-10 1
-427 1
-74 1
-421 1
-9 1
-419 1
-418 1
-153 1
-105 1
-69 1
-411 1
-41 1
-155 1
-407 1
-156 1
-87 1
-157 1
-402 1
-158 1
-400 1
-4 1
-66 1
-65 1
-160 1
-64 1
-394 1
-393 1
-392 1
-389 1
-386 1
-162 1
-86 1
-379 1
-378 1
-377 1
-375 1
-374 1
-373 1
-57 1
-163 1
-368 1
-54 1
-366 1
-365 1
-364 1
-362 1
-360 1
-356 1
-53 1
-351 1
-166 1
-168 1
-345 1
-85 1
-11 1
-341 1
-34 1
-339 1
-338 1
-336 1
-335 1
-111 1
-332 1
-497 1
-33 1
-17 1
-496 1
-323 1
-495 1
-494 1
-170 1
-493 1
-177 1
-315 1
-178 1
-310 1
-96 1
-308 1
-491 1
-306 1
-305 1
-302 1
-30 1
-180 1
-296 1
-292 1
-291 1
-289 1
-98 2
-97 2
-95 2
-84 2
-83 2
-76 2
-72 2
-67 2
-58 2
-51 2
-492 2
-478 2
-463 2
-462 2
-459 2
-458 2
-439 2
-429 2
-424 2
-42 2
-414 2
-413 2
-404 2
-399 2
-397 2
-395 2
-382 2
-37 2
-367 2
-353 2
-344 2
-342 2
-333 2
-331 2
-325 2
-322 2
-321 2
-317 2
-309 2
-307 2
-288 2
-282 2
-281 2
-280 2
-278 2
-272 2
-265 2
-26 2
-256 2
-255 2
-242 2
-24 2
-239 2
-238 2
-237 2
-233 2
-229 2
-224 2
-223 2
-221 2
-219 2
-217 2
-216 2
-213 2
-209 2
-207 2
-205 2
-203 2
-200 2
-197 2
-195 2
-191 2
-18 2
-179 2
-176 2
-175 2
-174 2
-172 2
-165 2
-164 2
-152 2
-15 2
-149 2
-146 2
-137 2
-134 2
-129 2
-125 2
-120 2
-12 2
-118 2
-113 2
-104 2
-103 2
-100 2
-498 3
-369 3
-384 3
-396 3
-403 3
-409 3
-417 3
-5 3
-430 3
-70 3
-119 3
-0 3
-431 3
-438 3
-480 3
-193 3
-199 3
-208 3
-187 3
-273 3
-298 3
-454 3
-311 3
-316 3
-466 3
-90 3
-128 3
-318 3
-327 3
-167 3
-35 3
-468 4
-489 4
-406 4
-169 4
-138 4
-277 4
-469 5
-401 5
-230 5
-348 5
-PREHOOK: query: -- join query with multiple reduce stages;
-EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-PREHOOK: type: QUERY
-POSTHOOK: query: -- join query with multiple reduce stages;
-EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src) s1) (TOK_TABREF (TOK_TABNAME src) s2) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL s2) key)) (TOK_SELEXPR (TOK_FUNCTIONDI count (. (TOK_TABLE_OR_COL s2) value)) cnt)) (TOK_GROUPBY (. (TOK_TABLE_OR_COL s2) key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt)))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- s2
- TableScan
- alias: s2
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 1
- value expressions:
- expr: key
- type: string
- expr: value
- type: string
- Alias -> Map Operator Tree:
- s1
- TableScan
- alias: s1
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 0
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- condition expressions:
- 0
- 1 {VALUE._col0} {VALUE._col1}
- handleSkewJoin: false
- outputColumnNames: _col4, _col5
- Select Operator
- expressions:
- expr: _col4
- type: string
- expr: _col5
- type: string
- outputColumnNames: _col4, _col5
- Group By Operator
- aggregations:
- expr: count(DISTINCT _col5)
- bucketGroup: false
- keys:
- expr: _col4
- type: string
- expr: _col5
- type: string
- mode: hash
- outputColumnNames: _col0, _col1, _col2
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- sort order: ++
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col2
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(DISTINCT KEY._col1:0._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-#### A masked pattern was here ####
-98 1
-97 1
-96 1
-95 1
-92 1
-90 1
-9 1
-87 1
-86 1
-85 1
-84 1
-83 1
-82 1
-80 1
-8 1
-78 1
-77 1
-76 1
-74 1
-72 1
-70 1
-69 1
-67 1
-66 1
-65 1
-64 1
-58 1
-57 1
-54 1
-53 1
-51 1
-5 1
-498 1
-497 1
-496 1
-495 1
-494 1
-493 1
-492 1
-491 1
-490 1
-489 1
-487 1
-485 1
-484 1
-483 1
-482 1
-481 1
-480 1
-479 1
-478 1
-477 1
-475 1
-472 1
-470 1
-47 1
-469 1
-468 1
-467 1
-466 1
-463 1
-462 1
-460 1
-459 1
-458 1
-457 1
-455 1
-454 1
-453 1
-452 1
-449 1
-448 1
-446 1
-444 1
-443 1
-44 1
-439 1
-438 1
-437 1
-436 1
-435 1
-432 1
-431 1
-430 1
-43 1
-429 1
-427 1
-424 1
-421 1
-42 1
-419 1
-418 1
-417 1
-414 1
-413 1
-411 1
-41 1
-409 1
-407 1
-406 1
-404 1
-403 1
-402 1
-401 1
-400 1
-4 1
-399 1
-397 1
-396 1
-395 1
-394 1
-393 1
-392 1
-389 1
-386 1
-384 1
-382 1
-379 1
-378 1
-377 1
-375 1
-374 1
-373 1
-37 1
-369 1
-368 1
-367 1
-366 1
-365 1
-364 1
-362 1
-360 1
-356 1
-353 1
-351 1
-35 1
-348 1
-345 1
-344 1
-342 1
-341 1
-34 1
-339 1
-338 1
-336 1
-335 1
-333 1
-332 1
-331 1
-33 1
-327 1
-325 1
-323 1
-322 1
-321 1
-318 1
-317 1
-316 1
-315 1
-311 1
-310 1
-309 1
-308 1
-307 1
-306 1
-305 1
-302 1
-30 1
-298 1
-296 1
-292 1
-291 1
-289 1
-288 1
-287 1
-286 1
-285 1
-284 1
-283 1
-282 1
-281 1
-280 1
-28 1
-278 1
-277 1
-275 1
-274 1
-273 1
-272 1
-27 1
-266 1
-265 1
-263 1
-262 1
-260 1
-26 1
-258 1
-257 1
-256 1
-255 1
-252 1
-249 1
-248 1
-247 1
-244 1
-242 1
-241 1
-24 1
-239 1
-238 1
-237 1
-235 1
-233 1
-230 1
-229 1
-228 1
-226 1
-224 1
-223 1
-222 1
-221 1
-219 1
-218 1
-217 1
-216 1
-214 1
-213 1
-209 1
-208 1
-207 1
-205 1
-203 1
-202 1
-201 1
-200 1
-20 1
-2 1
-199 1
-197 1
-196 1
-195 1
-194 1
-193 1
-192 1
-191 1
-190 1
-19 1
-189 1
-187 1
-186 1
-183 1
-181 1
-180 1
-18 1
-179 1
-178 1
-177 1
-176 1
-175 1
-174 1
-172 1
-170 1
-17 1
-169 1
-168 1
-167 1
-166 1
-165 1
-164 1
-163 1
-162 1
-160 1
-158 1
-157 1
-156 1
-155 1
-153 1
-152 1
-150 1
-15 1
-149 1
-146 1
-145 1
-143 1
-138 1
-137 1
-136 1
-134 1
-133 1
-131 1
-129 1
-128 1
-126 1
-125 1
-120 1
-12 1
-119 1
-118 1
-116 1
-114 1
-113 1
-111 1
-11 1
-105 1
-104 1
-103 1
-100 1
-10 1
-0 1
-PREHOOK: query: -- same query with broadcast join
-EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-PREHOOK: type: QUERY
-POSTHOOK: query: -- same query with broadcast join
-EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src) s1) (TOK_TABREF (TOK_TABNAME src) s2) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL s2) key)) (TOK_SELEXPR (TOK_FUNCTIONDI count (. (TOK_TABLE_OR_COL s2) value)) cnt)) (TOK_GROUPBY (. (TOK_TABLE_OR_COL s2) key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt)))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- s2
- TableScan
- alias: s2
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 1
- value expressions:
- expr: key
- type: string
- expr: value
- type: string
- Alias -> Map Operator Tree:
- s1
- TableScan
- alias: s1
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- condition expressions:
- 0
- 1 {key} {value}
- handleSkewJoin: false
- keys:
- 0 [Column[key]]
- 1 [Column[key]]
- outputColumnNames: _col4, _col5
- Position of Big Table: 0
- Select Operator
- expressions:
- expr: _col4
- type: string
- expr: _col5
- type: string
- outputColumnNames: _col4, _col5
- Group By Operator
- aggregations:
- expr: count(DISTINCT _col5)
- bucketGroup: false
- keys:
- expr: _col4
- type: string
- expr: _col5
- type: string
- mode: hash
- outputColumnNames: _col0, _col1, _col2
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- sort order: ++
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col2
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(DISTINCT KEY._col1:0._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-#### A masked pattern was here ####
-98 1
-97 1
-96 1
-95 1
-92 1
-90 1
-9 1
-87 1
-86 1
-85 1
-84 1
-83 1
-82 1
-80 1
-8 1
-78 1
-77 1
-76 1
-74 1
-72 1
-70 1
-69 1
-67 1
-66 1
-65 1
-64 1
-58 1
-57 1
-54 1
-53 1
-51 1
-5 1
-498 1
-497 1
-496 1
-495 1
-494 1
-493 1
-492 1
-491 1
-490 1
-489 1
-487 1
-485 1
-484 1
-483 1
-482 1
-481 1
-480 1
-479 1
-478 1
-477 1
-475 1
-472 1
-470 1
-47 1
-469 1
-468 1
-467 1
-466 1
-463 1
-462 1
-460 1
-459 1
-458 1
-457 1
-455 1
-454 1
-453 1
-452 1
-449 1
-448 1
-446 1
-444 1
-443 1
-44 1
-439 1
-438 1
-437 1
-436 1
-435 1
-432 1
-431 1
-430 1
-43 1
-429 1
-427 1
-424 1
-421 1
-42 1
-419 1
-418 1
-417 1
-414 1
-413 1
-411 1
-41 1
-409 1
-407 1
-406 1
-404 1
-403 1
-402 1
-401 1
-400 1
-4 1
-399 1
-397 1
-396 1
-395 1
-394 1
-393 1
-392 1
-389 1
-386 1
-384 1
-382 1
-379 1
-378 1
-377 1
-375 1
-374 1
-373 1
-37 1
-369 1
-368 1
-367 1
-366 1
-365 1
-364 1
-362 1
-360 1
-356 1
-353 1
-351 1
-35 1
-348 1
-345 1
-344 1
-342 1
-341 1
-34 1
-339 1
-338 1
-336 1
-335 1
-333 1
-332 1
-331 1
-33 1
-327 1
-325 1
-323 1
-322 1
-321 1
-318 1
-317 1
-316 1
-315 1
-311 1
-310 1
-309 1
-308 1
-307 1
-306 1
-305 1
-302 1
-30 1
-298 1
-296 1
-292 1
-291 1
-289 1
-288 1
-287 1
-286 1
-285 1
-284 1
-283 1
-282 1
-281 1
-280 1
-28 1
-278 1
-277 1
-275 1
-274 1
-273 1
-272 1
-27 1
-266 1
-265 1
-263 1
-262 1
-260 1
-26 1
-258 1
-257 1
-256 1
-255 1
-252 1
-249 1
-248 1
-247 1
-244 1
-242 1
-241 1
-24 1
-239 1
-238 1
-237 1
-235 1
-233 1
-230 1
-229 1
-228 1
-226 1
-224 1
-223 1
-222 1
-221 1
-219 1
-218 1
-217 1
-216 1
-214 1
-213 1
-209 1
-208 1
-207 1
-205 1
-203 1
-202 1
-201 1
-200 1
-20 1
-2 1
-199 1
-197 1
-196 1
-195 1
-194 1
-193 1
-192 1
-191 1
-190 1
-19 1
-189 1
-187 1
-186 1
-183 1
-181 1
-180 1
-18 1
-179 1
-178 1
-177 1
-176 1
-175 1
-174 1
-172 1
-170 1
-17 1
-169 1
-168 1
-167 1
-166 1
-165 1
-164 1
-163 1
-162 1
-160 1
-158 1
-157 1
-156 1
-155 1
-153 1
-152 1
-150 1
-15 1
-149 1
-146 1
-145 1
-143 1
-138 1
-137 1
-136 1
-134 1
-133 1
-131 1
-129 1
-128 1
-126 1
-125 1
-120 1
-12 1
-119 1
-118 1
-116 1
-114 1
-113 1
-111 1
-11 1
-105 1
-104 1
-103 1
-100 1
-10 1
-0 1
-PREHOOK: query: -- query with multiple branches in the task dag
-EXPLAIN
-SELECT *
-FROM
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s1
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s2
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s3
- ON (s1.key = s2.key and s1.key = s3.key)
-WHERE
- s1.cnt > 1
-ORDER BY s1.key
-PREHOOK: type: QUERY
-POSTHOOK: query: -- query with multiple branches in the task dag
-EXPLAIN
-SELECT *
-FROM
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s1
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s2
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s3
- ON (s1.key = s2.key and s1.key = s3.key)
-WHERE
- s1.cnt > 1
-ORDER BY s1.key
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))) s1) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))) s2)) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))) s3) (and (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s2) key)) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s3) key))))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (> (. (TOK_TABLE_OR_COL s1) cnt) 1)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL s1) key)))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Select Operator
- expressions:
- expr: key
- type: string
- expr: value
- type: string
- outputColumnNames: key, value
- Group By Operator
- aggregations:
- expr: count(value)
- bucketGroup: false
- keys:
- expr: key
- type: string
- mode: hash
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(VALUE._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: 2
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Select Operator
- expressions:
- expr: key
- type: string
- expr: value
- type: string
- outputColumnNames: key, value
- Group By Operator
- aggregations:
- expr: count(value)
- bucketGroup: false
- keys:
- expr: key
- type: string
- mode: hash
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(VALUE._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: 1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Select Operator
- expressions:
- expr: key
- type: string
- expr: value
- type: string
- outputColumnNames: key, value
- Group By Operator
- aggregations:
- expr: count(value)
- bucketGroup: false
- keys:
- expr: key
- type: string
- mode: hash
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(VALUE._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: 0
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- Inner Join 0 to 2
- condition expressions:
- 0 {VALUE._col0} {VALUE._col1}
- 1 {VALUE._col0} {VALUE._col1}
- 2 {VALUE._col0} {VALUE._col1}
- handleSkewJoin: false
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Filter Operator
- predicate:
- expr: (_col1 > 1)
- type: boolean
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- expr: _col2
- type: string
- expr: _col3
- type: bigint
- expr: _col4
- type: string
- expr: _col5
- type: bigint
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- expr: _col2
- type: string
- expr: _col3
- type: bigint
- expr: _col4
- type: string
- expr: _col5
- type: bigint
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: SELECT *
-FROM
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s1
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s2
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s3
- ON (s1.key = s2.key and s1.key = s3.key)
-WHERE
- s1.cnt > 1
-ORDER BY s1.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT *
-FROM
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s1
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s2
- JOIN
- (SELECT key, count(value) as cnt
- FROM src GROUP BY key ORDER BY cnt) s3
- ON (s1.key = s2.key and s1.key = s3.key)
-WHERE
- s1.cnt > 1
-ORDER BY s1.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-#### A masked pattern was here ####
-0 3 0 3 0 3
-100 2 100 2 100 2
-103 2 103 2 103 2
-104 2 104 2 104 2
-113 2 113 2 113 2
-118 2 118 2 118 2
-119 3 119 3 119 3
-12 2 12 2 12 2
-120 2 120 2 120 2
-125 2 125 2 125 2
-128 3 128 3 128 3
-129 2 129 2 129 2
-134 2 134 2 134 2
-137 2 137 2 137 2
-138 4 138 4 138 4
-146 2 146 2 146 2
-149 2 149 2 149 2
-15 2 15 2 15 2
-152 2 152 2 152 2
-164 2 164 2 164 2
-165 2 165 2 165 2
-167 3 167 3 167 3
-169 4 169 4 169 4
-172 2 172 2 172 2
-174 2 174 2 174 2
-175 2 175 2 175 2
-176 2 176 2 176 2
-179 2 179 2 179 2
-18 2 18 2 18 2
-187 3 187 3 187 3
-191 2 191 2 191 2
-193 3 193 3 193 3
-195 2 195 2 195 2
-197 2 197 2 197 2
-199 3 199 3 199 3
-200 2 200 2 200 2
-203 2 203 2 203 2
-205 2 205 2 205 2
-207 2 207 2 207 2
-208 3 208 3 208 3
-209 2 209 2 209 2
-213 2 213 2 213 2
-216 2 216 2 216 2
-217 2 217 2 217 2
-219 2 219 2 219 2
-221 2 221 2 221 2
-223 2 223 2 223 2
-224 2 224 2 224 2
-229 2 229 2 229 2
-230 5 230 5 230 5
-233 2 233 2 233 2
-237 2 237 2 237 2
-238 2 238 2 238 2
-239 2 239 2 239 2
-24 2 24 2 24 2
-242 2 242 2 242 2
-255 2 255 2 255 2
-256 2 256 2 256 2
-26 2 26 2 26 2
-265 2 265 2 265 2
-272 2 272 2 272 2
-273 3 273 3 273 3
-277 4 277 4 277 4
-278 2 278 2 278 2
-280 2 280 2 280 2
-281 2 281 2 281 2
-282 2 282 2 282 2
-288 2 288 2 288 2
-298 3 298 3 298 3
-307 2 307 2 307 2
-309 2 309 2 309 2
-311 3 311 3 311 3
-316 3 316 3 316 3
-317 2 317 2 317 2
-318 3 318 3 318 3
-321 2 321 2 321 2
-322 2 322 2 322 2
-325 2 325 2 325 2
-327 3 327 3 327 3
-331 2 331 2 331 2
-333 2 333 2 333 2
-342 2 342 2 342 2
-344 2 344 2 344 2
-348 5 348 5 348 5
-35 3 35 3 35 3
-353 2 353 2 353 2
-367 2 367 2 367 2
-369 3 369 3 369 3
-37 2 37 2 37 2
-382 2 382 2 382 2
-384 3 384 3 384 3
-395 2 395 2 395 2
-396 3 396 3 396 3
-397 2 397 2 397 2
-399 2 399 2 399 2
-401 5 401 5 401 5
-403 3 403 3 403 3
-404 2 404 2 404 2
-406 4 406 4 406 4
-409 3 409 3 409 3
-413 2 413 2 413 2
-414 2 414 2 414 2
-417 3 417 3 417 3
-42 2 42 2 42 2
-424 2 424 2 424 2
-429 2 429 2 429 2
-430 3 430 3 430 3
-431 3 431 3 431 3
-438 3 438 3 438 3
-439 2 439 2 439 2
-454 3 454 3 454 3
-458 2 458 2 458 2
-459 2 459 2 459 2
-462 2 462 2 462 2
-463 2 463 2 463 2
-466 3 466 3 466 3
-468 4 468 4 468 4
-469 5 469 5 469 5
-478 2 478 2 478 2
-480 3 480 3 480 3
-489 4 489 4 489 4
-492 2 492 2 492 2
-498 3 498 3 498 3
-5 3 5 3 5 3
-51 2 51 2 51 2
-58 2 58 2 58 2
-67 2 67 2 67 2
-70 3 70 3 70 3
-72 2 72 2 72 2
-76 2 76 2 76 2
-83 2 83 2 83 2
-84 2 84 2 84 2
-90 3 90 3 90 3
-95 2 95 2 95 2
-97 2 97 2 97 2
-98 2 98 2 98 2
-PREHOOK: query: -- query with broadcast join in the reduce stage
-EXPLAIN
-SELECT *
-FROM
- (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
- JOIN src ON (s1.key = src.key)
-PREHOOK: type: QUERY
-POSTHOOK: query: -- query with broadcast join in the reduce stage
-EXPLAIN
-SELECT *
-FROM
- (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
- JOIN src ON (s1.key = src.key)
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)))) s1) (TOK_TABREF (TOK_TABNAME src)) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL src) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Select Operator
- expressions:
- expr: key
- type: string
- expr: value
- type: string
- outputColumnNames: key, value
- Group By Operator
- aggregations:
- expr: count(value)
- bucketGroup: false
- keys:
- expr: key
- type: string
- mode: hash
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(VALUE._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: 0
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- condition expressions:
- 0 {_col0} {_col1}
- 1 {key} {value}
- handleSkewJoin: false
- keys:
- 0 [Column[_col0]]
- 1 [Column[key]]
- outputColumnNames: _col0, _col1, _col2, _col3
- Position of Big Table: 1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- expr: _col2
- type: string
- expr: _col3
- type: string
- outputColumnNames: _col0, _col1, _col2, _col3
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: SELECT *
-FROM
- (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
- JOIN src ON (s1.key = src.key)
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT *
-FROM
- (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
- JOIN src ON (s1.key = src.key)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-#### A masked pattern was here ####
-238 2 238 val_238
-86 1 86 val_86
-311 3 311 val_311
-27 1 27 val_27
-165 2 165 val_165
-409 3 409 val_409
-255 2 255 val_255
-278 2 278 val_278
-98 2 98 val_98
-484 1 484 val_484
-265 2 265 val_265
-193 3 193 val_193
-401 5 401 val_401
-150 1 150 val_150
-273 3 273 val_273
-224 2 224 val_224
-369 3 369 val_369
-66 1 66 val_66
-128 3 128 val_128
-213 2 213 val_213
-146 2 146 val_146
-406 4 406 val_406
-429 2 429 val_429
-374 1 374 val_374
-152 2 152 val_152
-469 5 469 val_469
-145 1 145 val_145
-495 1 495 val_495
-37 2 37 val_37
-327 3 327 val_327
-281 2 281 val_281
-277 4 277 val_277
-209 2 209 val_209
-15 2 15 val_15
-82 1 82 val_82
-403 3 403 val_403
-166 1 166 val_166
-417 3 417 val_417
-430 3 430 val_430
-252 1 252 val_252
-292 1 292 val_292
-219 2 219 val_219
-287 1 287 val_287
-153 1 153 val_153
-193 3 193 val_193
-338 1 338 val_338
-446 1 446 val_446
-459 2 459 val_459
-394 1 394 val_394
-237 2 237 val_237
-482 1 482 val_482
-174 2 174 val_174
-413 2 413 val_413
-494 1 494 val_494
-207 2 207 val_207
-199 3 199 val_199
-466 3 466 val_466
-208 3 208 val_208
-174 2 174 val_174
-399 2 399 val_399
-396 3 396 val_396
-247 1 247 val_247
-417 3 417 val_417
-489 4 489 val_489
-162 1 162 val_162
-377 1 377 val_377
-397 2 397 val_397
-309 2 309 val_309
-365 1 365 val_365
-266 1 266 val_266
-439 2 439 val_439
-342 2 342 val_342
-367 2 367 val_367
-325 2 325 val_325
-167 3 167 val_167
-195 2 195 val_195
-475 1 475 val_475
-17 1 17 val_17
-113 2 113 val_113
-155 1 155 val_155
-203 2 203 val_203
-339 1 339 val_339
-0 3 0 val_0
-455 1 455 val_455
-128 3 128 val_128
-311 3 311 val_311
-316 3 316 val_316
-57 1 57 val_57
-302 1 302 val_302
-205 2 205 val_205
-149 2 149 val_149
-438 3 438 val_438
-345 1 345 val_345
-129 2 129 val_129
-170 1 170 val_170
-20 1 20 val_20
-489 4 489 val_489
-157 1 157 val_157
-378 1 378 val_378
-221 2 221 val_221
-92 1 92 val_92
-111 1 111 val_111
-47 1 47 val_47
-72 2 72 val_72
-4 1 4 val_4
-280 2 280 val_280
-35 3 35 val_35
-427 1 427 val_427
-277 4 277 val_277
-208 3 208 val_208
-356 1 356 val_356
-399 2 399 val_399
-169 4 169 val_169
-382 2 382 val_382
-498 3 498 val_498
-125 2 125 val_125
-386 1 386 val_386
-437 1 437 val_437
-469 5 469 val_469
-192 1 192 val_192
-286 1 286 val_286
-187 3 187 val_187
-176 2 176 val_176
-54 1 54 val_54
-459 2 459 val_459
-51 2 51 val_51
-138 4 138 val_138
-103 2 103 val_103
-239 2 239 val_239
-213 2 213 val_213
-216 2 216 val_216
-430 3 430 val_430
-278 2 278 val_278
-176 2 176 val_176
-289 1 289 val_289
-221 2 221 val_221
-65 1 65 val_65
-318 3 318 val_318
-332 1 332 val_332
-311 3 311 val_311
-275 1 275 val_275
-137 2 137 val_137
-241 1 241 val_241
-83 2 83 val_83
-333 2 333 val_333
-180 1 180 val_180
-284 1 284 val_284
-12 2 12 val_12
-230 5 230 val_230
-181 1 181 val_181
-67 2 67 val_67
-260 1 260 val_260
-404 2 404 val_404
-384 3 384 val_384
-489 4 489 val_489
-353 2 353 val_353
-373 1 373 val_373
-272 2 272 val_272
-138 4 138 val_138
-217 2 217 val_217
-84 2 84 val_84
-348 5 348 val_348
-466 3 466 val_466
-58 2 58 val_58
-8 1 8 val_8
-411 1 411 val_411
-230 5 230 val_230
-208 3 208 val_208
-348 5 348 val_348
-24 2 24 val_24
-463 2 463 val_463
-431 3 431 val_431
-179 2 179 val_179
-172 2 172 val_172
-42 2 42 val_42
-129 2 129 val_129
-158 1 158 val_158
-119 3 119 val_119
-496 1 496 val_496
-0 3 0 val_0
-322 2 322 val_322
-197 2 197 val_197
-468 4 468 val_468
-393 1 393 val_393
-454 3 454 val_454
-100 2 100 val_100
-298 3 298 val_298
-199 3 199 val_199
-191 2 191 val_191
-418 1 418 val_418
-96 1 96 val_96
-26 2 26 val_26
-165 2 165 val_165
-327 3 327 val_327
-230 5 230 val_230
-205 2 205 val_205
-120 2 120 val_120
-131 1 131 val_131
-51 2 51 val_51
-404 2 404 val_404
-43 1 43 val_43
-436 1 436 val_436
-156 1 156 val_156
-469 5 469 val_469
-468 4 468 val_468
-308 1 308 val_308
-95 2 95 val_95
-196 1 196 val_196
-288 2 288 val_288
-481 1 481 val_481
-457 1 457 val_457
-98 2 98 val_98
-282 2 282 val_282
-197 2 197 val_197
-187 3 187 val_187
-318 3 318 val_318
-318 3 318 val_318
-409 3 409 val_409
-470 1 470 val_470
-137 2 137 val_137
-369 3 369 val_369
-316 3 316 val_316
-169 4 169 val_169
-413 2 413 val_413
-85 1 85 val_85
-77 1 77 val_77
-0 3 0 val_0
-490 1 490 val_490
-87 1 87 val_87
-364 1 364 val_364
-179 2 179 val_179
-118 2 118 val_118
-134 2 134 val_134
-395 2 395 val_395
-282 2 282 val_282
-138 4 138 val_138
-238 2 238 val_238
-419 1 419 val_419
-15 2 15 val_15
-118 2 118 val_118
-72 2 72 val_72
-90 3 90 val_90
-307 2 307 val_307
-19 1 19 val_19
-435 1 435 val_435
-10 1 10 val_10
-277 4 277 val_277
-273 3 273 val_273
-306 1 306 val_306
-224 2 224 val_224
-309 2 309 val_309
-389 1 389 val_389
-327 3 327 val_327
-242 2 242 val_242
-369 3 369 val_369
-392 1 392 val_392
-272 2 272 val_272
-331 2 331 val_331
-401 5 401 val_401
-242 2 242 val_242
-452 1 452 val_452
-177 1 177 val_177
-226 1 226 val_226
-5 3 5 val_5
-497 1 497 val_497
-402 1 402 val_402
-396 3 396 val_396
-317 2 317 val_317
-395 2 395 val_395
-58 2 58 val_58
-35 3 35 val_35
-336 1 336 val_336
-95 2 95 val_95
-11 1 11 val_11
-168 1 168 val_168
-34 1 34 val_34
-229 2 229 val_229
-233 2 233 val_233
-143 1 143 val_143
-472 1 472 val_472
-322 2 322 val_322
-498 3 498 val_498
-160 1 160 val_160
-195 2 195 val_195
-42 2 42 val_42
-321 2 321 val_321
-430 3 430 val_430
-119 3 119 val_119
-489 4 489 val_489
-458 2 458 val_458
-78 1 78 val_78
-76 2 76 val_76
-41 1 41 val_41
-223 2 223 val_223
-492 2 492 val_492
-149 2 149 val_149
-449 1 449 val_449
-218 1 218 val_218
-228 1 228 val_228
-138 4 138 val_138
-453 1 453 val_453
-30 1 30 val_30
-209 2 209 val_209
-64 1 64 val_64
-468 4 468 val_468
-76 2 76 val_76
-74 1 74 val_74
-342 2 342 val_342
-69 1 69 val_69
-230 5 230 val_230
-33 1 33 val_33
-368 1 368 val_368
-103 2 103 val_103
-296 1 296 val_296
-113 2 113 val_113
-216 2 216 val_216
-367 2 367 val_367
-344 2 344 val_344
-167 3 167 val_167
-274 1 274 val_274
-219 2 219 val_219
-239 2 239 val_239
-485 1 485 val_485
-116 1 116 val_116
-223 2 223 val_223
-256 2 256 val_256
-263 1 263 val_263
-70 3 70 val_70
-487 1 487 val_487
-480 3 480 val_480
-401 5 401 val_401
-288 2 288 val_288
-191 2 191 val_191
-5 3 5 val_5
-244 1 244 val_244
-438 3 438 val_438
-128 3 128 val_128
-467 1 467 val_467
-432 1 432 val_432
-202 1 202 val_202
-316 3 316 val_316
-229 2 229 val_229
-469 5 469 val_469
-463 2 463 val_463
-280 2 280 val_280
-2 1 2 val_2
-35 3 35 val_35
-283 1 283 val_283
-331 2 331 val_331
-235 1 235 val_235
-80 1 80 val_80
-44 1 44 val_44
-193 3 193 val_193
-321 2 321 val_321
-335 1 335 val_335
-104 2 104 val_104
-466 3 466 val_466
-366 1 366 val_366
-175 2 175 val_175
-403 3 403 val_403
-483 1 483 val_483
-53 1 53 val_53
-105 1 105 val_105
-257 1 257 val_257
-406 4 406 val_406
-409 3 409 val_409
-190 1 190 val_190
-406 4 406 val_406
-401 5 401 val_401
-114 1 114 val_114
-258 1 258 val_258
-90 3 90 val_90
-203 2 203 val_203
-262 1 262 val_262
-348 5 348 val_348
-424 2 424 val_424
-12 2 12 val_12
-396 3 396 val_396
-201 1 201 val_201
-217 2 217 val_217
-164 2 164 val_164
-431 3 431 val_431
-454 3 454 val_454
-478 2 478 val_478
-298 3 298 val_298
-125 2 125 val_125
-431 3 431 val_431
-164 2 164 val_164
-424 2 424 val_424
-187 3 187 val_187
-382 2 382 val_382
-5 3 5 val_5
-70 3 70 val_70
-397 2 397 val_397
-480 3 480 val_480
-291 1 291 val_291
-24 2 24 val_24
-351 1 351 val_351
-255 2 255 val_255
-104 2 104 val_104
-70 3 70 val_70
-163 1 163 val_163
-438 3 438 val_438
-119 3 119 val_119
-414 2 414 val_414
-200 2 200 val_200
-491 1 491 val_491
-237 2 237 val_237
-439 2 439 val_439
-360 1 360 val_360
-248 1 248 val_248
-479 1 479 val_479
-305 1 305 val_305
-417 3 417 val_417
-199 3 199 val_199
-444 1 444 val_444
-120 2 120 val_120
-429 2 429 val_429
-169 4 169 val_169
-443 1 443 val_443
-323 1 323 val_323
-325 2 325 val_325
-277 4 277 val_277
-230 5 230 val_230
-478 2 478 val_478
-178 1 178 val_178
-468 4 468 val_468
-310 1 310 val_310
-317 2 317 val_317
-333 2 333 val_333
-493 1 493 val_493
-460 1 460 val_460
-207 2 207 val_207
-249 1 249 val_249
-265 2 265 val_265
-480 3 480 val_480
-83 2 83 val_83
-136 1 136 val_136
-353 2 353 val_353
-172 2 172 val_172
-214 1 214 val_214
-462 2 462 val_462
-233 2 233 val_233
-406 4 406 val_406
-133 1 133 val_133
-175 2 175 val_175
-189 1 189 val_189
-454 3 454 val_454
-375 1 375 val_375
-401 5 401 val_401
-421 1 421 val_421
-407 1 407 val_407
-384 3 384 val_384
-256 2 256 val_256
-26 2 26 val_26
-134 2 134 val_134
-67 2 67 val_67
-384 3 384 val_384
-379 1 379 val_379
-18 2 18 val_18
-462 2 462 val_462
-492 2 492 val_492
-100 2 100 val_100
-298 3 298 val_298
-9 1 9 val_9
-341 1 341 val_341
-498 3 498 val_498
-146 2 146 val_146
-458 2 458 val_458
-362 1 362 val_362
-186 1 186 val_186
-285 1 285 val_285
-348 5 348 val_348
-167 3 167 val_167
-18 2 18 val_18
-273 3 273 val_273
-183 1 183 val_183
-281 2 281 val_281
-344 2 344 val_344
-97 2 97 val_97
-469 5 469 val_469
-315 1 315 val_315
-84 2 84 val_84
-28 1 28 val_28
-37 2 37 val_37
-448 1 448 val_448
-152 2 152 val_152
-348 5 348 val_348
-307 2 307 val_307
-194 1 194 val_194
-414 2 414 val_414
-477 1 477 val_477
-222 1 222 val_222
-126 1 126 val_126
-90 3 90 val_90
-169 4 169 val_169
-403 3 403 val_403
-400 1 400 val_400
-200 2 200 val_200
-97 2 97 val_97
diff --git ql/src/test/results/clientpositive/tez/auto_join0.q.out ql/src/test/results/clientpositive/tez/auto_join0.q.out
new file mode 100644
index 0000000..3b99ffc
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/auto_join0.q.out
@@ -0,0 +1,188 @@
+PREHOOK: query: explain
+select sum(hash(a.k1,a.v1,a.k2, a.v2))
+from (
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+) a
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select sum(hash(a.k1,a.v1,a.k2, a.v2))
+from (
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+) a
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (< (. (TOK_TABLE_OR_COL src) key) 10)))) src1) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (< (. (TOK_TABLE_OR_COL src) key) 10)))) src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) key) k1) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) value) v1) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) key) k2) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) value) v2)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL v1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k2)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL v2))))) a)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION sum (TOK_FUNCTION hash (. (TOK_TABLE_OR_COL a) k1) (. (TOK_TABLE_OR_COL a) v1) (. (TOK_TABLE_OR_COL a) k2) (. (TOK_TABLE_OR_COL a) v2)))))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Filter Operator
+ predicate:
+ expr: (key < 10)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ sort order:
+ tag: 1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Filter Operator
+ predicate:
+ expr: (key < 10)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {_col0} {_col1}
+ 1 {_col0} {_col1}
+ handleSkewJoin: false
+ keys:
+ 0 []
+ 1 []
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Position of Big Table: 0
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ sort order: ++++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Group By Operator
+ aggregations:
+ expr: sum(hash(_col0,_col1,_col2,_col3))
+ bucketGroup: false
+ mode: hash
+ outputColumnNames: _col0
+ Reduce Output Operator
+ sort order:
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: sum(VALUE._col0)
+ bucketGroup: false
+ mode: mergepartial
+ outputColumnNames: _col0
+ Select Operator
+ expressions:
+ expr: _col0
+ type: bigint
+ outputColumnNames: _col0
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select sum(hash(a.k1,a.v1,a.k2, a.v2))
+from (
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+) a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select sum(hash(a.k1,a.v1,a.k2, a.v2))
+from (
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+) a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+34441656720
diff --git ql/src/test/results/clientpositive/tez/auto_join1.q.out ql/src/test/results/clientpositive/tez/auto_join1.q.out
new file mode 100644
index 0000000..7e75a0d
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/auto_join1.q.out
@@ -0,0 +1,160 @@
+PREHOOK: query: CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@dest_j1
+PREHOOK: query: explain
+FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src) src1) (TOK_TABREF (TOK_TABNAME src) src2) (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_j1))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) value)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-0 depends on stages: Stage-2
+ Stage-3 depends on stages: Stage-0
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src2
+ TableScan
+ alias: src2
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ value expressions:
+ expr: value
+ type: string
+ Alias -> Map Operator Tree:
+ src1
+ TableScan
+ alias: src1
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {key}
+ 1 {value}
+ handleSkewJoin: false
+ keys:
+ 0 [Column[key]]
+ 1 [Column[key]]
+ outputColumnNames: _col0, _col5
+ Position of Big Table: 0
+ Select Operator
+ expressions:
+ expr: UDFToInteger(_col0)
+ type: int
+ expr: _col5
+ type: string
+ outputColumnNames: _col0, _col1
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ replace: true
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@dest_j1
+POSTHOOK: query: FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@dest_j1
+POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(src)src2.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: SELECT sum(hash(dest_j1.key,dest_j1.value)) FROM dest_j1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT sum(hash(dest_j1.key,dest_j1.value)) FROM dest_j1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(src)src2.FieldSchema(name:value, type:string, comment:default), ]
+101861029915
diff --git ql/src/test/results/clientpositive/tez/bucket2.q.out ql/src/test/results/clientpositive/tez/bucket2.q.out
new file mode 100644
index 0000000..9b3f3b7
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/bucket2.q.out
@@ -0,0 +1,499 @@
+PREHOOK: query: CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE bucket2_1(key int, value string) CLUSTERED BY (key) INTO 2 BUCKETS
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@bucket2_1
+PREHOOK: query: explain extended
+insert overwrite table bucket2_1
+select * from src
+PREHOOK: type: QUERY
+POSTHOOK: query: explain extended
+insert overwrite table bucket2_1
+select * from src
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME bucket2_1))) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
+ Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ GatherStats: false
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Reduce Output Operator
+ sort order:
+ Map-reduce partition columns:
+ expr: UDFToInteger(_col0)
+ type: int
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ /src [src]
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Extract
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Select Operator
+ expressions:
+ expr: UDFToInteger(_col0)
+ type: int
+ expr: _col1
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 2
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ bucket_count 2
+ bucket_field_name key
+ columns key,value
+ columns.types int:string
+#### A masked pattern was here ####
+ name default.bucket2_1
+ serialization.ddl struct bucket2_1 { i32 key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket2_1
+ TotalFiles: 2
+ GatherStats: true
+ MultiFileSpray: true
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ replace: true
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ bucket_count 2
+ bucket_field_name key
+ columns key,value
+ columns.types int:string
+#### A masked pattern was here ####
+ name default.bucket2_1
+ serialization.ddl struct bucket2_1 { i32 key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket2_1
+#### A masked pattern was here ####
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+#### A masked pattern was here ####
+
+PREHOOK: query: insert overwrite table bucket2_1
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@bucket2_1
+POSTHOOK: query: insert overwrite table bucket2_1
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@bucket2_1
+POSTHOOK: Lineage: bucket2_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: explain
+select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: bucket2_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME bucket2_1) (TOK_TABLEBUCKETSAMPLE 1 2) s)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ s
+ TableScan
+ alias: s
+ Filter Operator
+ predicate:
+ expr: (((hash(key) & 2147483647) % 2) = 0)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: int
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: int
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: int
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@bucket2_1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from bucket2_1 tablesample (bucket 1 out of 2) s order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@bucket2_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: bucket2_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket2_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0 val_0
+0 val_0
+0 val_0
+2 val_2
+4 val_4
+8 val_8
+10 val_10
+12 val_12
+12 val_12
+18 val_18
+18 val_18
+20 val_20
+24 val_24
+24 val_24
+26 val_26
+26 val_26
+28 val_28
+30 val_30
+34 val_34
+42 val_42
+42 val_42
+44 val_44
+54 val_54
+58 val_58
+58 val_58
+64 val_64
+66 val_66
+70 val_70
+70 val_70
+70 val_70
+72 val_72
+72 val_72
+74 val_74
+76 val_76
+76 val_76
+78 val_78
+80 val_80
+82 val_82
+84 val_84
+84 val_84
+86 val_86
+90 val_90
+90 val_90
+90 val_90
+92 val_92
+96 val_96
+98 val_98
+98 val_98
+100 val_100
+100 val_100
+104 val_104
+104 val_104
+114 val_114
+116 val_116
+118 val_118
+118 val_118
+120 val_120
+120 val_120
+126 val_126
+128 val_128
+128 val_128
+128 val_128
+134 val_134
+134 val_134
+136 val_136
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+146 val_146
+146 val_146
+150 val_150
+152 val_152
+152 val_152
+156 val_156
+158 val_158
+160 val_160
+162 val_162
+164 val_164
+164 val_164
+166 val_166
+168 val_168
+170 val_170
+172 val_172
+172 val_172
+174 val_174
+174 val_174
+176 val_176
+176 val_176
+178 val_178
+180 val_180
+186 val_186
+190 val_190
+192 val_192
+194 val_194
+196 val_196
+200 val_200
+200 val_200
+202 val_202
+208 val_208
+208 val_208
+208 val_208
+214 val_214
+216 val_216
+216 val_216
+218 val_218
+222 val_222
+224 val_224
+224 val_224
+226 val_226
+228 val_228
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+238 val_238
+238 val_238
+242 val_242
+242 val_242
+244 val_244
+248 val_248
+252 val_252
+256 val_256
+256 val_256
+258 val_258
+260 val_260
+262 val_262
+266 val_266
+272 val_272
+272 val_272
+274 val_274
+278 val_278
+278 val_278
+280 val_280
+280 val_280
+282 val_282
+282 val_282
+284 val_284
+286 val_286
+288 val_288
+288 val_288
+292 val_292
+296 val_296
+298 val_298
+298 val_298
+298 val_298
+302 val_302
+306 val_306
+308 val_308
+310 val_310
+316 val_316
+316 val_316
+316 val_316
+318 val_318
+318 val_318
+318 val_318
+322 val_322
+322 val_322
+332 val_332
+336 val_336
+338 val_338
+342 val_342
+342 val_342
+344 val_344
+344 val_344
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+356 val_356
+360 val_360
+362 val_362
+364 val_364
+366 val_366
+368 val_368
+374 val_374
+378 val_378
+382 val_382
+382 val_382
+384 val_384
+384 val_384
+384 val_384
+386 val_386
+392 val_392
+394 val_394
+396 val_396
+396 val_396
+396 val_396
+400 val_400
+402 val_402
+404 val_404
+404 val_404
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+414 val_414
+414 val_414
+418 val_418
+424 val_424
+424 val_424
+430 val_430
+430 val_430
+430 val_430
+432 val_432
+436 val_436
+438 val_438
+438 val_438
+438 val_438
+444 val_444
+446 val_446
+448 val_448
+452 val_452
+454 val_454
+454 val_454
+454 val_454
+458 val_458
+458 val_458
+460 val_460
+462 val_462
+462 val_462
+466 val_466
+466 val_466
+466 val_466
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+470 val_470
+472 val_472
+478 val_478
+478 val_478
+480 val_480
+480 val_480
+480 val_480
+482 val_482
+484 val_484
+490 val_490
+492 val_492
+492 val_492
+494 val_494
+496 val_496
+498 val_498
+498 val_498
+498 val_498
diff --git ql/src/test/results/clientpositive/tez/bucket3.q.out ql/src/test/results/clientpositive/tez/bucket3.q.out
new file mode 100644
index 0000000..eb8eba5
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/bucket3.q.out
@@ -0,0 +1,528 @@
+PREHOOK: query: CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE bucket3_1(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@bucket3_1
+PREHOOK: query: explain extended
+insert overwrite table bucket3_1 partition (ds='1')
+select * from src
+PREHOOK: type: QUERY
+POSTHOOK: query: explain extended
+insert overwrite table bucket3_1 partition (ds='1')
+select * from src
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME bucket3_1) (TOK_PARTSPEC (TOK_PARTVAL ds '1')))) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
+ Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ GatherStats: false
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Reduce Output Operator
+ sort order:
+ Map-reduce partition columns:
+ expr: UDFToInteger(_col0)
+ type: int
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ /src [src]
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Extract
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Select Operator
+ expressions:
+ expr: UDFToInteger(_col0)
+ type: int
+ expr: _col1
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 2
+ Static Partition Specification: ds=1/
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ bucket_count 2
+ bucket_field_name key
+ columns key,value
+ columns.types int:string
+#### A masked pattern was here ####
+ name default.bucket3_1
+ partition_columns ds
+ serialization.ddl struct bucket3_1 { i32 key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket3_1
+ TotalFiles: 2
+ GatherStats: true
+ MultiFileSpray: true
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ partition:
+ ds 1
+ replace: true
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ bucket_count 2
+ bucket_field_name key
+ columns key,value
+ columns.types int:string
+#### A masked pattern was here ####
+ name default.bucket3_1
+ partition_columns ds
+ serialization.ddl struct bucket3_1 { i32 key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket3_1
+#### A masked pattern was here ####
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+#### A masked pattern was here ####
+
+PREHOOK: query: insert overwrite table bucket3_1 partition (ds='1')
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@bucket3_1@ds=1
+POSTHOOK: query: insert overwrite table bucket3_1 partition (ds='1')
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@bucket3_1@ds=1
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: insert overwrite table bucket3_1 partition (ds='2')
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@bucket3_1@ds=2
+POSTHOOK: query: insert overwrite table bucket3_1 partition (ds='2')
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@bucket3_1@ds=2
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: explain
+select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME bucket3_1) (TOK_TABLEBUCKETSAMPLE 1 2) s)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (= (TOK_TABLE_OR_COL ds) '1')) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ s
+ TableScan
+ alias: s
+ Filter Operator
+ predicate:
+ expr: (((hash(key) & 2147483647) % 2) = 0)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: int
+ expr: value
+ type: string
+ expr: ds
+ type: string
+ outputColumnNames: _col0, _col1, _col2
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: int
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: int
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@bucket3_1
+PREHOOK: Input: default@bucket3_1@ds=1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from bucket3_1 tablesample (bucket 1 out of 2) s where ds = '1' order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@bucket3_1
+POSTHOOK: Input: default@bucket3_1@ds=1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=1).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket3_1 PARTITION(ds=2).value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0 val_0 1
+0 val_0 1
+0 val_0 1
+2 val_2 1
+4 val_4 1
+8 val_8 1
+10 val_10 1
+12 val_12 1
+12 val_12 1
+18 val_18 1
+18 val_18 1
+20 val_20 1
+24 val_24 1
+24 val_24 1
+26 val_26 1
+26 val_26 1
+28 val_28 1
+30 val_30 1
+34 val_34 1
+42 val_42 1
+42 val_42 1
+44 val_44 1
+54 val_54 1
+58 val_58 1
+58 val_58 1
+64 val_64 1
+66 val_66 1
+70 val_70 1
+70 val_70 1
+70 val_70 1
+72 val_72 1
+72 val_72 1
+74 val_74 1
+76 val_76 1
+76 val_76 1
+78 val_78 1
+80 val_80 1
+82 val_82 1
+84 val_84 1
+84 val_84 1
+86 val_86 1
+90 val_90 1
+90 val_90 1
+90 val_90 1
+92 val_92 1
+96 val_96 1
+98 val_98 1
+98 val_98 1
+100 val_100 1
+100 val_100 1
+104 val_104 1
+104 val_104 1
+114 val_114 1
+116 val_116 1
+118 val_118 1
+118 val_118 1
+120 val_120 1
+120 val_120 1
+126 val_126 1
+128 val_128 1
+128 val_128 1
+128 val_128 1
+134 val_134 1
+134 val_134 1
+136 val_136 1
+138 val_138 1
+138 val_138 1
+138 val_138 1
+138 val_138 1
+146 val_146 1
+146 val_146 1
+150 val_150 1
+152 val_152 1
+152 val_152 1
+156 val_156 1
+158 val_158 1
+160 val_160 1
+162 val_162 1
+164 val_164 1
+164 val_164 1
+166 val_166 1
+168 val_168 1
+170 val_170 1
+172 val_172 1
+172 val_172 1
+174 val_174 1
+174 val_174 1
+176 val_176 1
+176 val_176 1
+178 val_178 1
+180 val_180 1
+186 val_186 1
+190 val_190 1
+192 val_192 1
+194 val_194 1
+196 val_196 1
+200 val_200 1
+200 val_200 1
+202 val_202 1
+208 val_208 1
+208 val_208 1
+208 val_208 1
+214 val_214 1
+216 val_216 1
+216 val_216 1
+218 val_218 1
+222 val_222 1
+224 val_224 1
+224 val_224 1
+226 val_226 1
+228 val_228 1
+230 val_230 1
+230 val_230 1
+230 val_230 1
+230 val_230 1
+230 val_230 1
+238 val_238 1
+238 val_238 1
+242 val_242 1
+242 val_242 1
+244 val_244 1
+248 val_248 1
+252 val_252 1
+256 val_256 1
+256 val_256 1
+258 val_258 1
+260 val_260 1
+262 val_262 1
+266 val_266 1
+272 val_272 1
+272 val_272 1
+274 val_274 1
+278 val_278 1
+278 val_278 1
+280 val_280 1
+280 val_280 1
+282 val_282 1
+282 val_282 1
+284 val_284 1
+286 val_286 1
+288 val_288 1
+288 val_288 1
+292 val_292 1
+296 val_296 1
+298 val_298 1
+298 val_298 1
+298 val_298 1
+302 val_302 1
+306 val_306 1
+308 val_308 1
+310 val_310 1
+316 val_316 1
+316 val_316 1
+316 val_316 1
+318 val_318 1
+318 val_318 1
+318 val_318 1
+322 val_322 1
+322 val_322 1
+332 val_332 1
+336 val_336 1
+338 val_338 1
+342 val_342 1
+342 val_342 1
+344 val_344 1
+344 val_344 1
+348 val_348 1
+348 val_348 1
+348 val_348 1
+348 val_348 1
+348 val_348 1
+356 val_356 1
+360 val_360 1
+362 val_362 1
+364 val_364 1
+366 val_366 1
+368 val_368 1
+374 val_374 1
+378 val_378 1
+382 val_382 1
+382 val_382 1
+384 val_384 1
+384 val_384 1
+384 val_384 1
+386 val_386 1
+392 val_392 1
+394 val_394 1
+396 val_396 1
+396 val_396 1
+396 val_396 1
+400 val_400 1
+402 val_402 1
+404 val_404 1
+404 val_404 1
+406 val_406 1
+406 val_406 1
+406 val_406 1
+406 val_406 1
+414 val_414 1
+414 val_414 1
+418 val_418 1
+424 val_424 1
+424 val_424 1
+430 val_430 1
+430 val_430 1
+430 val_430 1
+432 val_432 1
+436 val_436 1
+438 val_438 1
+438 val_438 1
+438 val_438 1
+444 val_444 1
+446 val_446 1
+448 val_448 1
+452 val_452 1
+454 val_454 1
+454 val_454 1
+454 val_454 1
+458 val_458 1
+458 val_458 1
+460 val_460 1
+462 val_462 1
+462 val_462 1
+466 val_466 1
+466 val_466 1
+466 val_466 1
+468 val_468 1
+468 val_468 1
+468 val_468 1
+468 val_468 1
+470 val_470 1
+472 val_472 1
+478 val_478 1
+478 val_478 1
+480 val_480 1
+480 val_480 1
+480 val_480 1
+482 val_482 1
+484 val_484 1
+490 val_490 1
+492 val_492 1
+492 val_492 1
+494 val_494 1
+496 val_496 1
+498 val_498 1
+498 val_498 1
+498 val_498 1
diff --git ql/src/test/results/clientpositive/tez/bucket4.q.out ql/src/test/results/clientpositive/tez/bucket4.q.out
new file mode 100644
index 0000000..2fbbd93
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/bucket4.q.out
@@ -0,0 +1,491 @@
+PREHOOK: query: CREATE TABLE bucket4_1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE bucket4_1(key int, value string) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@bucket4_1
+PREHOOK: query: explain extended
+insert overwrite table bucket4_1
+select * from src
+PREHOOK: type: QUERY
+POSTHOOK: query: explain extended
+insert overwrite table bucket4_1
+select * from src
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME bucket4_1))) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-2 depends on stages: Stage-1
+ Stage-0 depends on stages: Stage-2
+ Stage-3 depends on stages: Stage-0
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ GatherStats: false
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Reduce Output Operator
+ key expressions:
+ expr: UDFToInteger(_col0)
+ type: int
+ sort order: +
+ Map-reduce partition columns:
+ expr: UDFToInteger(_col0)
+ type: int
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ /src [src]
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Extract
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Select Operator
+ expressions:
+ expr: UDFToInteger(_col0)
+ type: int
+ expr: _col1
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 2
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ SORTBUCKETCOLSPREFIX TRUE
+ bucket_count 2
+ bucket_field_name key
+ columns key,value
+ columns.types int:string
+#### A masked pattern was here ####
+ name default.bucket4_1
+ serialization.ddl struct bucket4_1 { i32 key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket4_1
+ TotalFiles: 2
+ GatherStats: true
+ MultiFileSpray: true
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ replace: true
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ SORTBUCKETCOLSPREFIX TRUE
+ bucket_count 2
+ bucket_field_name key
+ columns key,value
+ columns.types int:string
+#### A masked pattern was here ####
+ name default.bucket4_1
+ serialization.ddl struct bucket4_1 { i32 key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket4_1
+#### A masked pattern was here ####
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+#### A masked pattern was here ####
+
+PREHOOK: query: insert overwrite table bucket4_1
+select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@bucket4_1
+POSTHOOK: query: insert overwrite table bucket4_1
+select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@bucket4_1
+POSTHOOK: Lineage: bucket4_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket4_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: explain
+select * from bucket4_1 tablesample (bucket 1 out of 2) s
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select * from bucket4_1 tablesample (bucket 1 out of 2) s
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: bucket4_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket4_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME bucket4_1) (TOK_TABLEBUCKETSAMPLE 1 2) s)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ s
+ TableScan
+ alias: s
+ Filter Operator
+ predicate:
+ expr: (((hash(key) & 2147483647) % 2) = 0)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: int
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select * from bucket4_1 tablesample (bucket 1 out of 2) s
+PREHOOK: type: QUERY
+PREHOOK: Input: default@bucket4_1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from bucket4_1 tablesample (bucket 1 out of 2) s
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@bucket4_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: bucket4_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: bucket4_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0 val_0
+0 val_0
+0 val_0
+2 val_2
+4 val_4
+8 val_8
+10 val_10
+12 val_12
+12 val_12
+18 val_18
+18 val_18
+20 val_20
+24 val_24
+24 val_24
+26 val_26
+26 val_26
+28 val_28
+30 val_30
+34 val_34
+42 val_42
+42 val_42
+44 val_44
+54 val_54
+58 val_58
+58 val_58
+64 val_64
+66 val_66
+70 val_70
+70 val_70
+70 val_70
+72 val_72
+72 val_72
+74 val_74
+76 val_76
+76 val_76
+78 val_78
+80 val_80
+82 val_82
+84 val_84
+84 val_84
+86 val_86
+90 val_90
+90 val_90
+90 val_90
+92 val_92
+96 val_96
+98 val_98
+98 val_98
+100 val_100
+100 val_100
+104 val_104
+104 val_104
+114 val_114
+116 val_116
+118 val_118
+118 val_118
+120 val_120
+120 val_120
+126 val_126
+128 val_128
+128 val_128
+128 val_128
+134 val_134
+134 val_134
+136 val_136
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+146 val_146
+146 val_146
+150 val_150
+152 val_152
+152 val_152
+156 val_156
+158 val_158
+160 val_160
+162 val_162
+164 val_164
+164 val_164
+166 val_166
+168 val_168
+170 val_170
+172 val_172
+172 val_172
+174 val_174
+174 val_174
+176 val_176
+176 val_176
+178 val_178
+180 val_180
+186 val_186
+190 val_190
+192 val_192
+194 val_194
+196 val_196
+200 val_200
+200 val_200
+202 val_202
+208 val_208
+208 val_208
+208 val_208
+214 val_214
+216 val_216
+216 val_216
+218 val_218
+222 val_222
+224 val_224
+224 val_224
+226 val_226
+228 val_228
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+238 val_238
+238 val_238
+242 val_242
+242 val_242
+244 val_244
+248 val_248
+252 val_252
+256 val_256
+256 val_256
+258 val_258
+260 val_260
+262 val_262
+266 val_266
+272 val_272
+272 val_272
+274 val_274
+278 val_278
+278 val_278
+280 val_280
+280 val_280
+282 val_282
+282 val_282
+284 val_284
+286 val_286
+288 val_288
+288 val_288
+292 val_292
+296 val_296
+298 val_298
+298 val_298
+298 val_298
+302 val_302
+306 val_306
+308 val_308
+310 val_310
+316 val_316
+316 val_316
+316 val_316
+318 val_318
+318 val_318
+318 val_318
+322 val_322
+322 val_322
+332 val_332
+336 val_336
+338 val_338
+342 val_342
+342 val_342
+344 val_344
+344 val_344
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+356 val_356
+360 val_360
+362 val_362
+364 val_364
+366 val_366
+368 val_368
+374 val_374
+378 val_378
+382 val_382
+382 val_382
+384 val_384
+384 val_384
+384 val_384
+386 val_386
+392 val_392
+394 val_394
+396 val_396
+396 val_396
+396 val_396
+400 val_400
+402 val_402
+404 val_404
+404 val_404
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+414 val_414
+414 val_414
+418 val_418
+424 val_424
+424 val_424
+430 val_430
+430 val_430
+430 val_430
+432 val_432
+436 val_436
+438 val_438
+438 val_438
+438 val_438
+444 val_444
+446 val_446
+448 val_448
+452 val_452
+454 val_454
+454 val_454
+454 val_454
+458 val_458
+458 val_458
+460 val_460
+462 val_462
+462 val_462
+466 val_466
+466 val_466
+466 val_466
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+470 val_470
+472 val_472
+478 val_478
+478 val_478
+480 val_480
+480 val_480
+480 val_480
+482 val_482
+484 val_484
+490 val_490
+492 val_492
+492 val_492
+494 val_494
+496 val_496
+498 val_498
+498 val_498
+498 val_498
diff --git ql/src/test/results/clientpositive/tez/count.q.out ql/src/test/results/clientpositive/tez/count.q.out
new file mode 100644
index 0000000..a0d962d
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/count.q.out
@@ -0,0 +1,578 @@
+PREHOOK: query: create table abcd (a int, b int, c int, d int)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table abcd (a int, b int, c int, d int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@abcd
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in4.txt' INTO TABLE abcd
+PREHOOK: type: LOAD
+PREHOOK: Output: default@abcd
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in4.txt' INTO TABLE abcd
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@abcd
+PREHOOK: query: select * from abcd
+PREHOOK: type: QUERY
+PREHOOK: Input: default@abcd
+#### A masked pattern was here ####
+POSTHOOK: query: select * from abcd
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@abcd
+#### A masked pattern was here ####
+NULL 35 23 6
+10 1000 50 1
+100 100 10 3
+12 NULL 80 2
+10 100 NULL 5
+10 100 45 4
+12 100 75 7
+PREHOOK: query: explain select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME abcd))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL a)) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTION sum (TOK_TABLE_OR_COL d)))) (TOK_GROUPBY (TOK_TABLE_OR_COL a))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ abcd
+ TableScan
+ alias: abcd
+ Select Operator
+ expressions:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ expr: d
+ type: int
+ outputColumnNames: a, b, c, d
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT b)
+ expr: count(DISTINCT c)
+ expr: sum(d)
+ bucketGroup: false
+ keys:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ mode: hash
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: int
+ expr: _col1
+ type: int
+ expr: _col2
+ type: int
+ sort order: +++
+ Map-reduce partition columns:
+ expr: _col0
+ type: int
+ tag: -1
+ value expressions:
+ expr: _col3
+ type: bigint
+ expr: _col4
+ type: bigint
+ expr: _col5
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT KEY._col1:0._col0)
+ expr: count(DISTINCT KEY._col1:1._col0)
+ expr: sum(VALUE._col2)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: int
+ mode: mergepartial
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Select Operator
+ expressions:
+ expr: _col0
+ type: int
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: bigint
+ expr: _col3
+ type: bigint
+ outputColumnNames: _col0, _col1, _col2, _col3
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@abcd
+#### A masked pattern was here ####
+POSTHOOK: query: select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@abcd
+#### A masked pattern was here ####
+NULL 1 1 6
+10 2 2 10
+12 1 2 9
+100 1 1 3
+PREHOOK: query: explain select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME abcd))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION count 1)) (TOK_SELEXPR (TOK_FUNCTIONSTAR count)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL a))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ abcd
+ TableScan
+ alias: abcd
+ Select Operator
+ expressions:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ expr: d
+ type: int
+ outputColumnNames: a, b, c, d
+ Group By Operator
+ aggregations:
+ expr: count(1)
+ expr: count()
+ expr: count(a)
+ expr: count(b)
+ expr: count(c)
+ expr: count(d)
+ expr: count(DISTINCT a)
+ expr: count(DISTINCT b)
+ expr: count(DISTINCT c)
+ expr: count(DISTINCT d)
+ expr: count(DISTINCT a, b)
+ expr: count(DISTINCT b, c)
+ expr: count(DISTINCT c, d)
+ expr: count(DISTINCT a, d)
+ expr: count(DISTINCT a, c)
+ expr: count(DISTINCT b, d)
+ expr: count(DISTINCT a, b, c)
+ expr: count(DISTINCT b, c, d)
+ expr: count(DISTINCT a, c, d)
+ expr: count(DISTINCT a, b, d)
+ expr: count(DISTINCT a, b, c, d)
+ bucketGroup: false
+ keys:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ expr: d
+ type: int
+ mode: hash
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: int
+ expr: _col1
+ type: int
+ expr: _col2
+ type: int
+ expr: _col3
+ type: int
+ sort order: ++++
+ tag: -1
+ value expressions:
+ expr: _col4
+ type: bigint
+ expr: _col5
+ type: bigint
+ expr: _col6
+ type: bigint
+ expr: _col7
+ type: bigint
+ expr: _col8
+ type: bigint
+ expr: _col9
+ type: bigint
+ expr: _col10
+ type: bigint
+ expr: _col11
+ type: bigint
+ expr: _col12
+ type: bigint
+ expr: _col13
+ type: bigint
+ expr: _col14
+ type: bigint
+ expr: _col15
+ type: bigint
+ expr: _col16
+ type: bigint
+ expr: _col17
+ type: bigint
+ expr: _col18
+ type: bigint
+ expr: _col19
+ type: bigint
+ expr: _col20
+ type: bigint
+ expr: _col21
+ type: bigint
+ expr: _col22
+ type: bigint
+ expr: _col23
+ type: bigint
+ expr: _col24
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ expr: count(VALUE._col1)
+ expr: count(VALUE._col2)
+ expr: count(VALUE._col3)
+ expr: count(VALUE._col4)
+ expr: count(VALUE._col5)
+ expr: count(DISTINCT KEY._col0:0._col0)
+ expr: count(DISTINCT KEY._col0:1._col0)
+ expr: count(DISTINCT KEY._col0:2._col0)
+ expr: count(DISTINCT KEY._col0:3._col0)
+ expr: count(DISTINCT KEY._col0:4._col0, KEY._col0:4._col1)
+ expr: count(DISTINCT KEY._col0:5._col0, KEY._col0:5._col1)
+ expr: count(DISTINCT KEY._col0:6._col0, KEY._col0:6._col1)
+ expr: count(DISTINCT KEY._col0:7._col0, KEY._col0:7._col1)
+ expr: count(DISTINCT KEY._col0:8._col0, KEY._col0:8._col1)
+ expr: count(DISTINCT KEY._col0:9._col0, KEY._col0:9._col1)
+ expr: count(DISTINCT KEY._col0:10._col0, KEY._col0:10._col1, KEY._col0:10._col2)
+ expr: count(DISTINCT KEY._col0:11._col0, KEY._col0:11._col1, KEY._col0:11._col2)
+ expr: count(DISTINCT KEY._col0:12._col0, KEY._col0:12._col1, KEY._col0:12._col2)
+ expr: count(DISTINCT KEY._col0:13._col0, KEY._col0:13._col1, KEY._col0:13._col2)
+ expr: count(DISTINCT KEY._col0:14._col0, KEY._col0:14._col1, KEY._col0:14._col2, KEY._col0:14._col3)
+ bucketGroup: false
+ mode: mergepartial
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+ Select Operator
+ expressions:
+ expr: _col0
+ type: bigint
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: bigint
+ expr: _col3
+ type: bigint
+ expr: _col4
+ type: bigint
+ expr: _col5
+ type: bigint
+ expr: _col6
+ type: bigint
+ expr: _col7
+ type: bigint
+ expr: _col8
+ type: bigint
+ expr: _col9
+ type: bigint
+ expr: _col10
+ type: bigint
+ expr: _col11
+ type: bigint
+ expr: _col12
+ type: bigint
+ expr: _col13
+ type: bigint
+ expr: _col14
+ type: bigint
+ expr: _col15
+ type: bigint
+ expr: _col16
+ type: bigint
+ expr: _col17
+ type: bigint
+ expr: _col18
+ type: bigint
+ expr: _col19
+ type: bigint
+ expr: _col20
+ type: bigint
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+PREHOOK: type: QUERY
+PREHOOK: Input: default@abcd
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@abcd
+#### A masked pattern was here ####
+7 7 6 6 6 7 3 3 6 7 4 5 6 6 5 6 4 5 5 5 4
+PREHOOK: query: explain select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME abcd))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL a)) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTION sum (TOK_TABLE_OR_COL d)))) (TOK_GROUPBY (TOK_TABLE_OR_COL a))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ abcd
+ TableScan
+ alias: abcd
+ Select Operator
+ expressions:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ expr: d
+ type: int
+ outputColumnNames: a, b, c, d
+ Reduce Output Operator
+ key expressions:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ sort order: +++
+ Map-reduce partition columns:
+ expr: a
+ type: int
+ tag: -1
+ value expressions:
+ expr: d
+ type: int
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT KEY._col1:0._col0)
+ expr: count(DISTINCT KEY._col1:1._col0)
+ expr: sum(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: int
+ mode: complete
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Select Operator
+ expressions:
+ expr: _col0
+ type: int
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: bigint
+ expr: _col3
+ type: bigint
+ outputColumnNames: _col0, _col1, _col2, _col3
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+PREHOOK: type: QUERY
+PREHOOK: Input: default@abcd
+#### A masked pattern was here ####
+POSTHOOK: query: select a, count(distinct b), count(distinct c), sum(d) from abcd group by a
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@abcd
+#### A masked pattern was here ####
+NULL 1 1 6
+10 2 2 10
+12 1 2 9
+100 1 1 3
+PREHOOK: query: explain select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME abcd))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_FUNCTION count 1)) (TOK_SELEXPR (TOK_FUNCTIONSTAR count)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL a))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL d))) (TOK_SELEXPR (TOK_FUNCTIONDI count (TOK_TABLE_OR_COL a) (TOK_TABLE_OR_COL b) (TOK_TABLE_OR_COL c) (TOK_TABLE_OR_COL d))))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ abcd
+ TableScan
+ alias: abcd
+ Select Operator
+ expressions:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ expr: d
+ type: int
+ outputColumnNames: a, b, c, d
+ Reduce Output Operator
+ key expressions:
+ expr: a
+ type: int
+ expr: b
+ type: int
+ expr: c
+ type: int
+ expr: d
+ type: int
+ sort order: ++++
+ tag: -1
+ value expressions:
+ expr: 1
+ type: int
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(1)
+ expr: count()
+ expr: count(KEY._col0:0._col0)
+ expr: count(KEY._col0:1._col0)
+ expr: count(KEY._col0:2._col0)
+ expr: count(KEY._col0:3._col0)
+ expr: count(DISTINCT KEY._col0:0._col0)
+ expr: count(DISTINCT KEY._col0:1._col0)
+ expr: count(DISTINCT KEY._col0:2._col0)
+ expr: count(DISTINCT KEY._col0:3._col0)
+ expr: count(DISTINCT KEY._col0:4._col0, KEY._col0:4._col1)
+ expr: count(DISTINCT KEY._col0:5._col0, KEY._col0:5._col1)
+ expr: count(DISTINCT KEY._col0:6._col0, KEY._col0:6._col1)
+ expr: count(DISTINCT KEY._col0:7._col0, KEY._col0:7._col1)
+ expr: count(DISTINCT KEY._col0:8._col0, KEY._col0:8._col1)
+ expr: count(DISTINCT KEY._col0:9._col0, KEY._col0:9._col1)
+ expr: count(DISTINCT KEY._col0:10._col0, KEY._col0:10._col1, KEY._col0:10._col2)
+ expr: count(DISTINCT KEY._col0:11._col0, KEY._col0:11._col1, KEY._col0:11._col2)
+ expr: count(DISTINCT KEY._col0:12._col0, KEY._col0:12._col1, KEY._col0:12._col2)
+ expr: count(DISTINCT KEY._col0:13._col0, KEY._col0:13._col1, KEY._col0:13._col2)
+ expr: count(DISTINCT KEY._col0:14._col0, KEY._col0:14._col1, KEY._col0:14._col2, KEY._col0:14._col3)
+ bucketGroup: false
+ mode: complete
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+ Select Operator
+ expressions:
+ expr: _col0
+ type: bigint
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: bigint
+ expr: _col3
+ type: bigint
+ expr: _col4
+ type: bigint
+ expr: _col5
+ type: bigint
+ expr: _col6
+ type: bigint
+ expr: _col7
+ type: bigint
+ expr: _col8
+ type: bigint
+ expr: _col9
+ type: bigint
+ expr: _col10
+ type: bigint
+ expr: _col11
+ type: bigint
+ expr: _col12
+ type: bigint
+ expr: _col13
+ type: bigint
+ expr: _col14
+ type: bigint
+ expr: _col15
+ type: bigint
+ expr: _col16
+ type: bigint
+ expr: _col17
+ type: bigint
+ expr: _col18
+ type: bigint
+ expr: _col19
+ type: bigint
+ expr: _col20
+ type: bigint
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+PREHOOK: type: QUERY
+PREHOOK: Input: default@abcd
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1), count(*), count(a), count(b), count(c), count(d), count(distinct a), count(distinct b), count(distinct c), count(distinct d), count(distinct a,b), count(distinct b,c), count(distinct c,d), count(distinct a,d), count(distinct a,c), count(distinct b,d), count(distinct a,b,c), count(distinct b,c,d), count(distinct a,c,d), count(distinct a,b,d), count(distinct a,b,c,d) from abcd
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@abcd
+#### A masked pattern was here ####
+7 7 6 6 6 7 3 3 6 7 4 5 6 6 5 6 4 5 5 5 4
diff --git ql/src/test/results/clientpositive/tez/create_merge_compressed.q.out ql/src/test/results/clientpositive/tez/create_merge_compressed.q.out
new file mode 100644
index 0000000..4340878
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/create_merge_compressed.q.out
@@ -0,0 +1,168 @@
+PREHOOK: query: create table src_rc_merge_test(key int, value string) stored as rcfile
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table src_rc_merge_test(key int, value string) stored as rcfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@src_rc_merge_test
+PREHOOK: query: load data local inpath '../../data/files/smbbucket_1.rc' into table src_rc_merge_test
+PREHOOK: type: LOAD
+PREHOOK: Output: default@src_rc_merge_test
+POSTHOOK: query: load data local inpath '../../data/files/smbbucket_1.rc' into table src_rc_merge_test
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@src_rc_merge_test
+PREHOOK: query: create table tgt_rc_merge_test(key int, value string) stored as rcfile
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table tgt_rc_merge_test(key int, value string) stored as rcfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@tgt_rc_merge_test
+PREHOOK: query: insert into table tgt_rc_merge_test select * from src_rc_merge_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_rc_merge_test
+PREHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: query: insert into table tgt_rc_merge_test select * from src_rc_merge_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_rc_merge_test
+POSTHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: insert into table tgt_rc_merge_test select * from src_rc_merge_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_rc_merge_test
+PREHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: query: insert into table tgt_rc_merge_test select * from src_rc_merge_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_rc_merge_test
+POSTHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: show table extended like `tgt_rc_merge_test`
+PREHOOK: type: SHOW_TABLESTATUS
+POSTHOOK: query: show table extended like `tgt_rc_merge_test`
+POSTHOOK: type: SHOW_TABLESTATUS
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+tableName:tgt_rc_merge_test
+#### A masked pattern was here ####
+inputformat:org.apache.hadoop.hive.ql.io.RCFileInputFormat
+outputformat:org.apache.hadoop.hive.ql.io.RCFileOutputFormat
+columns:struct columns { i32 key, string value}
+partitioned:false
+partitionColumns:
+totalNumberFiles:2
+totalFileSize:342
+maxFileSize:171
+minFileSize:171
+#### A masked pattern was here ####
+
+PREHOOK: query: select count(1) from tgt_rc_merge_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1) from tgt_rc_merge_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+10
+PREHOOK: query: select sum(hash(key)), sum(hash(value)) from tgt_rc_merge_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: query: select sum(hash(key)), sum(hash(value)) from tgt_rc_merge_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+46 -751895388
+PREHOOK: query: alter table tgt_rc_merge_test concatenate
+PREHOOK: type: ALTER_TABLE_MERGE
+PREHOOK: Input: default@tgt_rc_merge_test
+PREHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: query: alter table tgt_rc_merge_test concatenate
+POSTHOOK: type: ALTER_TABLE_MERGE
+POSTHOOK: Input: default@tgt_rc_merge_test
+POSTHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: show table extended like `tgt_rc_merge_test`
+PREHOOK: type: SHOW_TABLESTATUS
+POSTHOOK: query: show table extended like `tgt_rc_merge_test`
+POSTHOOK: type: SHOW_TABLESTATUS
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+tableName:tgt_rc_merge_test
+#### A masked pattern was here ####
+inputformat:org.apache.hadoop.hive.ql.io.RCFileInputFormat
+outputformat:org.apache.hadoop.hive.ql.io.RCFileOutputFormat
+columns:struct columns { i32 key, string value}
+partitioned:false
+partitionColumns:
+totalNumberFiles:1
+totalFileSize:243
+maxFileSize:243
+minFileSize:243
+#### A masked pattern was here ####
+
+PREHOOK: query: select count(1) from tgt_rc_merge_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1) from tgt_rc_merge_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+10
+PREHOOK: query: select sum(hash(key)), sum(hash(value)) from tgt_rc_merge_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: query: select sum(hash(key)), sum(hash(value)) from tgt_rc_merge_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tgt_rc_merge_test
+#### A masked pattern was here ####
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+46 -751895388
+PREHOOK: query: drop table src_rc_merge_test
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@src_rc_merge_test
+PREHOOK: Output: default@src_rc_merge_test
+POSTHOOK: query: drop table src_rc_merge_test
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@src_rc_merge_test
+POSTHOOK: Output: default@src_rc_merge_test
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: drop table tgt_rc_merge_test
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tgt_rc_merge_test
+PREHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: query: drop table tgt_rc_merge_test
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tgt_rc_merge_test
+POSTHOOK: Output: default@tgt_rc_merge_test
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.key SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:key, type:int, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tgt_rc_merge_test.value SIMPLE [(src_rc_merge_test)src_rc_merge_test.FieldSchema(name:value, type:string, comment:null), ]
diff --git ql/src/test/results/clientpositive/tez/cross_join.q.out ql/src/test/results/clientpositive/tez/cross_join.q.out
new file mode 100644
index 0000000..0fd11a1
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/cross_join.q.out
@@ -0,0 +1,189 @@
+PREHOOK: query: -- current
+explain select src.key from src join src src2
+PREHOOK: type: QUERY
+POSTHOOK: query: -- current
+explain select src.key from src join src src2
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src)) (TOK_TABREF (TOK_TABNAME src) src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src) key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src2
+ TableScan
+ alias: src2
+ Reduce Output Operator
+ sort order:
+ tag: 1
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Reduce Output Operator
+ sort order:
+ tag: 0
+ value expressions:
+ expr: key
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {VALUE._col0}
+ 1
+ handleSkewJoin: false
+ outputColumnNames: _col0
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ outputColumnNames: _col0
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: -- ansi cross join
+explain select src.key from src cross join src src2
+PREHOOK: type: QUERY
+POSTHOOK: query: -- ansi cross join
+explain select src.key from src cross join src src2
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_CROSSJOIN (TOK_TABREF (TOK_TABNAME src)) (TOK_TABREF (TOK_TABNAME src) src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src) key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src2
+ TableScan
+ alias: src2
+ Reduce Output Operator
+ sort order:
+ tag: 1
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Reduce Output Operator
+ sort order:
+ tag: 0
+ value expressions:
+ expr: key
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {VALUE._col0}
+ 1
+ handleSkewJoin: false
+ outputColumnNames: _col0
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ outputColumnNames: _col0
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: -- appending condition is allowed
+explain select src.key from src cross join src src2 on src.key=src2.key
+PREHOOK: type: QUERY
+POSTHOOK: query: -- appending condition is allowed
+explain select src.key from src cross join src src2 on src.key=src2.key
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_CROSSJOIN (TOK_TABREF (TOK_TABNAME src)) (TOK_TABREF (TOK_TABNAME src) src2) (= (. (TOK_TABLE_OR_COL src) key) (. (TOK_TABLE_OR_COL src2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src) key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src2
+ TableScan
+ alias: src2
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 0
+ value expressions:
+ expr: key
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {VALUE._col0}
+ 1
+ handleSkewJoin: false
+ outputColumnNames: _col0
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ outputColumnNames: _col0
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
diff --git ql/src/test/results/clientpositive/tez/ctas.q.out ql/src/test/results/clientpositive/tez/ctas.q.out
new file mode 100644
index 0000000..15b5fc4
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/ctas.q.out
@@ -0,0 +1,1215 @@
+PREHOOK: query: -- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.20, 0.20S)
+
+create table nzhang_Tmp(a int, b string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- EXCLUDE_HADOOP_MAJOR_VERSIONS(0.20, 0.20S)
+
+create table nzhang_Tmp(a int, b string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@nzhang_Tmp
+PREHOOK: query: select * from nzhang_Tmp
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nzhang_tmp
+#### A masked pattern was here ####
+POSTHOOK: query: select * from nzhang_Tmp
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nzhang_tmp
+#### A masked pattern was here ####
+PREHOOK: query: explain create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: explain create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME nzhang_CTAS1) TOK_LIKETABLE (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key) k) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL value))) (TOK_LIMIT 10))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-9 depends on stages: Stage-2, Stage-0
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_CTAS1
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-9
+ Create Table Operator:
+ Create Table
+ columns: k string, value string
+ if not exists: false
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ # buckets: -1
+ output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+ name: nzhang_CTAS1
+ isExternal: false
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-0
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_CTAS1
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_CTAS1
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: create table nzhang_CTAS1 as select key k, value from src sort by k, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@nzhang_CTAS1
+PREHOOK: query: select * from nzhang_CTAS1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nzhang_ctas1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from nzhang_CTAS1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nzhang_ctas1
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+10 val_10
+100 val_100
+100 val_100
+103 val_103
+103 val_103
+104 val_104
+104 val_104
+PREHOOK: query: describe formatted nzhang_CTAS1
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted nzhang_CTAS1
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+k string None
+value string None
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Protect Mode: None
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ COLUMN_STATS_ACCURATE true
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ totalSize 106
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: explain create table nzhang_ctas2 as select * from src sort by key, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: explain create table nzhang_ctas2 as select * from src sort by key, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME nzhang_ctas2) TOK_LIKETABLE (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL key)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL value))) (TOK_LIMIT 10))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-9 depends on stages: Stage-2, Stage-0
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas2
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-9
+ Create Table Operator:
+ Create Table
+ columns: key string, value string
+ if not exists: false
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ # buckets: -1
+ output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+ name: nzhang_ctas2
+ isExternal: false
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-0
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas2
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas2
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: create table nzhang_ctas2 as select * from src sort by key, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: create table nzhang_ctas2 as select * from src sort by key, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@nzhang_ctas2
+PREHOOK: query: select * from nzhang_ctas2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nzhang_ctas2
+#### A masked pattern was here ####
+POSTHOOK: query: select * from nzhang_ctas2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nzhang_ctas2
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+10 val_10
+100 val_100
+100 val_100
+103 val_103
+103 val_103
+104 val_104
+104 val_104
+PREHOOK: query: describe formatted nzhang_CTAS2
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted nzhang_CTAS2
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+key string None
+value string None
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Protect Mode: None
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ COLUMN_STATS_ACCURATE true
+ numFiles 1
+ numRows 10
+ rawDataSize 96
+ totalSize 106
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: explain create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME nzhang_ctas3) TOK_LIKETABLE (TOK_TABLESERIALIZER (TOK_SERDENAME "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe")) TOK_TBLRCFILE (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (/ (TOK_TABLE_OR_COL key) 2) half_key) (TOK_SELEXPR (TOK_FUNCTION concat (TOK_TABLE_OR_COL value) "_con") conb)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL half_key)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL conb))) (TOK_LIMIT 10))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-9 depends on stages: Stage-2, Stage-0
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: (key / 2)
+ type: double
+ expr: concat(value, '_con')
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: double
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: double
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: double
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: double
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
+ name: default.nzhang_ctas3
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-9
+ Create Table Operator:
+ Create Table
+ columns: half_key double, conb string
+ if not exists: false
+ input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat
+ # buckets: -1
+ output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat
+ serde name: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
+ name: nzhang_ctas3
+ isExternal: false
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-0
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-4
+ Block level merge
+
+ Stage: Stage-6
+ Block level merge
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: create table nzhang_ctas3 row format serde "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe" stored as RCFile as select key/2 half_key, concat(value, "_con") conb from src sort by half_key, conb limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@nzhang_ctas3
+PREHOOK: query: select * from nzhang_ctas3
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nzhang_ctas3
+#### A masked pattern was here ####
+POSTHOOK: query: select * from nzhang_ctas3
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nzhang_ctas3
+#### A masked pattern was here ####
+0.0 val_0_con
+0.0 val_0_con
+0.0 val_0_con
+1.0 val_2_con
+2.0 val_4_con
+2.5 val_5_con
+2.5 val_5_con
+2.5 val_5_con
+4.0 val_8_con
+4.5 val_9_con
+PREHOOK: query: describe formatted nzhang_CTAS3
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted nzhang_CTAS3
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+half_key double None
+conb string None
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Protect Mode: None
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ COLUMN_STATS_ACCURATE true
+ numFiles 1
+ numRows 10
+ rawDataSize 120
+ totalSize 199
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
+InputFormat: org.apache.hadoop.hive.ql.io.RCFileInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.RCFileOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: explain create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: explain create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2
+POSTHOOK: type: CREATETABLE
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME nzhang_ctas3) TOK_IFNOTEXISTS TOK_LIKETABLE (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL key)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL value))) (TOK_LIMIT 2))))
+
+STAGE DEPENDENCIES:
+
+STAGE PLANS:
+PREHOOK: query: create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table if not exists nzhang_ctas3 as select key, value from src sort by key, value limit 2
+POSTHOOK: type: CREATETABLE
+PREHOOK: query: select * from nzhang_ctas3
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nzhang_ctas3
+#### A masked pattern was here ####
+POSTHOOK: query: select * from nzhang_ctas3
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nzhang_ctas3
+#### A masked pattern was here ####
+0.0 val_0_con
+0.0 val_0_con
+0.0 val_0_con
+1.0 val_2_con
+2.0 val_4_con
+2.5 val_5_con
+2.5 val_5_con
+2.5 val_5_con
+4.0 val_8_con
+4.5 val_9_con
+PREHOOK: query: describe formatted nzhang_CTAS3
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted nzhang_CTAS3
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+half_key double None
+conb string None
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Protect Mode: None
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ COLUMN_STATS_ACCURATE true
+ numFiles 1
+ numRows 10
+ rawDataSize 120
+ totalSize 199
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
+InputFormat: org.apache.hadoop.hive.ql.io.RCFileInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.RCFileOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ serialization.format 1
+PREHOOK: query: explain create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: explain create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME nzhang_ctas4) TOK_LIKETABLE (TOK_TABLEROWFORMAT (TOK_SERDEPROPS (TOK_TABLEROWFORMATFIELD ','))) TOK_TBLTEXTFILE (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL key)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL value))) (TOK_LIMIT 10))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-9 depends on stages: Stage-0, Stage-2
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Limit
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas4
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-9
+ Create Table Operator:
+ Create Table
+ columns: key string, value string
+ field delimiter: ,
+ if not exists: false
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ # buckets: -1
+ output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+ name: nzhang_ctas4
+ isExternal: false
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-0
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas4
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas4
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: create table nzhang_ctas4 row format delimited fields terminated by ',' stored as textfile as select key, value from src sort by key, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@nzhang_ctas4
+PREHOOK: query: select * from nzhang_ctas4
+PREHOOK: type: QUERY
+PREHOOK: Input: default@nzhang_ctas4
+#### A masked pattern was here ####
+POSTHOOK: query: select * from nzhang_ctas4
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@nzhang_ctas4
+#### A masked pattern was here ####
+0 val_0
+0 val_0
+0 val_0
+10 val_10
+100 val_100
+100 val_100
+103 val_103
+103 val_103
+104 val_104
+104 val_104
+PREHOOK: query: describe formatted nzhang_CTAS4
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe formatted nzhang_CTAS4
+POSTHOOK: type: DESCTABLE
+# col_name data_type comment
+
+key string None
+value string None
+
+# Detailed Table Information
+Database: default
+#### A masked pattern was here ####
+Protect Mode: None
+Retention: 0
+#### A masked pattern was here ####
+Table Type: MANAGED_TABLE
+Table Parameters:
+ COLUMN_STATS_ACCURATE true
+ numFiles 1
+ numRows 10
+ rawDataSize 96
+ totalSize 106
+#### A masked pattern was here ####
+
+# Storage Information
+SerDe Library: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+InputFormat: org.apache.hadoop.mapred.TextInputFormat
+OutputFormat: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+Compressed: No
+Num Buckets: -1
+Bucket Columns: []
+Sort Columns: []
+Storage Desc Params:
+ field.delim ,
+ serialization.format ,
+PREHOOK: query: explain extended create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: explain extended create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME nzhang_ctas5) TOK_LIKETABLE (TOK_TABLEROWFORMAT (TOK_SERDEPROPS (TOK_TABLEROWFORMATFIELD ',') (TOK_TABLEROWFORMATLINES '\012'))) TOK_TBLTEXTFILE (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL key)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL value))) (TOK_LIMIT 10))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-9 depends on stages: Stage-2, Stage-0
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ GatherStats: false
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 0
+ rawDataSize 0
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ /src [src]
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Extract
+ Statistics:
+ numRows: 29 dataSize: 5812 basicStatsState: COMPLETE colStatsState: NONE
+ Limit
+ Statistics:
+ numRows: 10 dataSize: 2000 basicStatsState: COMPLETE colStatsState: NONE
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ Statistics:
+ numRows: 10 dataSize: 2000 basicStatsState: COMPLETE colStatsState: NONE
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Extract
+ Statistics:
+ numRows: 10 dataSize: 2000 basicStatsState: COMPLETE colStatsState: NONE
+ Limit
+ Statistics:
+ numRows: 10 dataSize: 2000 basicStatsState: COMPLETE colStatsState: NONE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics:
+ numRows: 10 dataSize: 2000 basicStatsState: COMPLETE colStatsState: NONE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas5
+ TotalFiles: 1
+ GatherStats: true
+ MultiFileSpray: false
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-9
+ Create Table Operator:
+ Create Table
+ columns: key string, value string
+ field delimiter: ,
+ if not exists: false
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ line delimiter:
+
+ # buckets: -1
+ output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+ name: nzhang_ctas5
+ isExternal: false
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+#### A masked pattern was here ####
+
+ Stage: Stage-0
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ GatherStats: false
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas5
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas5
+ name: default.nzhang_ctas5
+ Truncated Path -> Alias:
+#### A masked pattern was here ####
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ GatherStats: false
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas5
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0,_col1
+ columns.types string:string
+ field.delim ,
+ line.delim
+
+ name default.nzhang_ctas5
+ serialization.format ,
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.nzhang_ctas5
+ name: default.nzhang_ctas5
+ Truncated Path -> Alias:
+#### A masked pattern was here ####
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: create table nzhang_ctas5 row format delimited fields terminated by ',' lines terminated by '\012' stored as textfile as select key, value from src sort by key, value limit 10
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@nzhang_ctas5
+PREHOOK: query: create table nzhang_ctas6 (key string, `to` string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table nzhang_ctas6 (key string, `to` string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@nzhang_ctas6
+PREHOOK: query: insert overwrite table nzhang_ctas6 select key, value from src tablesample (10 rows)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@nzhang_ctas6
+POSTHOOK: query: insert overwrite table nzhang_ctas6 select key, value from src tablesample (10 rows)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@nzhang_ctas6
+POSTHOOK: Lineage: nzhang_ctas6.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: nzhang_ctas6.to SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: create table nzhang_ctas7 as select key, `to` from nzhang_ctas6
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@nzhang_ctas6
+POSTHOOK: query: create table nzhang_ctas7 as select key, `to` from nzhang_ctas6
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@nzhang_ctas6
+POSTHOOK: Output: default@nzhang_ctas7
+POSTHOOK: Lineage: nzhang_ctas6.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: nzhang_ctas6.to SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
diff --git ql/src/test/results/clientpositive/tez/custom_input_output_format.q.out ql/src/test/results/clientpositive/tez/custom_input_output_format.q.out
new file mode 100644
index 0000000..8f54c96
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/custom_input_output_format.q.out
@@ -0,0 +1,95 @@
+PREHOOK: query: CREATE TABLE src1_rot13_iof(key STRING, value STRING)
+ STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13InputFormat'
+ OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13OutputFormat'
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE src1_rot13_iof(key STRING, value STRING)
+ STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13InputFormat'
+ OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.udf.Rot13OutputFormat'
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@src1_rot13_iof
+PREHOOK: query: DESCRIBE EXTENDED src1_rot13_iof
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: DESCRIBE EXTENDED src1_rot13_iof
+POSTHOOK: type: DESCTABLE
+key string None
+value string None
+
+#### A masked pattern was here ####
+PREHOOK: query: SELECT * FROM src1 ORDER BY key, value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM src1 ORDER BY key, value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+
+
+
+
+ val_165
+ val_193
+ val_265
+ val_27
+ val_409
+ val_484
+128
+146 val_146
+150 val_150
+213 val_213
+224
+238 val_238
+255 val_255
+273 val_273
+278 val_278
+311 val_311
+369
+401 val_401
+406 val_406
+66 val_66
+98 val_98
+PREHOOK: query: INSERT OVERWRITE TABLE src1_rot13_iof SELECT * FROM src1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1
+PREHOOK: Output: default@src1_rot13_iof
+POSTHOOK: query: INSERT OVERWRITE TABLE src1_rot13_iof SELECT * FROM src1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1
+POSTHOOK: Output: default@src1_rot13_iof
+POSTHOOK: Lineage: src1_rot13_iof.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_rot13_iof.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: SELECT * FROM src1_rot13_iof ORDER BY key, value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src1_rot13_iof
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM src1_rot13_iof ORDER BY key, value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src1_rot13_iof
+#### A masked pattern was here ####
+POSTHOOK: Lineage: src1_rot13_iof.key SIMPLE [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: src1_rot13_iof.value SIMPLE [(src1)src1.FieldSchema(name:value, type:string, comment:default), ]
+
+
+
+
+ val_165
+ val_193
+ val_265
+ val_27
+ val_409
+ val_484
+128
+146 val_146
+150 val_150
+213 val_213
+224
+238 val_238
+255 val_255
+273 val_273
+278 val_278
+311 val_311
+369
+401 val_401
+406 val_406
+66 val_66
+98 val_98
diff --git ql/src/test/results/clientpositive/tez/join0.q.out ql/src/test/results/clientpositive/tez/join0.q.out
new file mode 100644
index 0000000..d281a00
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/join0.q.out
@@ -0,0 +1,262 @@
+PREHOOK: query: EXPLAIN
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (< (. (TOK_TABLE_OR_COL src) key) 10)))) src1) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (< (. (TOK_TABLE_OR_COL src) key) 10)))) src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) key) k1) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) value) v1) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) key) k2) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) value) v2)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL v1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k2)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL v2)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Filter Operator
+ predicate:
+ expr: (key < 10)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ sort order:
+ tag: 1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Filter Operator
+ predicate:
+ expr: (key < 10)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ sort order:
+ tag: 0
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {VALUE._col0} {VALUE._col1}
+ 1 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ sort order: ++++
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: EXPLAIN FORMATTED
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN FORMATTED
+SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+POSTHOOK: type: QUERY
+{"STAGE PLANS":{"Stage-1":{"Tez":{"Vectorized execution:":"false","Tez Work:":[{"Vectorized execution:":"false","Split Sample:":{},"Alias -> Map Operator Tree:":{"src":{"TS_0":{"FIL_13":{"SEL_2":{"RS_7":{"Reduce Output Operator":{"Vectorized execution:":"false","Map-reduce partition columns:":[],"sort order:":"","tag:":"1","value expressions:":[{"type:":"string","expr:":"_col0"},{"type:":"string","expr:":"_col1"}],"key expressions:":[]}}}}}}}},{"Vectorized execution:":"false","Split Sample:":{},"Alias -> Map Operator Tree:":{"src":{"TS_3":{"FIL_14":{"SEL_5":{"RS_6":{"Reduce Output Operator":{"Vectorized execution:":"false","Map-reduce partition columns:":[],"sort order:":"","tag:":"0","value expressions:":[{"type:":"string","expr:":"_col0"},{"type:":"string","expr:":"_col1"}],"key expressions:":[]}}}}}}}},{"Vectorized execution:":"false","Reduce Operator Tree:":{"JOIN_8":{"SEL_9":{"RS_10":{"Reduce Output Operator":{"Vectorized execution:":"false","Map-reduce partition columns:":[],"sort order:":"++++","tag:":"-1","value expressions:":[{"type:":"string","expr:":"_col0"},{"type:":"string","expr:":"_col1"},{"type:":"string","expr:":"_col2"},{"type:":"string","expr:":"_col3"}],"key expressions:":[{"type:":"string","expr:":"_col0"},{"type:":"string","expr:":"_col1"},{"type:":"string","expr:":"_col2"},{"type:":"string","expr:":"_col3"}]}}}}}},{"Vectorized execution:":"false","Reduce Operator Tree:":{"EX_11":{"FS_12":{"File Output Operator":{"Vectorized execution:":"false","GlobalTableId:":"0","compressed:":"false","table:":{"serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe","input format:":"org.apache.hadoop.mapred.TextInputFormat","output format:":"org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"}}}}}}]}},"Stage-0":{"Fetch Operator":{"limit:":"-1"}}},"STAGE DEPENDENCIES":{"Stage-1":{"ROOT STAGE":"TRUE"},"Stage-0":{"ROOT STAGE":"TRUE"}},"ABSTRACT SYNTAX TREE":"(TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (< (. (TOK_TABLE_OR_COL src) key) 10)))) src1) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (< (. (TOK_TABLE_OR_COL src) key) 10)))) src2))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) key) k1) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) value) v1) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) key) k2) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) value) v2)) (TOK_SORTBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL v1)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL k2)) (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL v2)))))"}
+PREHOOK: query: SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT src1.key as k1, src1.value as v1,
+ src2.key as k2, src2.value as v2 FROM
+ (SELECT * FROM src WHERE src.key < 10) src1
+ JOIN
+ (SELECT * FROM src WHERE src.key < 10) src2
+ SORT BY k1, v1, k2, v2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 0 val_0
+0 val_0 2 val_2
+0 val_0 2 val_2
+0 val_0 2 val_2
+0 val_0 4 val_4
+0 val_0 4 val_4
+0 val_0 4 val_4
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 5 val_5
+0 val_0 8 val_8
+0 val_0 8 val_8
+0 val_0 8 val_8
+0 val_0 9 val_9
+0 val_0 9 val_9
+0 val_0 9 val_9
+2 val_2 0 val_0
+2 val_2 0 val_0
+2 val_2 0 val_0
+2 val_2 2 val_2
+2 val_2 4 val_4
+2 val_2 5 val_5
+2 val_2 5 val_5
+2 val_2 5 val_5
+2 val_2 8 val_8
+2 val_2 9 val_9
+4 val_4 0 val_0
+4 val_4 0 val_0
+4 val_4 0 val_0
+4 val_4 2 val_2
+4 val_4 4 val_4
+4 val_4 5 val_5
+4 val_4 5 val_5
+4 val_4 5 val_5
+4 val_4 8 val_8
+4 val_4 9 val_9
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 0 val_0
+5 val_5 2 val_2
+5 val_5 2 val_2
+5 val_5 2 val_2
+5 val_5 4 val_4
+5 val_5 4 val_4
+5 val_5 4 val_4
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 5 val_5
+5 val_5 8 val_8
+5 val_5 8 val_8
+5 val_5 8 val_8
+5 val_5 9 val_9
+5 val_5 9 val_9
+5 val_5 9 val_9
+8 val_8 0 val_0
+8 val_8 0 val_0
+8 val_8 0 val_0
+8 val_8 2 val_2
+8 val_8 4 val_4
+8 val_8 5 val_5
+8 val_8 5 val_5
+8 val_8 5 val_5
+8 val_8 8 val_8
+8 val_8 9 val_9
+9 val_9 0 val_0
+9 val_9 0 val_0
+9 val_9 0 val_0
+9 val_9 2 val_2
+9 val_9 4 val_4
+9 val_9 5 val_5
+9 val_9 5 val_5
+9 val_9 5 val_5
+9 val_9 8 val_8
+9 val_9 9 val_9
diff --git ql/src/test/results/clientpositive/tez/join1.q.out ql/src/test/results/clientpositive/tez/join1.q.out
new file mode 100644
index 0000000..987cbe5
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/join1.q.out
@@ -0,0 +1,1196 @@
+PREHOOK: query: CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE dest_j1(key INT, value STRING) STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@dest_j1
+PREHOOK: query: EXPLAIN
+FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src) src1) (TOK_TABREF (TOK_TABNAME src) src2) (= (. (TOK_TABLE_OR_COL src1) key) (. (TOK_TABLE_OR_COL src2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_TAB (TOK_TABNAME dest_j1))) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL src1) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL src2) value)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-0 depends on stages: Stage-2
+ Stage-3 depends on stages: Stage-0
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src2
+ TableScan
+ alias: src2
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ value expressions:
+ expr: value
+ type: string
+ Alias -> Map Operator Tree:
+ src1
+ TableScan
+ alias: src1
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 0
+ value expressions:
+ expr: key
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {VALUE._col0}
+ 1 {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col0, _col5
+ Select Operator
+ expressions:
+ expr: UDFToInteger(_col0)
+ type: int
+ expr: _col5
+ type: string
+ outputColumnNames: _col0, _col1
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ replace: true
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.dest_j1
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@dest_j1
+POSTHOOK: query: FROM src src1 JOIN src src2 ON (src1.key = src2.key)
+INSERT OVERWRITE TABLE dest_j1 SELECT src1.key, src2.value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@dest_j1
+POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(src)src2.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: SELECT dest_j1.* FROM dest_j1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT dest_j1.* FROM dest_j1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@dest_j1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: dest_j1.key EXPRESSION [(src)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest_j1.value SIMPLE [(src)src2.FieldSchema(name:value, type:string, comment:default), ]
+0 val_0
+0 val_0
+0 val_0
+0 val_0
+0 val_0
+0 val_0
+0 val_0
+0 val_0
+0 val_0
+10 val_10
+100 val_100
+100 val_100
+100 val_100
+100 val_100
+103 val_103
+103 val_103
+103 val_103
+103 val_103
+104 val_104
+104 val_104
+104 val_104
+104 val_104
+105 val_105
+11 val_11
+111 val_111
+113 val_113
+113 val_113
+113 val_113
+113 val_113
+114 val_114
+116 val_116
+118 val_118
+118 val_118
+118 val_118
+118 val_118
+119 val_119
+119 val_119
+119 val_119
+119 val_119
+119 val_119
+119 val_119
+119 val_119
+119 val_119
+119 val_119
+12 val_12
+12 val_12
+12 val_12
+12 val_12
+120 val_120
+120 val_120
+120 val_120
+120 val_120
+125 val_125
+125 val_125
+125 val_125
+125 val_125
+126 val_126
+128 val_128
+128 val_128
+128 val_128
+128 val_128
+128 val_128
+128 val_128
+128 val_128
+128 val_128
+128 val_128
+129 val_129
+129 val_129
+129 val_129
+129 val_129
+131 val_131
+133 val_133
+134 val_134
+134 val_134
+134 val_134
+134 val_134
+136 val_136
+137 val_137
+137 val_137
+137 val_137
+137 val_137
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+138 val_138
+143 val_143
+145 val_145
+146 val_146
+146 val_146
+146 val_146
+146 val_146
+149 val_149
+149 val_149
+149 val_149
+149 val_149
+15 val_15
+15 val_15
+15 val_15
+15 val_15
+150 val_150
+152 val_152
+152 val_152
+152 val_152
+152 val_152
+153 val_153
+155 val_155
+156 val_156
+157 val_157
+158 val_158
+160 val_160
+162 val_162
+163 val_163
+164 val_164
+164 val_164
+164 val_164
+164 val_164
+165 val_165
+165 val_165
+165 val_165
+165 val_165
+166 val_166
+167 val_167
+167 val_167
+167 val_167
+167 val_167
+167 val_167
+167 val_167
+167 val_167
+167 val_167
+167 val_167
+168 val_168
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+169 val_169
+17 val_17
+170 val_170
+172 val_172
+172 val_172
+172 val_172
+172 val_172
+174 val_174
+174 val_174
+174 val_174
+174 val_174
+175 val_175
+175 val_175
+175 val_175
+175 val_175
+176 val_176
+176 val_176
+176 val_176
+176 val_176
+177 val_177
+178 val_178
+179 val_179
+179 val_179
+179 val_179
+179 val_179
+18 val_18
+18 val_18
+18 val_18
+18 val_18
+180 val_180
+181 val_181
+183 val_183
+186 val_186
+187 val_187
+187 val_187
+187 val_187
+187 val_187
+187 val_187
+187 val_187
+187 val_187
+187 val_187
+187 val_187
+189 val_189
+19 val_19
+190 val_190
+191 val_191
+191 val_191
+191 val_191
+191 val_191
+192 val_192
+193 val_193
+193 val_193
+193 val_193
+193 val_193
+193 val_193
+193 val_193
+193 val_193
+193 val_193
+193 val_193
+194 val_194
+195 val_195
+195 val_195
+195 val_195
+195 val_195
+196 val_196
+197 val_197
+197 val_197
+197 val_197
+197 val_197
+199 val_199
+199 val_199
+199 val_199
+199 val_199
+199 val_199
+199 val_199
+199 val_199
+199 val_199
+199 val_199
+2 val_2
+20 val_20
+200 val_200
+200 val_200
+200 val_200
+200 val_200
+201 val_201
+202 val_202
+203 val_203
+203 val_203
+203 val_203
+203 val_203
+205 val_205
+205 val_205
+205 val_205
+205 val_205
+207 val_207
+207 val_207
+207 val_207
+207 val_207
+208 val_208
+208 val_208
+208 val_208
+208 val_208
+208 val_208
+208 val_208
+208 val_208
+208 val_208
+208 val_208
+209 val_209
+209 val_209
+209 val_209
+209 val_209
+213 val_213
+213 val_213
+213 val_213
+213 val_213
+214 val_214
+216 val_216
+216 val_216
+216 val_216
+216 val_216
+217 val_217
+217 val_217
+217 val_217
+217 val_217
+218 val_218
+219 val_219
+219 val_219
+219 val_219
+219 val_219
+221 val_221
+221 val_221
+221 val_221
+221 val_221
+222 val_222
+223 val_223
+223 val_223
+223 val_223
+223 val_223
+224 val_224
+224 val_224
+224 val_224
+224 val_224
+226 val_226
+228 val_228
+229 val_229
+229 val_229
+229 val_229
+229 val_229
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+230 val_230
+233 val_233
+233 val_233
+233 val_233
+233 val_233
+235 val_235
+237 val_237
+237 val_237
+237 val_237
+237 val_237
+238 val_238
+238 val_238
+238 val_238
+238 val_238
+239 val_239
+239 val_239
+239 val_239
+239 val_239
+24 val_24
+24 val_24
+24 val_24
+24 val_24
+241 val_241
+242 val_242
+242 val_242
+242 val_242
+242 val_242
+244 val_244
+247 val_247
+248 val_248
+249 val_249
+252 val_252
+255 val_255
+255 val_255
+255 val_255
+255 val_255
+256 val_256
+256 val_256
+256 val_256
+256 val_256
+257 val_257
+258 val_258
+26 val_26
+26 val_26
+26 val_26
+26 val_26
+260 val_260
+262 val_262
+263 val_263
+265 val_265
+265 val_265
+265 val_265
+265 val_265
+266 val_266
+27 val_27
+272 val_272
+272 val_272
+272 val_272
+272 val_272
+273 val_273
+273 val_273
+273 val_273
+273 val_273
+273 val_273
+273 val_273
+273 val_273
+273 val_273
+273 val_273
+274 val_274
+275 val_275
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+277 val_277
+278 val_278
+278 val_278
+278 val_278
+278 val_278
+28 val_28
+280 val_280
+280 val_280
+280 val_280
+280 val_280
+281 val_281
+281 val_281
+281 val_281
+281 val_281
+282 val_282
+282 val_282
+282 val_282
+282 val_282
+283 val_283
+284 val_284
+285 val_285
+286 val_286
+287 val_287
+288 val_288
+288 val_288
+288 val_288
+288 val_288
+289 val_289
+291 val_291
+292 val_292
+296 val_296
+298 val_298
+298 val_298
+298 val_298
+298 val_298
+298 val_298
+298 val_298
+298 val_298
+298 val_298
+298 val_298
+30 val_30
+302 val_302
+305 val_305
+306 val_306
+307 val_307
+307 val_307
+307 val_307
+307 val_307
+308 val_308
+309 val_309
+309 val_309
+309 val_309
+309 val_309
+310 val_310
+311 val_311
+311 val_311
+311 val_311
+311 val_311
+311 val_311
+311 val_311
+311 val_311
+311 val_311
+311 val_311
+315 val_315
+316 val_316
+316 val_316
+316 val_316
+316 val_316
+316 val_316
+316 val_316
+316 val_316
+316 val_316
+316 val_316
+317 val_317
+317 val_317
+317 val_317
+317 val_317
+318 val_318
+318 val_318
+318 val_318
+318 val_318
+318 val_318
+318 val_318
+318 val_318
+318 val_318
+318 val_318
+321 val_321
+321 val_321
+321 val_321
+321 val_321
+322 val_322
+322 val_322
+322 val_322
+322 val_322
+323 val_323
+325 val_325
+325 val_325
+325 val_325
+325 val_325
+327 val_327
+327 val_327
+327 val_327
+327 val_327
+327 val_327
+327 val_327
+327 val_327
+327 val_327
+327 val_327
+33 val_33
+331 val_331
+331 val_331
+331 val_331
+331 val_331
+332 val_332
+333 val_333
+333 val_333
+333 val_333
+333 val_333
+335 val_335
+336 val_336
+338 val_338
+339 val_339
+34 val_34
+341 val_341
+342 val_342
+342 val_342
+342 val_342
+342 val_342
+344 val_344
+344 val_344
+344 val_344
+344 val_344
+345 val_345
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+348 val_348
+35 val_35
+35 val_35
+35 val_35
+35 val_35
+35 val_35
+35 val_35
+35 val_35
+35 val_35
+35 val_35
+351 val_351
+353 val_353
+353 val_353
+353 val_353
+353 val_353
+356 val_356
+360 val_360
+362 val_362
+364 val_364
+365 val_365
+366 val_366
+367 val_367
+367 val_367
+367 val_367
+367 val_367
+368 val_368
+369 val_369
+369 val_369
+369 val_369
+369 val_369
+369 val_369
+369 val_369
+369 val_369
+369 val_369
+369 val_369
+37 val_37
+37 val_37
+37 val_37
+37 val_37
+373 val_373
+374 val_374
+375 val_375
+377 val_377
+378 val_378
+379 val_379
+382 val_382
+382 val_382
+382 val_382
+382 val_382
+384 val_384
+384 val_384
+384 val_384
+384 val_384
+384 val_384
+384 val_384
+384 val_384
+384 val_384
+384 val_384
+386 val_386
+389 val_389
+392 val_392
+393 val_393
+394 val_394
+395 val_395
+395 val_395
+395 val_395
+395 val_395
+396 val_396
+396 val_396
+396 val_396
+396 val_396
+396 val_396
+396 val_396
+396 val_396
+396 val_396
+396 val_396
+397 val_397
+397 val_397
+397 val_397
+397 val_397
+399 val_399
+399 val_399
+399 val_399
+399 val_399
+4 val_4
+400 val_400
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+401 val_401
+402 val_402
+403 val_403
+403 val_403
+403 val_403
+403 val_403
+403 val_403
+403 val_403
+403 val_403
+403 val_403
+403 val_403
+404 val_404
+404 val_404
+404 val_404
+404 val_404
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+406 val_406
+407 val_407
+409 val_409
+409 val_409
+409 val_409
+409 val_409
+409 val_409
+409 val_409
+409 val_409
+409 val_409
+409 val_409
+41 val_41
+411 val_411
+413 val_413
+413 val_413
+413 val_413
+413 val_413
+414 val_414
+414 val_414
+414 val_414
+414 val_414
+417 val_417
+417 val_417
+417 val_417
+417 val_417
+417 val_417
+417 val_417
+417 val_417
+417 val_417
+417 val_417
+418 val_418
+419 val_419
+42 val_42
+42 val_42
+42 val_42
+42 val_42
+421 val_421
+424 val_424
+424 val_424
+424 val_424
+424 val_424
+427 val_427
+429 val_429
+429 val_429
+429 val_429
+429 val_429
+43 val_43
+430 val_430
+430 val_430
+430 val_430
+430 val_430
+430 val_430
+430 val_430
+430 val_430
+430 val_430
+430 val_430
+431 val_431
+431 val_431
+431 val_431
+431 val_431
+431 val_431
+431 val_431
+431 val_431
+431 val_431
+431 val_431
+432 val_432
+435 val_435
+436 val_436
+437 val_437
+438 val_438
+438 val_438
+438 val_438
+438 val_438
+438 val_438
+438 val_438
+438 val_438
+438 val_438
+438 val_438
+439 val_439
+439 val_439
+439 val_439
+439 val_439
+44 val_44
+443 val_443
+444 val_444
+446 val_446
+448 val_448
+449 val_449
+452 val_452
+453 val_453
+454 val_454
+454 val_454
+454 val_454
+454 val_454
+454 val_454
+454 val_454
+454 val_454
+454 val_454
+454 val_454
+455 val_455
+457 val_457
+458 val_458
+458 val_458
+458 val_458
+458 val_458
+459 val_459
+459 val_459
+459 val_459
+459 val_459
+460 val_460
+462 val_462
+462 val_462
+462 val_462
+462 val_462
+463 val_463
+463 val_463
+463 val_463
+463 val_463
+466 val_466
+466 val_466
+466 val_466
+466 val_466
+466 val_466
+466 val_466
+466 val_466
+466 val_466
+466 val_466
+467 val_467
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+468 val_468
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+469 val_469
+47 val_47
+470 val_470
+472 val_472
+475 val_475
+477 val_477
+478 val_478
+478 val_478
+478 val_478
+478 val_478
+479 val_479
+480 val_480
+480 val_480
+480 val_480
+480 val_480
+480 val_480
+480 val_480
+480 val_480
+480 val_480
+480 val_480
+481 val_481
+482 val_482
+483 val_483
+484 val_484
+485 val_485
+487 val_487
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+489 val_489
+490 val_490
+491 val_491
+492 val_492
+492 val_492
+492 val_492
+492 val_492
+493 val_493
+494 val_494
+495 val_495
+496 val_496
+497 val_497
+498 val_498
+498 val_498
+498 val_498
+498 val_498
+498 val_498
+498 val_498
+498 val_498
+498 val_498
+498 val_498
+5 val_5
+5 val_5
+5 val_5
+5 val_5
+5 val_5
+5 val_5
+5 val_5
+5 val_5
+5 val_5
+51 val_51
+51 val_51
+51 val_51
+51 val_51
+53 val_53
+54 val_54
+57 val_57
+58 val_58
+58 val_58
+58 val_58
+58 val_58
+64 val_64
+65 val_65
+66 val_66
+67 val_67
+67 val_67
+67 val_67
+67 val_67
+69 val_69
+70 val_70
+70 val_70
+70 val_70
+70 val_70
+70 val_70
+70 val_70
+70 val_70
+70 val_70
+70 val_70
+72 val_72
+72 val_72
+72 val_72
+72 val_72
+74 val_74
+76 val_76
+76 val_76
+76 val_76
+76 val_76
+77 val_77
+78 val_78
+8 val_8
+80 val_80
+82 val_82
+83 val_83
+83 val_83
+83 val_83
+83 val_83
+84 val_84
+84 val_84
+84 val_84
+84 val_84
+85 val_85
+86 val_86
+87 val_87
+9 val_9
+90 val_90
+90 val_90
+90 val_90
+90 val_90
+90 val_90
+90 val_90
+90 val_90
+90 val_90
+90 val_90
+92 val_92
+95 val_95
+95 val_95
+95 val_95
+95 val_95
+96 val_96
+97 val_97
+97 val_97
+97 val_97
+97 val_97
+98 val_98
+98 val_98
+98 val_98
+98 val_98
diff --git ql/src/test/results/clientpositive/tez/mrr.q.out ql/src/test/results/clientpositive/tez/mrr.q.out
new file mode 100644
index 0000000..f7a5449
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/mrr.q.out
@@ -0,0 +1,2440 @@
+PREHOOK: query: -- simple query with multiple reduce stages
+EXPLAIN SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
+PREHOOK: type: QUERY
+POSTHOOK: query: -- simple query with multiple reduce stages
+EXPLAIN SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: key, value
+ Group By Operator
+ aggregations:
+ expr: count(value)
+ bucketGroup: false
+ keys:
+ expr: key
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT key, count(value) as cnt FROM src GROUP BY key ORDER BY cnt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+490 1
+287 1
+286 1
+285 1
+284 1
+283 1
+114 1
+487 1
+485 1
+28 1
+484 1
+181 1
+275 1
+274 1
+183 1
+483 1
+27 1
+266 1
+482 1
+263 1
+262 1
+260 1
+481 1
+258 1
+257 1
+116 1
+479 1
+252 1
+249 1
+248 1
+247 1
+244 1
+92 1
+241 1
+477 1
+475 1
+472 1
+470 1
+235 1
+47 1
+186 1
+126 1
+228 1
+226 1
+131 1
+467 1
+222 1
+133 1
+82 1
+218 1
+80 1
+460 1
+214 1
+8 1
+78 1
+189 1
+457 1
+455 1
+136 1
+202 1
+201 1
+453 1
+20 1
+2 1
+19 1
+452 1
+196 1
+449 1
+194 1
+190 1
+192 1
+448 1
+446 1
+444 1
+443 1
+44 1
+77 1
+143 1
+437 1
+436 1
+435 1
+432 1
+145 1
+150 1
+43 1
+10 1
+427 1
+74 1
+421 1
+9 1
+419 1
+418 1
+153 1
+105 1
+69 1
+411 1
+41 1
+155 1
+407 1
+156 1
+87 1
+157 1
+402 1
+158 1
+400 1
+4 1
+66 1
+65 1
+160 1
+64 1
+394 1
+393 1
+392 1
+389 1
+386 1
+162 1
+86 1
+379 1
+378 1
+377 1
+375 1
+374 1
+373 1
+57 1
+163 1
+368 1
+54 1
+366 1
+365 1
+364 1
+362 1
+360 1
+356 1
+53 1
+351 1
+166 1
+168 1
+345 1
+85 1
+11 1
+341 1
+34 1
+339 1
+338 1
+336 1
+335 1
+111 1
+332 1
+497 1
+33 1
+17 1
+496 1
+323 1
+495 1
+494 1
+170 1
+493 1
+177 1
+315 1
+178 1
+310 1
+96 1
+308 1
+491 1
+306 1
+305 1
+302 1
+30 1
+180 1
+296 1
+292 1
+291 1
+289 1
+98 2
+97 2
+95 2
+84 2
+83 2
+76 2
+72 2
+67 2
+58 2
+51 2
+492 2
+478 2
+463 2
+462 2
+459 2
+458 2
+439 2
+429 2
+424 2
+42 2
+414 2
+413 2
+404 2
+399 2
+397 2
+395 2
+382 2
+37 2
+367 2
+353 2
+344 2
+342 2
+333 2
+331 2
+325 2
+322 2
+321 2
+317 2
+309 2
+307 2
+288 2
+282 2
+281 2
+280 2
+278 2
+272 2
+265 2
+26 2
+256 2
+255 2
+242 2
+24 2
+239 2
+238 2
+237 2
+233 2
+229 2
+224 2
+223 2
+221 2
+219 2
+217 2
+216 2
+213 2
+209 2
+207 2
+205 2
+203 2
+200 2
+197 2
+195 2
+191 2
+18 2
+179 2
+176 2
+175 2
+174 2
+172 2
+165 2
+164 2
+152 2
+15 2
+149 2
+146 2
+137 2
+134 2
+129 2
+125 2
+120 2
+12 2
+118 2
+113 2
+104 2
+103 2
+100 2
+498 3
+369 3
+384 3
+396 3
+403 3
+409 3
+417 3
+5 3
+430 3
+70 3
+119 3
+0 3
+431 3
+438 3
+480 3
+193 3
+199 3
+208 3
+187 3
+273 3
+298 3
+454 3
+311 3
+316 3
+466 3
+90 3
+128 3
+318 3
+327 3
+167 3
+35 3
+468 4
+489 4
+406 4
+169 4
+138 4
+277 4
+469 5
+401 5
+230 5
+348 5
+PREHOOK: query: -- join query with multiple reduce stages;
+EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+PREHOOK: type: QUERY
+POSTHOOK: query: -- join query with multiple reduce stages;
+EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src) s1) (TOK_TABREF (TOK_TABNAME src) s2) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL s2) key)) (TOK_SELEXPR (TOK_FUNCTIONDI count (. (TOK_TABLE_OR_COL s2) value)) cnt)) (TOK_GROUPBY (. (TOK_TABLE_OR_COL s2) key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ s2
+ TableScan
+ alias: s2
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ value expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ Alias -> Map Operator Tree:
+ s1
+ TableScan
+ alias: s1
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 0
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0
+ 1 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col4, _col5
+ Select Operator
+ expressions:
+ expr: _col4
+ type: string
+ expr: _col5
+ type: string
+ outputColumnNames: _col4, _col5
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT _col5)
+ bucketGroup: false
+ keys:
+ expr: _col4
+ type: string
+ expr: _col5
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1, _col2
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col2
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT KEY._col1:0._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+98 1
+97 1
+96 1
+95 1
+92 1
+90 1
+9 1
+87 1
+86 1
+85 1
+84 1
+83 1
+82 1
+80 1
+8 1
+78 1
+77 1
+76 1
+74 1
+72 1
+70 1
+69 1
+67 1
+66 1
+65 1
+64 1
+58 1
+57 1
+54 1
+53 1
+51 1
+5 1
+498 1
+497 1
+496 1
+495 1
+494 1
+493 1
+492 1
+491 1
+490 1
+489 1
+487 1
+485 1
+484 1
+483 1
+482 1
+481 1
+480 1
+479 1
+478 1
+477 1
+475 1
+472 1
+470 1
+47 1
+469 1
+468 1
+467 1
+466 1
+463 1
+462 1
+460 1
+459 1
+458 1
+457 1
+455 1
+454 1
+453 1
+452 1
+449 1
+448 1
+446 1
+444 1
+443 1
+44 1
+439 1
+438 1
+437 1
+436 1
+435 1
+432 1
+431 1
+430 1
+43 1
+429 1
+427 1
+424 1
+421 1
+42 1
+419 1
+418 1
+417 1
+414 1
+413 1
+411 1
+41 1
+409 1
+407 1
+406 1
+404 1
+403 1
+402 1
+401 1
+400 1
+4 1
+399 1
+397 1
+396 1
+395 1
+394 1
+393 1
+392 1
+389 1
+386 1
+384 1
+382 1
+379 1
+378 1
+377 1
+375 1
+374 1
+373 1
+37 1
+369 1
+368 1
+367 1
+366 1
+365 1
+364 1
+362 1
+360 1
+356 1
+353 1
+351 1
+35 1
+348 1
+345 1
+344 1
+342 1
+341 1
+34 1
+339 1
+338 1
+336 1
+335 1
+333 1
+332 1
+331 1
+33 1
+327 1
+325 1
+323 1
+322 1
+321 1
+318 1
+317 1
+316 1
+315 1
+311 1
+310 1
+309 1
+308 1
+307 1
+306 1
+305 1
+302 1
+30 1
+298 1
+296 1
+292 1
+291 1
+289 1
+288 1
+287 1
+286 1
+285 1
+284 1
+283 1
+282 1
+281 1
+280 1
+28 1
+278 1
+277 1
+275 1
+274 1
+273 1
+272 1
+27 1
+266 1
+265 1
+263 1
+262 1
+260 1
+26 1
+258 1
+257 1
+256 1
+255 1
+252 1
+249 1
+248 1
+247 1
+244 1
+242 1
+241 1
+24 1
+239 1
+238 1
+237 1
+235 1
+233 1
+230 1
+229 1
+228 1
+226 1
+224 1
+223 1
+222 1
+221 1
+219 1
+218 1
+217 1
+216 1
+214 1
+213 1
+209 1
+208 1
+207 1
+205 1
+203 1
+202 1
+201 1
+200 1
+20 1
+2 1
+199 1
+197 1
+196 1
+195 1
+194 1
+193 1
+192 1
+191 1
+190 1
+19 1
+189 1
+187 1
+186 1
+183 1
+181 1
+180 1
+18 1
+179 1
+178 1
+177 1
+176 1
+175 1
+174 1
+172 1
+170 1
+17 1
+169 1
+168 1
+167 1
+166 1
+165 1
+164 1
+163 1
+162 1
+160 1
+158 1
+157 1
+156 1
+155 1
+153 1
+152 1
+150 1
+15 1
+149 1
+146 1
+145 1
+143 1
+138 1
+137 1
+136 1
+134 1
+133 1
+131 1
+129 1
+128 1
+126 1
+125 1
+120 1
+12 1
+119 1
+118 1
+116 1
+114 1
+113 1
+111 1
+11 1
+105 1
+104 1
+103 1
+100 1
+10 1
+0 1
+PREHOOK: query: -- same query with broadcast join
+EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+PREHOOK: type: QUERY
+POSTHOOK: query: -- same query with broadcast join
+EXPLAIN SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_TABREF (TOK_TABNAME src) s1) (TOK_TABREF (TOK_TABNAME src) s2) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s2) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL s2) key)) (TOK_SELEXPR (TOK_FUNCTIONDI count (. (TOK_TABLE_OR_COL s2) value)) cnt)) (TOK_GROUPBY (. (TOK_TABLE_OR_COL s2) key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ s2
+ TableScan
+ alias: s2
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ value expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ Alias -> Map Operator Tree:
+ s1
+ TableScan
+ alias: s1
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0
+ 1 {key} {value}
+ handleSkewJoin: false
+ keys:
+ 0 [Column[key]]
+ 1 [Column[key]]
+ outputColumnNames: _col4, _col5
+ Position of Big Table: 0
+ Select Operator
+ expressions:
+ expr: _col4
+ type: string
+ expr: _col5
+ type: string
+ outputColumnNames: _col4, _col5
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT _col5)
+ bucketGroup: false
+ keys:
+ expr: _col4
+ type: string
+ expr: _col5
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1, _col2
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ sort order: ++
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col2
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(DISTINCT KEY._col1:0._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT s2.key, count(distinct s2.value) as cnt FROM src s1 join src s2 on (s1.key = s2.key) GROUP BY s2.key ORDER BY cnt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+98 1
+97 1
+96 1
+95 1
+92 1
+90 1
+9 1
+87 1
+86 1
+85 1
+84 1
+83 1
+82 1
+80 1
+8 1
+78 1
+77 1
+76 1
+74 1
+72 1
+70 1
+69 1
+67 1
+66 1
+65 1
+64 1
+58 1
+57 1
+54 1
+53 1
+51 1
+5 1
+498 1
+497 1
+496 1
+495 1
+494 1
+493 1
+492 1
+491 1
+490 1
+489 1
+487 1
+485 1
+484 1
+483 1
+482 1
+481 1
+480 1
+479 1
+478 1
+477 1
+475 1
+472 1
+470 1
+47 1
+469 1
+468 1
+467 1
+466 1
+463 1
+462 1
+460 1
+459 1
+458 1
+457 1
+455 1
+454 1
+453 1
+452 1
+449 1
+448 1
+446 1
+444 1
+443 1
+44 1
+439 1
+438 1
+437 1
+436 1
+435 1
+432 1
+431 1
+430 1
+43 1
+429 1
+427 1
+424 1
+421 1
+42 1
+419 1
+418 1
+417 1
+414 1
+413 1
+411 1
+41 1
+409 1
+407 1
+406 1
+404 1
+403 1
+402 1
+401 1
+400 1
+4 1
+399 1
+397 1
+396 1
+395 1
+394 1
+393 1
+392 1
+389 1
+386 1
+384 1
+382 1
+379 1
+378 1
+377 1
+375 1
+374 1
+373 1
+37 1
+369 1
+368 1
+367 1
+366 1
+365 1
+364 1
+362 1
+360 1
+356 1
+353 1
+351 1
+35 1
+348 1
+345 1
+344 1
+342 1
+341 1
+34 1
+339 1
+338 1
+336 1
+335 1
+333 1
+332 1
+331 1
+33 1
+327 1
+325 1
+323 1
+322 1
+321 1
+318 1
+317 1
+316 1
+315 1
+311 1
+310 1
+309 1
+308 1
+307 1
+306 1
+305 1
+302 1
+30 1
+298 1
+296 1
+292 1
+291 1
+289 1
+288 1
+287 1
+286 1
+285 1
+284 1
+283 1
+282 1
+281 1
+280 1
+28 1
+278 1
+277 1
+275 1
+274 1
+273 1
+272 1
+27 1
+266 1
+265 1
+263 1
+262 1
+260 1
+26 1
+258 1
+257 1
+256 1
+255 1
+252 1
+249 1
+248 1
+247 1
+244 1
+242 1
+241 1
+24 1
+239 1
+238 1
+237 1
+235 1
+233 1
+230 1
+229 1
+228 1
+226 1
+224 1
+223 1
+222 1
+221 1
+219 1
+218 1
+217 1
+216 1
+214 1
+213 1
+209 1
+208 1
+207 1
+205 1
+203 1
+202 1
+201 1
+200 1
+20 1
+2 1
+199 1
+197 1
+196 1
+195 1
+194 1
+193 1
+192 1
+191 1
+190 1
+19 1
+189 1
+187 1
+186 1
+183 1
+181 1
+180 1
+18 1
+179 1
+178 1
+177 1
+176 1
+175 1
+174 1
+172 1
+170 1
+17 1
+169 1
+168 1
+167 1
+166 1
+165 1
+164 1
+163 1
+162 1
+160 1
+158 1
+157 1
+156 1
+155 1
+153 1
+152 1
+150 1
+15 1
+149 1
+146 1
+145 1
+143 1
+138 1
+137 1
+136 1
+134 1
+133 1
+131 1
+129 1
+128 1
+126 1
+125 1
+120 1
+12 1
+119 1
+118 1
+116 1
+114 1
+113 1
+111 1
+11 1
+105 1
+104 1
+103 1
+100 1
+10 1
+0 1
+PREHOOK: query: -- query with multiple branches in the task dag
+EXPLAIN
+SELECT *
+FROM
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s1
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s2
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s3
+ ON (s1.key = s2.key and s1.key = s3.key)
+WHERE
+ s1.cnt > 1
+ORDER BY s1.key
+PREHOOK: type: QUERY
+POSTHOOK: query: -- query with multiple branches in the task dag
+EXPLAIN
+SELECT *
+FROM
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s1
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s2
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s3
+ ON (s1.key = s2.key and s1.key = s3.key)
+WHERE
+ s1.cnt > 1
+ORDER BY s1.key
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))) s1) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))) s2)) (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))) s3) (and (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s2) key)) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL s3) key))))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_WHERE (> (. (TOK_TABLE_OR_COL s1) cnt) 1)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL s1) key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: key, value
+ Group By Operator
+ aggregations:
+ expr: count(value)
+ bucketGroup: false
+ keys:
+ expr: key
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: 2
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: key, value
+ Group By Operator
+ aggregations:
+ expr: count(value)
+ bucketGroup: false
+ keys:
+ expr: key
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: 1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: key, value
+ Group By Operator
+ aggregations:
+ expr: count(value)
+ bucketGroup: false
+ keys:
+ expr: key
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: 0
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ Inner Join 0 to 2
+ condition expressions:
+ 0 {VALUE._col0} {VALUE._col1}
+ 1 {VALUE._col0} {VALUE._col1}
+ 2 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+ Filter Operator
+ predicate:
+ expr: (_col1 > 1)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: string
+ expr: _col3
+ type: bigint
+ expr: _col4
+ type: string
+ expr: _col5
+ type: bigint
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: string
+ expr: _col3
+ type: bigint
+ expr: _col4
+ type: string
+ expr: _col5
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: SELECT *
+FROM
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s1
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s2
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s3
+ ON (s1.key = s2.key and s1.key = s3.key)
+WHERE
+ s1.cnt > 1
+ORDER BY s1.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s1
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s2
+ JOIN
+ (SELECT key, count(value) as cnt
+ FROM src GROUP BY key ORDER BY cnt) s3
+ ON (s1.key = s2.key and s1.key = s3.key)
+WHERE
+ s1.cnt > 1
+ORDER BY s1.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0 3 0 3 0 3
+100 2 100 2 100 2
+103 2 103 2 103 2
+104 2 104 2 104 2
+113 2 113 2 113 2
+118 2 118 2 118 2
+119 3 119 3 119 3
+12 2 12 2 12 2
+120 2 120 2 120 2
+125 2 125 2 125 2
+128 3 128 3 128 3
+129 2 129 2 129 2
+134 2 134 2 134 2
+137 2 137 2 137 2
+138 4 138 4 138 4
+146 2 146 2 146 2
+149 2 149 2 149 2
+15 2 15 2 15 2
+152 2 152 2 152 2
+164 2 164 2 164 2
+165 2 165 2 165 2
+167 3 167 3 167 3
+169 4 169 4 169 4
+172 2 172 2 172 2
+174 2 174 2 174 2
+175 2 175 2 175 2
+176 2 176 2 176 2
+179 2 179 2 179 2
+18 2 18 2 18 2
+187 3 187 3 187 3
+191 2 191 2 191 2
+193 3 193 3 193 3
+195 2 195 2 195 2
+197 2 197 2 197 2
+199 3 199 3 199 3
+200 2 200 2 200 2
+203 2 203 2 203 2
+205 2 205 2 205 2
+207 2 207 2 207 2
+208 3 208 3 208 3
+209 2 209 2 209 2
+213 2 213 2 213 2
+216 2 216 2 216 2
+217 2 217 2 217 2
+219 2 219 2 219 2
+221 2 221 2 221 2
+223 2 223 2 223 2
+224 2 224 2 224 2
+229 2 229 2 229 2
+230 5 230 5 230 5
+233 2 233 2 233 2
+237 2 237 2 237 2
+238 2 238 2 238 2
+239 2 239 2 239 2
+24 2 24 2 24 2
+242 2 242 2 242 2
+255 2 255 2 255 2
+256 2 256 2 256 2
+26 2 26 2 26 2
+265 2 265 2 265 2
+272 2 272 2 272 2
+273 3 273 3 273 3
+277 4 277 4 277 4
+278 2 278 2 278 2
+280 2 280 2 280 2
+281 2 281 2 281 2
+282 2 282 2 282 2
+288 2 288 2 288 2
+298 3 298 3 298 3
+307 2 307 2 307 2
+309 2 309 2 309 2
+311 3 311 3 311 3
+316 3 316 3 316 3
+317 2 317 2 317 2
+318 3 318 3 318 3
+321 2 321 2 321 2
+322 2 322 2 322 2
+325 2 325 2 325 2
+327 3 327 3 327 3
+331 2 331 2 331 2
+333 2 333 2 333 2
+342 2 342 2 342 2
+344 2 344 2 344 2
+348 5 348 5 348 5
+35 3 35 3 35 3
+353 2 353 2 353 2
+367 2 367 2 367 2
+369 3 369 3 369 3
+37 2 37 2 37 2
+382 2 382 2 382 2
+384 3 384 3 384 3
+395 2 395 2 395 2
+396 3 396 3 396 3
+397 2 397 2 397 2
+399 2 399 2 399 2
+401 5 401 5 401 5
+403 3 403 3 403 3
+404 2 404 2 404 2
+406 4 406 4 406 4
+409 3 409 3 409 3
+413 2 413 2 413 2
+414 2 414 2 414 2
+417 3 417 3 417 3
+42 2 42 2 42 2
+424 2 424 2 424 2
+429 2 429 2 429 2
+430 3 430 3 430 3
+431 3 431 3 431 3
+438 3 438 3 438 3
+439 2 439 2 439 2
+454 3 454 3 454 3
+458 2 458 2 458 2
+459 2 459 2 459 2
+462 2 462 2 462 2
+463 2 463 2 463 2
+466 3 466 3 466 3
+468 4 468 4 468 4
+469 5 469 5 469 5
+478 2 478 2 478 2
+480 3 480 3 480 3
+489 4 489 4 489 4
+492 2 492 2 492 2
+498 3 498 3 498 3
+5 3 5 3 5 3
+51 2 51 2 51 2
+58 2 58 2 58 2
+67 2 67 2 67 2
+70 3 70 3 70 3
+72 2 72 2 72 2
+76 2 76 2 76 2
+83 2 83 2 83 2
+84 2 84 2 84 2
+90 3 90 3 90 3
+95 2 95 2 95 2
+97 2 97 2 97 2
+98 2 98 2 98 2
+PREHOOK: query: -- query with broadcast join in the reduce stage
+EXPLAIN
+SELECT *
+FROM
+ (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
+ JOIN src ON (s1.key = src.key)
+PREHOOK: type: QUERY
+POSTHOOK: query: -- query with broadcast join in the reduce stage
+EXPLAIN
+SELECT *
+FROM
+ (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
+ JOIN src ON (s1.key = src.key)
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_JOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL key)))) s1) (TOK_TABREF (TOK_TABNAME src)) (= (. (TOK_TABLE_OR_COL s1) key) (. (TOK_TABLE_OR_COL src) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ outputColumnNames: key, value
+ Group By Operator
+ aggregations:
+ expr: count(value)
+ bucketGroup: false
+ keys:
+ expr: key
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: 0
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {_col0} {_col1}
+ 1 {key} {value}
+ handleSkewJoin: false
+ keys:
+ 0 [Column[_col0]]
+ 1 [Column[key]]
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Position of Big Table: 1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ outputColumnNames: _col0, _col1, _col2, _col3
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: SELECT *
+FROM
+ (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
+ JOIN src ON (s1.key = src.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT *
+FROM
+ (SELECT key, count(value) as cnt FROM src GROUP BY key) s1
+ JOIN src ON (s1.key = src.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+238 2 238 val_238
+86 1 86 val_86
+311 3 311 val_311
+27 1 27 val_27
+165 2 165 val_165
+409 3 409 val_409
+255 2 255 val_255
+278 2 278 val_278
+98 2 98 val_98
+484 1 484 val_484
+265 2 265 val_265
+193 3 193 val_193
+401 5 401 val_401
+150 1 150 val_150
+273 3 273 val_273
+224 2 224 val_224
+369 3 369 val_369
+66 1 66 val_66
+128 3 128 val_128
+213 2 213 val_213
+146 2 146 val_146
+406 4 406 val_406
+429 2 429 val_429
+374 1 374 val_374
+152 2 152 val_152
+469 5 469 val_469
+145 1 145 val_145
+495 1 495 val_495
+37 2 37 val_37
+327 3 327 val_327
+281 2 281 val_281
+277 4 277 val_277
+209 2 209 val_209
+15 2 15 val_15
+82 1 82 val_82
+403 3 403 val_403
+166 1 166 val_166
+417 3 417 val_417
+430 3 430 val_430
+252 1 252 val_252
+292 1 292 val_292
+219 2 219 val_219
+287 1 287 val_287
+153 1 153 val_153
+193 3 193 val_193
+338 1 338 val_338
+446 1 446 val_446
+459 2 459 val_459
+394 1 394 val_394
+237 2 237 val_237
+482 1 482 val_482
+174 2 174 val_174
+413 2 413 val_413
+494 1 494 val_494
+207 2 207 val_207
+199 3 199 val_199
+466 3 466 val_466
+208 3 208 val_208
+174 2 174 val_174
+399 2 399 val_399
+396 3 396 val_396
+247 1 247 val_247
+417 3 417 val_417
+489 4 489 val_489
+162 1 162 val_162
+377 1 377 val_377
+397 2 397 val_397
+309 2 309 val_309
+365 1 365 val_365
+266 1 266 val_266
+439 2 439 val_439
+342 2 342 val_342
+367 2 367 val_367
+325 2 325 val_325
+167 3 167 val_167
+195 2 195 val_195
+475 1 475 val_475
+17 1 17 val_17
+113 2 113 val_113
+155 1 155 val_155
+203 2 203 val_203
+339 1 339 val_339
+0 3 0 val_0
+455 1 455 val_455
+128 3 128 val_128
+311 3 311 val_311
+316 3 316 val_316
+57 1 57 val_57
+302 1 302 val_302
+205 2 205 val_205
+149 2 149 val_149
+438 3 438 val_438
+345 1 345 val_345
+129 2 129 val_129
+170 1 170 val_170
+20 1 20 val_20
+489 4 489 val_489
+157 1 157 val_157
+378 1 378 val_378
+221 2 221 val_221
+92 1 92 val_92
+111 1 111 val_111
+47 1 47 val_47
+72 2 72 val_72
+4 1 4 val_4
+280 2 280 val_280
+35 3 35 val_35
+427 1 427 val_427
+277 4 277 val_277
+208 3 208 val_208
+356 1 356 val_356
+399 2 399 val_399
+169 4 169 val_169
+382 2 382 val_382
+498 3 498 val_498
+125 2 125 val_125
+386 1 386 val_386
+437 1 437 val_437
+469 5 469 val_469
+192 1 192 val_192
+286 1 286 val_286
+187 3 187 val_187
+176 2 176 val_176
+54 1 54 val_54
+459 2 459 val_459
+51 2 51 val_51
+138 4 138 val_138
+103 2 103 val_103
+239 2 239 val_239
+213 2 213 val_213
+216 2 216 val_216
+430 3 430 val_430
+278 2 278 val_278
+176 2 176 val_176
+289 1 289 val_289
+221 2 221 val_221
+65 1 65 val_65
+318 3 318 val_318
+332 1 332 val_332
+311 3 311 val_311
+275 1 275 val_275
+137 2 137 val_137
+241 1 241 val_241
+83 2 83 val_83
+333 2 333 val_333
+180 1 180 val_180
+284 1 284 val_284
+12 2 12 val_12
+230 5 230 val_230
+181 1 181 val_181
+67 2 67 val_67
+260 1 260 val_260
+404 2 404 val_404
+384 3 384 val_384
+489 4 489 val_489
+353 2 353 val_353
+373 1 373 val_373
+272 2 272 val_272
+138 4 138 val_138
+217 2 217 val_217
+84 2 84 val_84
+348 5 348 val_348
+466 3 466 val_466
+58 2 58 val_58
+8 1 8 val_8
+411 1 411 val_411
+230 5 230 val_230
+208 3 208 val_208
+348 5 348 val_348
+24 2 24 val_24
+463 2 463 val_463
+431 3 431 val_431
+179 2 179 val_179
+172 2 172 val_172
+42 2 42 val_42
+129 2 129 val_129
+158 1 158 val_158
+119 3 119 val_119
+496 1 496 val_496
+0 3 0 val_0
+322 2 322 val_322
+197 2 197 val_197
+468 4 468 val_468
+393 1 393 val_393
+454 3 454 val_454
+100 2 100 val_100
+298 3 298 val_298
+199 3 199 val_199
+191 2 191 val_191
+418 1 418 val_418
+96 1 96 val_96
+26 2 26 val_26
+165 2 165 val_165
+327 3 327 val_327
+230 5 230 val_230
+205 2 205 val_205
+120 2 120 val_120
+131 1 131 val_131
+51 2 51 val_51
+404 2 404 val_404
+43 1 43 val_43
+436 1 436 val_436
+156 1 156 val_156
+469 5 469 val_469
+468 4 468 val_468
+308 1 308 val_308
+95 2 95 val_95
+196 1 196 val_196
+288 2 288 val_288
+481 1 481 val_481
+457 1 457 val_457
+98 2 98 val_98
+282 2 282 val_282
+197 2 197 val_197
+187 3 187 val_187
+318 3 318 val_318
+318 3 318 val_318
+409 3 409 val_409
+470 1 470 val_470
+137 2 137 val_137
+369 3 369 val_369
+316 3 316 val_316
+169 4 169 val_169
+413 2 413 val_413
+85 1 85 val_85
+77 1 77 val_77
+0 3 0 val_0
+490 1 490 val_490
+87 1 87 val_87
+364 1 364 val_364
+179 2 179 val_179
+118 2 118 val_118
+134 2 134 val_134
+395 2 395 val_395
+282 2 282 val_282
+138 4 138 val_138
+238 2 238 val_238
+419 1 419 val_419
+15 2 15 val_15
+118 2 118 val_118
+72 2 72 val_72
+90 3 90 val_90
+307 2 307 val_307
+19 1 19 val_19
+435 1 435 val_435
+10 1 10 val_10
+277 4 277 val_277
+273 3 273 val_273
+306 1 306 val_306
+224 2 224 val_224
+309 2 309 val_309
+389 1 389 val_389
+327 3 327 val_327
+242 2 242 val_242
+369 3 369 val_369
+392 1 392 val_392
+272 2 272 val_272
+331 2 331 val_331
+401 5 401 val_401
+242 2 242 val_242
+452 1 452 val_452
+177 1 177 val_177
+226 1 226 val_226
+5 3 5 val_5
+497 1 497 val_497
+402 1 402 val_402
+396 3 396 val_396
+317 2 317 val_317
+395 2 395 val_395
+58 2 58 val_58
+35 3 35 val_35
+336 1 336 val_336
+95 2 95 val_95
+11 1 11 val_11
+168 1 168 val_168
+34 1 34 val_34
+229 2 229 val_229
+233 2 233 val_233
+143 1 143 val_143
+472 1 472 val_472
+322 2 322 val_322
+498 3 498 val_498
+160 1 160 val_160
+195 2 195 val_195
+42 2 42 val_42
+321 2 321 val_321
+430 3 430 val_430
+119 3 119 val_119
+489 4 489 val_489
+458 2 458 val_458
+78 1 78 val_78
+76 2 76 val_76
+41 1 41 val_41
+223 2 223 val_223
+492 2 492 val_492
+149 2 149 val_149
+449 1 449 val_449
+218 1 218 val_218
+228 1 228 val_228
+138 4 138 val_138
+453 1 453 val_453
+30 1 30 val_30
+209 2 209 val_209
+64 1 64 val_64
+468 4 468 val_468
+76 2 76 val_76
+74 1 74 val_74
+342 2 342 val_342
+69 1 69 val_69
+230 5 230 val_230
+33 1 33 val_33
+368 1 368 val_368
+103 2 103 val_103
+296 1 296 val_296
+113 2 113 val_113
+216 2 216 val_216
+367 2 367 val_367
+344 2 344 val_344
+167 3 167 val_167
+274 1 274 val_274
+219 2 219 val_219
+239 2 239 val_239
+485 1 485 val_485
+116 1 116 val_116
+223 2 223 val_223
+256 2 256 val_256
+263 1 263 val_263
+70 3 70 val_70
+487 1 487 val_487
+480 3 480 val_480
+401 5 401 val_401
+288 2 288 val_288
+191 2 191 val_191
+5 3 5 val_5
+244 1 244 val_244
+438 3 438 val_438
+128 3 128 val_128
+467 1 467 val_467
+432 1 432 val_432
+202 1 202 val_202
+316 3 316 val_316
+229 2 229 val_229
+469 5 469 val_469
+463 2 463 val_463
+280 2 280 val_280
+2 1 2 val_2
+35 3 35 val_35
+283 1 283 val_283
+331 2 331 val_331
+235 1 235 val_235
+80 1 80 val_80
+44 1 44 val_44
+193 3 193 val_193
+321 2 321 val_321
+335 1 335 val_335
+104 2 104 val_104
+466 3 466 val_466
+366 1 366 val_366
+175 2 175 val_175
+403 3 403 val_403
+483 1 483 val_483
+53 1 53 val_53
+105 1 105 val_105
+257 1 257 val_257
+406 4 406 val_406
+409 3 409 val_409
+190 1 190 val_190
+406 4 406 val_406
+401 5 401 val_401
+114 1 114 val_114
+258 1 258 val_258
+90 3 90 val_90
+203 2 203 val_203
+262 1 262 val_262
+348 5 348 val_348
+424 2 424 val_424
+12 2 12 val_12
+396 3 396 val_396
+201 1 201 val_201
+217 2 217 val_217
+164 2 164 val_164
+431 3 431 val_431
+454 3 454 val_454
+478 2 478 val_478
+298 3 298 val_298
+125 2 125 val_125
+431 3 431 val_431
+164 2 164 val_164
+424 2 424 val_424
+187 3 187 val_187
+382 2 382 val_382
+5 3 5 val_5
+70 3 70 val_70
+397 2 397 val_397
+480 3 480 val_480
+291 1 291 val_291
+24 2 24 val_24
+351 1 351 val_351
+255 2 255 val_255
+104 2 104 val_104
+70 3 70 val_70
+163 1 163 val_163
+438 3 438 val_438
+119 3 119 val_119
+414 2 414 val_414
+200 2 200 val_200
+491 1 491 val_491
+237 2 237 val_237
+439 2 439 val_439
+360 1 360 val_360
+248 1 248 val_248
+479 1 479 val_479
+305 1 305 val_305
+417 3 417 val_417
+199 3 199 val_199
+444 1 444 val_444
+120 2 120 val_120
+429 2 429 val_429
+169 4 169 val_169
+443 1 443 val_443
+323 1 323 val_323
+325 2 325 val_325
+277 4 277 val_277
+230 5 230 val_230
+478 2 478 val_478
+178 1 178 val_178
+468 4 468 val_468
+310 1 310 val_310
+317 2 317 val_317
+333 2 333 val_333
+493 1 493 val_493
+460 1 460 val_460
+207 2 207 val_207
+249 1 249 val_249
+265 2 265 val_265
+480 3 480 val_480
+83 2 83 val_83
+136 1 136 val_136
+353 2 353 val_353
+172 2 172 val_172
+214 1 214 val_214
+462 2 462 val_462
+233 2 233 val_233
+406 4 406 val_406
+133 1 133 val_133
+175 2 175 val_175
+189 1 189 val_189
+454 3 454 val_454
+375 1 375 val_375
+401 5 401 val_401
+421 1 421 val_421
+407 1 407 val_407
+384 3 384 val_384
+256 2 256 val_256
+26 2 26 val_26
+134 2 134 val_134
+67 2 67 val_67
+384 3 384 val_384
+379 1 379 val_379
+18 2 18 val_18
+462 2 462 val_462
+492 2 492 val_492
+100 2 100 val_100
+298 3 298 val_298
+9 1 9 val_9
+341 1 341 val_341
+498 3 498 val_498
+146 2 146 val_146
+458 2 458 val_458
+362 1 362 val_362
+186 1 186 val_186
+285 1 285 val_285
+348 5 348 val_348
+167 3 167 val_167
+18 2 18 val_18
+273 3 273 val_273
+183 1 183 val_183
+281 2 281 val_281
+344 2 344 val_344
+97 2 97 val_97
+469 5 469 val_469
+315 1 315 val_315
+84 2 84 val_84
+28 1 28 val_28
+37 2 37 val_37
+448 1 448 val_448
+152 2 152 val_152
+348 5 348 val_348
+307 2 307 val_307
+194 1 194 val_194
+414 2 414 val_414
+477 1 477 val_477
+222 1 222 val_222
+126 1 126 val_126
+90 3 90 val_90
+169 4 169 val_169
+403 3 403 val_403
+400 1 400 val_400
+200 2 200 val_200
+97 2 97 val_97
diff --git ql/src/test/results/clientpositive/tez/tez_dml.q.out ql/src/test/results/clientpositive/tez/tez_dml.q.out
new file mode 100644
index 0000000..248fd53
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/tez_dml.q.out
@@ -0,0 +1,1787 @@
+PREHOOK: query: -- CTAS
+EXPLAIN CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
+PREHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: query: -- CTAS
+EXPLAIN CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
+POSTHOOK: type: CREATETABLE_AS_SELECT
+ABSTRACT SYNTAX TREE:
+ (TOK_CREATETABLE (TOK_TABNAME tmp_src) TOK_LIKETABLE (TOK_QUERY (TOK_FROM (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL value)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL value)))) f1)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-9 depends on stages: Stage-0, Stage-2
+ Stage-3 depends on stages: Stage-9
+ Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Select Operator
+ expressions:
+ expr: value
+ type: string
+ outputColumnNames: value
+ Group By Operator
+ aggregations:
+ expr: count(value)
+ bucketGroup: false
+ keys:
+ expr: value
+ type: string
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col0
+ type: string
+ tag: -1
+ value expressions:
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations:
+ expr: count(VALUE._col0)
+ bucketGroup: false
+ keys:
+ expr: KEY._col0
+ type: string
+ mode: mergepartial
+ outputColumnNames: _col0, _col1
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: bigint
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: bigint
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-9
+ Create Table Operator:
+ Create Table
+ columns: value string, cnt bigint
+ if not exists: false
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ # buckets: -1
+ output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
+ name: tmp_src
+ isExternal: false
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-0
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@src
+POSTHOOK: query: CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@tmp_src
+PREHOOK: query: SELECT * FROM tmp_src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM tmp_src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_src
+#### A masked pattern was here ####
+val_490 1
+val_287 1
+val_286 1
+val_285 1
+val_284 1
+val_283 1
+val_114 1
+val_487 1
+val_485 1
+val_28 1
+val_484 1
+val_181 1
+val_275 1
+val_274 1
+val_183 1
+val_483 1
+val_27 1
+val_266 1
+val_482 1
+val_263 1
+val_262 1
+val_260 1
+val_481 1
+val_258 1
+val_257 1
+val_116 1
+val_479 1
+val_252 1
+val_249 1
+val_248 1
+val_247 1
+val_244 1
+val_92 1
+val_241 1
+val_477 1
+val_475 1
+val_472 1
+val_470 1
+val_235 1
+val_47 1
+val_186 1
+val_126 1
+val_228 1
+val_226 1
+val_131 1
+val_467 1
+val_222 1
+val_133 1
+val_82 1
+val_218 1
+val_80 1
+val_460 1
+val_214 1
+val_8 1
+val_78 1
+val_189 1
+val_457 1
+val_455 1
+val_136 1
+val_202 1
+val_201 1
+val_453 1
+val_20 1
+val_2 1
+val_19 1
+val_452 1
+val_196 1
+val_449 1
+val_194 1
+val_190 1
+val_192 1
+val_448 1
+val_446 1
+val_444 1
+val_443 1
+val_44 1
+val_77 1
+val_143 1
+val_437 1
+val_436 1
+val_435 1
+val_432 1
+val_145 1
+val_150 1
+val_43 1
+val_10 1
+val_427 1
+val_74 1
+val_421 1
+val_9 1
+val_419 1
+val_418 1
+val_153 1
+val_105 1
+val_69 1
+val_411 1
+val_41 1
+val_155 1
+val_407 1
+val_156 1
+val_87 1
+val_157 1
+val_402 1
+val_158 1
+val_400 1
+val_4 1
+val_66 1
+val_65 1
+val_160 1
+val_64 1
+val_394 1
+val_393 1
+val_392 1
+val_389 1
+val_386 1
+val_162 1
+val_86 1
+val_379 1
+val_378 1
+val_377 1
+val_375 1
+val_374 1
+val_373 1
+val_57 1
+val_163 1
+val_368 1
+val_54 1
+val_366 1
+val_365 1
+val_364 1
+val_362 1
+val_360 1
+val_356 1
+val_53 1
+val_351 1
+val_166 1
+val_168 1
+val_345 1
+val_85 1
+val_11 1
+val_341 1
+val_34 1
+val_339 1
+val_338 1
+val_336 1
+val_335 1
+val_111 1
+val_332 1
+val_497 1
+val_33 1
+val_17 1
+val_496 1
+val_323 1
+val_495 1
+val_494 1
+val_170 1
+val_493 1
+val_177 1
+val_315 1
+val_178 1
+val_310 1
+val_96 1
+val_308 1
+val_491 1
+val_306 1
+val_305 1
+val_302 1
+val_30 1
+val_180 1
+val_296 1
+val_292 1
+val_291 1
+val_289 1
+val_98 2
+val_97 2
+val_95 2
+val_84 2
+val_83 2
+val_76 2
+val_72 2
+val_67 2
+val_58 2
+val_51 2
+val_492 2
+val_478 2
+val_463 2
+val_462 2
+val_459 2
+val_458 2
+val_439 2
+val_429 2
+val_424 2
+val_42 2
+val_414 2
+val_413 2
+val_404 2
+val_399 2
+val_397 2
+val_395 2
+val_382 2
+val_37 2
+val_367 2
+val_353 2
+val_344 2
+val_342 2
+val_333 2
+val_331 2
+val_325 2
+val_322 2
+val_321 2
+val_317 2
+val_309 2
+val_307 2
+val_288 2
+val_282 2
+val_281 2
+val_280 2
+val_278 2
+val_272 2
+val_265 2
+val_26 2
+val_256 2
+val_255 2
+val_242 2
+val_24 2
+val_239 2
+val_238 2
+val_237 2
+val_233 2
+val_229 2
+val_224 2
+val_223 2
+val_221 2
+val_219 2
+val_217 2
+val_216 2
+val_213 2
+val_209 2
+val_207 2
+val_205 2
+val_203 2
+val_200 2
+val_197 2
+val_195 2
+val_191 2
+val_18 2
+val_179 2
+val_176 2
+val_175 2
+val_174 2
+val_172 2
+val_165 2
+val_164 2
+val_152 2
+val_15 2
+val_149 2
+val_146 2
+val_137 2
+val_134 2
+val_129 2
+val_125 2
+val_120 2
+val_12 2
+val_118 2
+val_113 2
+val_104 2
+val_103 2
+val_100 2
+val_498 3
+val_369 3
+val_384 3
+val_396 3
+val_403 3
+val_409 3
+val_417 3
+val_5 3
+val_430 3
+val_70 3
+val_119 3
+val_0 3
+val_431 3
+val_438 3
+val_480 3
+val_193 3
+val_199 3
+val_208 3
+val_187 3
+val_273 3
+val_298 3
+val_454 3
+val_311 3
+val_316 3
+val_466 3
+val_90 3
+val_128 3
+val_318 3
+val_327 3
+val_167 3
+val_35 3
+val_468 4
+val_489 4
+val_406 4
+val_169 4
+val_138 4
+val_277 4
+val_469 5
+val_401 5
+val_230 5
+val_348 5
+PREHOOK: query: -- dyn partitions
+CREATE TABLE tmp_src_part (c string) PARTITIONED BY (d int)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- dyn partitions
+CREATE TABLE tmp_src_part (c string) PARTITIONED BY (d int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@tmp_src_part
+PREHOOK: query: EXPLAIN INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME tmp_src))) (TOK_INSERT (TOK_INSERT_INTO (TOK_TAB (TOK_TABNAME tmp_src_part) (TOK_PARTSPEC (TOK_PARTVAL d)))) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
+ Stage-5
+ Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
+ Stage-0 depends on stages: Stage-2
+ Stage-3 depends on stages: Stage-0
+ Stage-4
+ Stage-6
+ Stage-7 depends on stages: Stage-6
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ tmp_src
+ TableScan
+ alias: tmp_src
+ Select Operator
+ expressions:
+ expr: value
+ type: string
+ expr: cnt
+ type: bigint
+ outputColumnNames: _col0, _col1
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src_part
+
+ Stage: Stage-8
+ Conditional Operator
+
+ Stage: Stage-5
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-2
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ partition:
+ d
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src_part
+
+ Stage: Stage-3
+ Stats-Aggr Operator
+
+ Stage: Stage-4
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src_part
+
+ Stage: Stage-6
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.tmp_src_part
+
+ Stage: Stage-7
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_src
+PREHOOK: Output: default@tmp_src_part
+POSTHOOK: query: INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_src
+POSTHOOK: Output: default@tmp_src_part@d=1
+POSTHOOK: Output: default@tmp_src_part@d=2
+POSTHOOK: Output: default@tmp_src_part@d=3
+POSTHOOK: Output: default@tmp_src_part@d=4
+POSTHOOK: Output: default@tmp_src_part@d=5
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: SELECT * FROM tmp_src_part
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_src_part
+PREHOOK: Input: default@tmp_src_part@d=1
+PREHOOK: Input: default@tmp_src_part@d=2
+PREHOOK: Input: default@tmp_src_part@d=3
+PREHOOK: Input: default@tmp_src_part@d=4
+PREHOOK: Input: default@tmp_src_part@d=5
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM tmp_src_part
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_src_part
+POSTHOOK: Input: default@tmp_src_part@d=1
+POSTHOOK: Input: default@tmp_src_part@d=2
+POSTHOOK: Input: default@tmp_src_part@d=3
+POSTHOOK: Input: default@tmp_src_part@d=4
+POSTHOOK: Input: default@tmp_src_part@d=5
+#### A masked pattern was here ####
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+val_490 1
+val_287 1
+val_286 1
+val_285 1
+val_284 1
+val_283 1
+val_114 1
+val_487 1
+val_485 1
+val_28 1
+val_484 1
+val_181 1
+val_275 1
+val_274 1
+val_183 1
+val_483 1
+val_27 1
+val_266 1
+val_482 1
+val_263 1
+val_262 1
+val_260 1
+val_481 1
+val_258 1
+val_257 1
+val_116 1
+val_479 1
+val_252 1
+val_249 1
+val_248 1
+val_247 1
+val_244 1
+val_92 1
+val_241 1
+val_477 1
+val_475 1
+val_472 1
+val_470 1
+val_235 1
+val_47 1
+val_186 1
+val_126 1
+val_228 1
+val_226 1
+val_131 1
+val_467 1
+val_222 1
+val_133 1
+val_82 1
+val_218 1
+val_80 1
+val_460 1
+val_214 1
+val_8 1
+val_78 1
+val_189 1
+val_457 1
+val_455 1
+val_136 1
+val_202 1
+val_201 1
+val_453 1
+val_20 1
+val_2 1
+val_19 1
+val_452 1
+val_196 1
+val_449 1
+val_194 1
+val_190 1
+val_192 1
+val_448 1
+val_446 1
+val_444 1
+val_443 1
+val_44 1
+val_77 1
+val_143 1
+val_437 1
+val_436 1
+val_435 1
+val_432 1
+val_145 1
+val_150 1
+val_43 1
+val_10 1
+val_427 1
+val_74 1
+val_421 1
+val_9 1
+val_419 1
+val_418 1
+val_153 1
+val_105 1
+val_69 1
+val_411 1
+val_41 1
+val_155 1
+val_407 1
+val_156 1
+val_87 1
+val_157 1
+val_402 1
+val_158 1
+val_400 1
+val_4 1
+val_66 1
+val_65 1
+val_160 1
+val_64 1
+val_394 1
+val_393 1
+val_392 1
+val_389 1
+val_386 1
+val_162 1
+val_86 1
+val_379 1
+val_378 1
+val_377 1
+val_375 1
+val_374 1
+val_373 1
+val_57 1
+val_163 1
+val_368 1
+val_54 1
+val_366 1
+val_365 1
+val_364 1
+val_362 1
+val_360 1
+val_356 1
+val_53 1
+val_351 1
+val_166 1
+val_168 1
+val_345 1
+val_85 1
+val_11 1
+val_341 1
+val_34 1
+val_339 1
+val_338 1
+val_336 1
+val_335 1
+val_111 1
+val_332 1
+val_497 1
+val_33 1
+val_17 1
+val_496 1
+val_323 1
+val_495 1
+val_494 1
+val_170 1
+val_493 1
+val_177 1
+val_315 1
+val_178 1
+val_310 1
+val_96 1
+val_308 1
+val_491 1
+val_306 1
+val_305 1
+val_302 1
+val_30 1
+val_180 1
+val_296 1
+val_292 1
+val_291 1
+val_289 1
+val_98 2
+val_97 2
+val_95 2
+val_84 2
+val_83 2
+val_76 2
+val_72 2
+val_67 2
+val_58 2
+val_51 2
+val_492 2
+val_478 2
+val_463 2
+val_462 2
+val_459 2
+val_458 2
+val_439 2
+val_429 2
+val_424 2
+val_42 2
+val_414 2
+val_413 2
+val_404 2
+val_399 2
+val_397 2
+val_395 2
+val_382 2
+val_37 2
+val_367 2
+val_353 2
+val_344 2
+val_342 2
+val_333 2
+val_331 2
+val_325 2
+val_322 2
+val_321 2
+val_317 2
+val_309 2
+val_307 2
+val_288 2
+val_282 2
+val_281 2
+val_280 2
+val_278 2
+val_272 2
+val_265 2
+val_26 2
+val_256 2
+val_255 2
+val_242 2
+val_24 2
+val_239 2
+val_238 2
+val_237 2
+val_233 2
+val_229 2
+val_224 2
+val_223 2
+val_221 2
+val_219 2
+val_217 2
+val_216 2
+val_213 2
+val_209 2
+val_207 2
+val_205 2
+val_203 2
+val_200 2
+val_197 2
+val_195 2
+val_191 2
+val_18 2
+val_179 2
+val_176 2
+val_175 2
+val_174 2
+val_172 2
+val_165 2
+val_164 2
+val_152 2
+val_15 2
+val_149 2
+val_146 2
+val_137 2
+val_134 2
+val_129 2
+val_125 2
+val_120 2
+val_12 2
+val_118 2
+val_113 2
+val_104 2
+val_103 2
+val_100 2
+val_498 3
+val_369 3
+val_384 3
+val_396 3
+val_403 3
+val_409 3
+val_417 3
+val_5 3
+val_430 3
+val_70 3
+val_119 3
+val_0 3
+val_431 3
+val_438 3
+val_480 3
+val_193 3
+val_199 3
+val_208 3
+val_187 3
+val_273 3
+val_298 3
+val_454 3
+val_311 3
+val_316 3
+val_466 3
+val_90 3
+val_128 3
+val_318 3
+val_327 3
+val_167 3
+val_35 3
+val_468 4
+val_489 4
+val_406 4
+val_169 4
+val_138 4
+val_277 4
+val_469 5
+val_401 5
+val_230 5
+val_348 5
+PREHOOK: query: -- multi insert
+CREATE TABLE even (c int, d string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- multi insert
+CREATE TABLE even (c int, d string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@even
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: CREATE TABLE odd (c int, d string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE TABLE odd (c int, d string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@odd
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: EXPLAIN
+FROM src
+INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
+INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN
+FROM src
+INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
+INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_INSERT_INTO (TOK_TAB (TOK_TABNAME even))) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_WHERE (= (% (TOK_TABLE_OR_COL key) 2) 0))) (TOK_INSERT (TOK_INSERT_INTO (TOK_TAB (TOK_TABNAME odd))) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_WHERE (= (% (TOK_TABLE_OR_COL key) 2) 1))))
+
+STAGE DEPENDENCIES:
+ Stage-2 is a root stage
+ Stage-9 depends on stages: Stage-2 , consists of Stage-6, Stage-5, Stage-7
+ Stage-6
+ Stage-3 depends on stages: Stage-6, Stage-5, Stage-8, Stage-12, Stage-11, Stage-14
+ Stage-0 depends on stages: Stage-3
+ Stage-4 depends on stages: Stage-0
+ Stage-1 depends on stages: Stage-3
+ Stage-10 depends on stages: Stage-1
+ Stage-5
+ Stage-7
+ Stage-8 depends on stages: Stage-7
+ Stage-15 depends on stages: Stage-2 , consists of Stage-12, Stage-11, Stage-13
+ Stage-12
+ Stage-11
+ Stage-13
+ Stage-14 depends on stages: Stage-13
+
+STAGE PLANS:
+ Stage: Stage-2
+ Tez
+ Alias -> Map Operator Tree:
+ src
+ TableScan
+ alias: src
+ Filter Operator
+ predicate:
+ expr: ((key % 2) = 0)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: UDFToInteger(key)
+ type: int
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ File Output Operator
+ compressed: false
+ GlobalTableId: 1
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.even
+ Filter Operator
+ predicate:
+ expr: ((key % 2) = 1)
+ type: boolean
+ Select Operator
+ expressions:
+ expr: UDFToInteger(key)
+ type: int
+ expr: value
+ type: string
+ outputColumnNames: _col0, _col1
+ File Output Operator
+ compressed: false
+ GlobalTableId: 2
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.odd
+
+ Stage: Stage-9
+ Conditional Operator
+
+ Stage: Stage-6
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-3
+ Dependency Collection
+
+ Stage: Stage-0
+ Move Operator
+ tables:
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.even
+
+ Stage: Stage-4
+ Stats-Aggr Operator
+
+ Stage: Stage-1
+ Move Operator
+ tables:
+ replace: false
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.odd
+
+ Stage: Stage-10
+ Stats-Aggr Operator
+
+ Stage: Stage-5
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.even
+
+ Stage: Stage-7
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.even
+
+ Stage: Stage-8
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-15
+ Conditional Operator
+
+ Stage: Stage-12
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+ Stage: Stage-11
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.odd
+
+ Stage: Stage-13
+ Tez
+ Alias -> Map Operator Tree:
+#### A masked pattern was here ####
+ TableScan
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.odd
+
+ Stage: Stage-14
+ Move Operator
+ files:
+ hdfs directory: true
+#### A masked pattern was here ####
+
+PREHOOK: query: FROM src
+INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
+INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@even
+PREHOOK: Output: default@odd
+POSTHOOK: query: FROM src
+INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
+INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@even
+POSTHOOK: Output: default@odd
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: SELECT * FROM even
+PREHOOK: type: QUERY
+PREHOOK: Input: default@even
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM even
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@even
+#### A masked pattern was here ####
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+238 val_238
+86 val_86
+278 val_278
+98 val_98
+484 val_484
+150 val_150
+224 val_224
+66 val_66
+128 val_128
+146 val_146
+406 val_406
+374 val_374
+152 val_152
+82 val_82
+166 val_166
+430 val_430
+252 val_252
+292 val_292
+338 val_338
+446 val_446
+394 val_394
+482 val_482
+174 val_174
+494 val_494
+466 val_466
+208 val_208
+174 val_174
+396 val_396
+162 val_162
+266 val_266
+342 val_342
+0 val_0
+128 val_128
+316 val_316
+302 val_302
+438 val_438
+170 val_170
+20 val_20
+378 val_378
+92 val_92
+72 val_72
+4 val_4
+280 val_280
+208 val_208
+356 val_356
+382 val_382
+498 val_498
+386 val_386
+192 val_192
+286 val_286
+176 val_176
+54 val_54
+138 val_138
+216 val_216
+430 val_430
+278 val_278
+176 val_176
+318 val_318
+332 val_332
+180 val_180
+284 val_284
+12 val_12
+230 val_230
+260 val_260
+404 val_404
+384 val_384
+272 val_272
+138 val_138
+84 val_84
+348 val_348
+466 val_466
+58 val_58
+8 val_8
+230 val_230
+208 val_208
+348 val_348
+24 val_24
+172 val_172
+42 val_42
+158 val_158
+496 val_496
+0 val_0
+322 val_322
+468 val_468
+454 val_454
+100 val_100
+298 val_298
+418 val_418
+96 val_96
+26 val_26
+230 val_230
+120 val_120
+404 val_404
+436 val_436
+156 val_156
+468 val_468
+308 val_308
+196 val_196
+288 val_288
+98 val_98
+282 val_282
+318 val_318
+318 val_318
+470 val_470
+316 val_316
+0 val_0
+490 val_490
+364 val_364
+118 val_118
+134 val_134
+282 val_282
+138 val_138
+238 val_238
+118 val_118
+72 val_72
+90 val_90
+10 val_10
+306 val_306
+224 val_224
+242 val_242
+392 val_392
+272 val_272
+242 val_242
+452 val_452
+226 val_226
+402 val_402
+396 val_396
+58 val_58
+336 val_336
+168 val_168
+34 val_34
+472 val_472
+322 val_322
+498 val_498
+160 val_160
+42 val_42
+430 val_430
+458 val_458
+78 val_78
+76 val_76
+492 val_492
+218 val_218
+228 val_228
+138 val_138
+30 val_30
+64 val_64
+468 val_468
+76 val_76
+74 val_74
+342 val_342
+230 val_230
+368 val_368
+296 val_296
+216 val_216
+344 val_344
+274 val_274
+116 val_116
+256 val_256
+70 val_70
+480 val_480
+288 val_288
+244 val_244
+438 val_438
+128 val_128
+432 val_432
+202 val_202
+316 val_316
+280 val_280
+2 val_2
+80 val_80
+44 val_44
+104 val_104
+466 val_466
+366 val_366
+406 val_406
+190 val_190
+406 val_406
+114 val_114
+258 val_258
+90 val_90
+262 val_262
+348 val_348
+424 val_424
+12 val_12
+396 val_396
+164 val_164
+454 val_454
+478 val_478
+298 val_298
+164 val_164
+424 val_424
+382 val_382
+70 val_70
+480 val_480
+24 val_24
+104 val_104
+70 val_70
+438 val_438
+414 val_414
+200 val_200
+360 val_360
+248 val_248
+444 val_444
+120 val_120
+230 val_230
+478 val_478
+178 val_178
+468 val_468
+310 val_310
+460 val_460
+480 val_480
+136 val_136
+172 val_172
+214 val_214
+462 val_462
+406 val_406
+454 val_454
+384 val_384
+256 val_256
+26 val_26
+134 val_134
+384 val_384
+18 val_18
+462 val_462
+492 val_492
+100 val_100
+298 val_298
+498 val_498
+146 val_146
+458 val_458
+362 val_362
+186 val_186
+348 val_348
+18 val_18
+344 val_344
+84 val_84
+28 val_28
+448 val_448
+152 val_152
+348 val_348
+194 val_194
+414 val_414
+222 val_222
+126 val_126
+90 val_90
+400 val_400
+200 val_200
+PREHOOK: query: SELECT * FROM odd
+PREHOOK: type: QUERY
+PREHOOK: Input: default@odd
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT * FROM odd
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@odd
+#### A masked pattern was here ####
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+311 val_311
+27 val_27
+165 val_165
+409 val_409
+255 val_255
+265 val_265
+193 val_193
+401 val_401
+273 val_273
+369 val_369
+213 val_213
+429 val_429
+469 val_469
+145 val_145
+495 val_495
+37 val_37
+327 val_327
+281 val_281
+277 val_277
+209 val_209
+15 val_15
+403 val_403
+417 val_417
+219 val_219
+287 val_287
+153 val_153
+193 val_193
+459 val_459
+237 val_237
+413 val_413
+207 val_207
+199 val_199
+399 val_399
+247 val_247
+417 val_417
+489 val_489
+377 val_377
+397 val_397
+309 val_309
+365 val_365
+439 val_439
+367 val_367
+325 val_325
+167 val_167
+195 val_195
+475 val_475
+17 val_17
+113 val_113
+155 val_155
+203 val_203
+339 val_339
+455 val_455
+311 val_311
+57 val_57
+205 val_205
+149 val_149
+345 val_345
+129 val_129
+489 val_489
+157 val_157
+221 val_221
+111 val_111
+47 val_47
+35 val_35
+427 val_427
+277 val_277
+399 val_399
+169 val_169
+125 val_125
+437 val_437
+469 val_469
+187 val_187
+459 val_459
+51 val_51
+103 val_103
+239 val_239
+213 val_213
+289 val_289
+221 val_221
+65 val_65
+311 val_311
+275 val_275
+137 val_137
+241 val_241
+83 val_83
+333 val_333
+181 val_181
+67 val_67
+489 val_489
+353 val_353
+373 val_373
+217 val_217
+411 val_411
+463 val_463
+431 val_431
+179 val_179
+129 val_129
+119 val_119
+197 val_197
+393 val_393
+199 val_199
+191 val_191
+165 val_165
+327 val_327
+205 val_205
+131 val_131
+51 val_51
+43 val_43
+469 val_469
+95 val_95
+481 val_481
+457 val_457
+197 val_197
+187 val_187
+409 val_409
+137 val_137
+369 val_369
+169 val_169
+413 val_413
+85 val_85
+77 val_77
+87 val_87
+179 val_179
+395 val_395
+419 val_419
+15 val_15
+307 val_307
+19 val_19
+435 val_435
+277 val_277
+273 val_273
+309 val_309
+389 val_389
+327 val_327
+369 val_369
+331 val_331
+401 val_401
+177 val_177
+5 val_5
+497 val_497
+317 val_317
+395 val_395
+35 val_35
+95 val_95
+11 val_11
+229 val_229
+233 val_233
+143 val_143
+195 val_195
+321 val_321
+119 val_119
+489 val_489
+41 val_41
+223 val_223
+149 val_149
+449 val_449
+453 val_453
+209 val_209
+69 val_69
+33 val_33
+103 val_103
+113 val_113
+367 val_367
+167 val_167
+219 val_219
+239 val_239
+485 val_485
+223 val_223
+263 val_263
+487 val_487
+401 val_401
+191 val_191
+5 val_5
+467 val_467
+229 val_229
+469 val_469
+463 val_463
+35 val_35
+283 val_283
+331 val_331
+235 val_235
+193 val_193
+321 val_321
+335 val_335
+175 val_175
+403 val_403
+483 val_483
+53 val_53
+105 val_105
+257 val_257
+409 val_409
+401 val_401
+203 val_203
+201 val_201
+217 val_217
+431 val_431
+125 val_125
+431 val_431
+187 val_187
+5 val_5
+397 val_397
+291 val_291
+351 val_351
+255 val_255
+163 val_163
+119 val_119
+491 val_491
+237 val_237
+439 val_439
+479 val_479
+305 val_305
+417 val_417
+199 val_199
+429 val_429
+169 val_169
+443 val_443
+323 val_323
+325 val_325
+277 val_277
+317 val_317
+333 val_333
+493 val_493
+207 val_207
+249 val_249
+265 val_265
+83 val_83
+353 val_353
+233 val_233
+133 val_133
+175 val_175
+189 val_189
+375 val_375
+401 val_401
+421 val_421
+407 val_407
+67 val_67
+379 val_379
+9 val_9
+341 val_341
+285 val_285
+167 val_167
+273 val_273
+183 val_183
+281 val_281
+97 val_97
+469 val_469
+315 val_315
+37 val_37
+307 val_307
+477 val_477
+169 val_169
+403 val_403
+97 val_97
+PREHOOK: query: -- drop the tables
+DROP TABLE even
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@even
+PREHOOK: Output: default@even
+POSTHOOK: query: -- drop the tables
+DROP TABLE even
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@even
+POSTHOOK: Output: default@even
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: DROP TABLE odd
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@odd
+PREHOOK: Output: default@odd
+POSTHOOK: query: DROP TABLE odd
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@odd
+POSTHOOK: Output: default@odd
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: DROP TABLE tmp_src
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp_src
+PREHOOK: Output: default@tmp_src
+POSTHOOK: query: DROP TABLE tmp_src
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tmp_src
+POSTHOOK: Output: default@tmp_src
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+PREHOOK: query: DROP TABLE tmp_src_part
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@tmp_src_part
+PREHOOK: Output: default@tmp_src_part
+POSTHOOK: query: DROP TABLE tmp_src_part
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@tmp_src_part
+POSTHOOK: Output: default@tmp_src_part
+POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
+POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
diff --git ql/src/test/results/clientpositive/tez/tez_insert_overwrite_local_directory_1.q.out ql/src/test/results/clientpositive/tez/tez_insert_overwrite_local_directory_1.q.out
new file mode 100644
index 0000000..c42e99d
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/tez_insert_overwrite_local_directory_1.q.out
@@ -0,0 +1,20 @@
+#### A masked pattern was here ####
+select * from src order by key limit 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+select * from src order by key limit 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0val_0
+0val_0
+0val_0
+10val_10
+100val_100
+100val_100
+103val_103
+103val_103
+104val_104
+104val_104
+#### A masked pattern was here ####
diff --git ql/src/test/results/clientpositive/tez/tez_join_tests.q.out ql/src/test/results/clientpositive/tez/tez_join_tests.q.out
new file mode 100644
index 0000000..1dda624
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/tez_join_tests.q.out
@@ -0,0 +1,2247 @@
+PREHOOK: query: explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_LEFTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL b) key))))) x) (TOK_TABREF (TOK_TABNAME src) c) (= (. (TOK_TABLE_OR_COL x) value) (. (TOK_TABLE_OR_COL c) value)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL x) key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ b
+ TableScan
+ alias: b
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ value expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ Alias -> Map Operator Tree:
+ a
+ TableScan
+ alias: a
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 0
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Left Outer Join0 to 1
+ condition expressions:
+ 0
+ 1 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col4, _col5
+ Select Operator
+ expressions:
+ expr: _col4
+ type: string
+ expr: _col5
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col1
+ type: string
+ tag: 0
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Alias -> Map Operator Tree:
+ c
+ TableScan
+ alias: c
+ Reduce Output Operator
+ key expressions:
+ expr: value
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: value
+ type: string
+ tag: 1
+ value expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Right Outer Join0 to 1
+ condition expressions:
+ 0 {VALUE._col0} {VALUE._col1}
+ 1 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL NULL 0 val_0
+NULL NULL 97 val_97
+NULL NULL 97 val_97
+NULL NULL 96 val_96
+NULL NULL 95 val_95
+NULL NULL 95 val_95
+NULL NULL 92 val_92
+NULL NULL 90 val_90
+NULL NULL 90 val_90
+NULL NULL 90 val_90
+NULL NULL 9 val_9
+NULL NULL 87 val_87
+NULL NULL 86 val_86
+NULL NULL 85 val_85
+NULL NULL 84 val_84
+NULL NULL 84 val_84
+NULL NULL 83 val_83
+NULL NULL 83 val_83
+NULL NULL 82 val_82
+NULL NULL 80 val_80
+NULL NULL 8 val_8
+NULL NULL 78 val_78
+NULL NULL 77 val_77
+NULL NULL 76 val_76
+NULL NULL 76 val_76
+NULL NULL 74 val_74
+NULL NULL 72 val_72
+NULL NULL 72 val_72
+NULL NULL 70 val_70
+NULL NULL 70 val_70
+NULL NULL 70 val_70
+NULL NULL 69 val_69
+NULL NULL 67 val_67
+NULL NULL 67 val_67
+NULL NULL 65 val_65
+NULL NULL 64 val_64
+NULL NULL 58 val_58
+NULL NULL 58 val_58
+NULL NULL 57 val_57
+NULL NULL 54 val_54
+NULL NULL 53 val_53
+NULL NULL 51 val_51
+NULL NULL 51 val_51
+NULL NULL 5 val_5
+NULL NULL 5 val_5
+NULL NULL 5 val_5
+NULL NULL 498 val_498
+NULL NULL 498 val_498
+NULL NULL 498 val_498
+NULL NULL 497 val_497
+NULL NULL 496 val_496
+NULL NULL 495 val_495
+NULL NULL 494 val_494
+NULL NULL 493 val_493
+NULL NULL 492 val_492
+NULL NULL 492 val_492
+NULL NULL 491 val_491
+NULL NULL 490 val_490
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 487 val_487
+NULL NULL 485 val_485
+NULL NULL 484 val_484
+NULL NULL 483 val_483
+NULL NULL 482 val_482
+NULL NULL 481 val_481
+NULL NULL 480 val_480
+NULL NULL 480 val_480
+NULL NULL 480 val_480
+NULL NULL 479 val_479
+NULL NULL 478 val_478
+NULL NULL 478 val_478
+NULL NULL 477 val_477
+NULL NULL 475 val_475
+NULL NULL 472 val_472
+NULL NULL 470 val_470
+NULL NULL 47 val_47
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 467 val_467
+NULL NULL 466 val_466
+NULL NULL 466 val_466
+NULL NULL 466 val_466
+NULL NULL 463 val_463
+NULL NULL 463 val_463
+NULL NULL 462 val_462
+NULL NULL 462 val_462
+NULL NULL 460 val_460
+NULL NULL 459 val_459
+NULL NULL 459 val_459
+NULL NULL 458 val_458
+NULL NULL 458 val_458
+NULL NULL 457 val_457
+NULL NULL 455 val_455
+NULL NULL 454 val_454
+NULL NULL 454 val_454
+NULL NULL 454 val_454
+NULL NULL 453 val_453
+NULL NULL 452 val_452
+NULL NULL 449 val_449
+NULL NULL 448 val_448
+NULL NULL 446 val_446
+NULL NULL 444 val_444
+NULL NULL 443 val_443
+NULL NULL 44 val_44
+NULL NULL 439 val_439
+NULL NULL 439 val_439
+NULL NULL 438 val_438
+NULL NULL 438 val_438
+NULL NULL 438 val_438
+NULL NULL 437 val_437
+NULL NULL 436 val_436
+NULL NULL 435 val_435
+NULL NULL 432 val_432
+NULL NULL 431 val_431
+NULL NULL 431 val_431
+NULL NULL 431 val_431
+NULL NULL 430 val_430
+NULL NULL 430 val_430
+NULL NULL 430 val_430
+NULL NULL 43 val_43
+NULL NULL 429 val_429
+NULL NULL 429 val_429
+NULL NULL 427 val_427
+NULL NULL 424 val_424
+NULL NULL 424 val_424
+NULL NULL 421 val_421
+NULL NULL 42 val_42
+NULL NULL 42 val_42
+NULL NULL 419 val_419
+NULL NULL 418 val_418
+NULL NULL 417 val_417
+NULL NULL 417 val_417
+NULL NULL 417 val_417
+NULL NULL 414 val_414
+NULL NULL 414 val_414
+NULL NULL 413 val_413
+NULL NULL 413 val_413
+NULL NULL 411 val_411
+NULL NULL 41 val_41
+NULL NULL 409 val_409
+NULL NULL 409 val_409
+NULL NULL 409 val_409
+NULL NULL 407 val_407
+NULL NULL 404 val_404
+NULL NULL 404 val_404
+NULL NULL 403 val_403
+NULL NULL 403 val_403
+NULL NULL 403 val_403
+NULL NULL 402 val_402
+NULL NULL 400 val_400
+NULL NULL 4 val_4
+NULL NULL 399 val_399
+NULL NULL 399 val_399
+NULL NULL 397 val_397
+NULL NULL 397 val_397
+NULL NULL 396 val_396
+NULL NULL 396 val_396
+NULL NULL 396 val_396
+NULL NULL 395 val_395
+NULL NULL 395 val_395
+NULL NULL 394 val_394
+NULL NULL 393 val_393
+NULL NULL 392 val_392
+NULL NULL 389 val_389
+NULL NULL 386 val_386
+NULL NULL 384 val_384
+NULL NULL 384 val_384
+NULL NULL 384 val_384
+NULL NULL 382 val_382
+NULL NULL 382 val_382
+NULL NULL 379 val_379
+NULL NULL 378 val_378
+NULL NULL 377 val_377
+NULL NULL 375 val_375
+NULL NULL 374 val_374
+NULL NULL 373 val_373
+NULL NULL 37 val_37
+NULL NULL 37 val_37
+NULL NULL 368 val_368
+NULL NULL 367 val_367
+NULL NULL 367 val_367
+NULL NULL 366 val_366
+NULL NULL 365 val_365
+NULL NULL 364 val_364
+NULL NULL 362 val_362
+NULL NULL 360 val_360
+NULL NULL 356 val_356
+NULL NULL 353 val_353
+NULL NULL 353 val_353
+NULL NULL 351 val_351
+NULL NULL 35 val_35
+NULL NULL 35 val_35
+NULL NULL 35 val_35
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 345 val_345
+NULL NULL 344 val_344
+NULL NULL 344 val_344
+NULL NULL 342 val_342
+NULL NULL 342 val_342
+NULL NULL 341 val_341
+NULL NULL 34 val_34
+NULL NULL 339 val_339
+NULL NULL 338 val_338
+NULL NULL 336 val_336
+NULL NULL 335 val_335
+NULL NULL 333 val_333
+NULL NULL 333 val_333
+NULL NULL 332 val_332
+NULL NULL 331 val_331
+NULL NULL 331 val_331
+NULL NULL 33 val_33
+NULL NULL 327 val_327
+NULL NULL 327 val_327
+NULL NULL 327 val_327
+NULL NULL 325 val_325
+NULL NULL 325 val_325
+NULL NULL 323 val_323
+NULL NULL 322 val_322
+NULL NULL 322 val_322
+NULL NULL 321 val_321
+NULL NULL 321 val_321
+NULL NULL 318 val_318
+NULL NULL 318 val_318
+NULL NULL 318 val_318
+NULL NULL 317 val_317
+NULL NULL 317 val_317
+NULL NULL 316 val_316
+NULL NULL 316 val_316
+NULL NULL 316 val_316
+NULL NULL 315 val_315
+NULL NULL 310 val_310
+NULL NULL 309 val_309
+NULL NULL 309 val_309
+NULL NULL 308 val_308
+NULL NULL 307 val_307
+NULL NULL 307 val_307
+NULL NULL 306 val_306
+NULL NULL 305 val_305
+NULL NULL 302 val_302
+NULL NULL 30 val_30
+NULL NULL 298 val_298
+NULL NULL 298 val_298
+NULL NULL 298 val_298
+NULL NULL 296 val_296
+NULL NULL 292 val_292
+NULL NULL 291 val_291
+NULL NULL 289 val_289
+NULL NULL 288 val_288
+NULL NULL 288 val_288
+NULL NULL 287 val_287
+NULL NULL 286 val_286
+NULL NULL 285 val_285
+NULL NULL 284 val_284
+NULL NULL 283 val_283
+NULL NULL 282 val_282
+NULL NULL 282 val_282
+NULL NULL 281 val_281
+NULL NULL 281 val_281
+NULL NULL 280 val_280
+NULL NULL 280 val_280
+NULL NULL 28 val_28
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 275 val_275
+NULL NULL 274 val_274
+NULL NULL 272 val_272
+NULL NULL 272 val_272
+NULL NULL 27 val_27
+NULL NULL 266 val_266
+NULL NULL 265 val_265
+NULL NULL 265 val_265
+NULL NULL 263 val_263
+NULL NULL 262 val_262
+NULL NULL 260 val_260
+NULL NULL 26 val_26
+NULL NULL 26 val_26
+NULL NULL 258 val_258
+NULL NULL 257 val_257
+NULL NULL 256 val_256
+NULL NULL 256 val_256
+NULL NULL 252 val_252
+NULL NULL 249 val_249
+NULL NULL 248 val_248
+NULL NULL 247 val_247
+NULL NULL 244 val_244
+NULL NULL 242 val_242
+NULL NULL 242 val_242
+NULL NULL 241 val_241
+NULL NULL 24 val_24
+NULL NULL 24 val_24
+NULL NULL 239 val_239
+NULL NULL 239 val_239
+NULL NULL 237 val_237
+NULL NULL 237 val_237
+NULL NULL 235 val_235
+NULL NULL 233 val_233
+NULL NULL 233 val_233
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 229 val_229
+NULL NULL 229 val_229
+NULL NULL 228 val_228
+NULL NULL 226 val_226
+NULL NULL 223 val_223
+NULL NULL 223 val_223
+NULL NULL 222 val_222
+NULL NULL 221 val_221
+NULL NULL 221 val_221
+NULL NULL 219 val_219
+NULL NULL 219 val_219
+NULL NULL 218 val_218
+NULL NULL 217 val_217
+NULL NULL 217 val_217
+NULL NULL 216 val_216
+NULL NULL 216 val_216
+NULL NULL 214 val_214
+NULL NULL 209 val_209
+NULL NULL 209 val_209
+NULL NULL 208 val_208
+NULL NULL 208 val_208
+NULL NULL 208 val_208
+NULL NULL 207 val_207
+NULL NULL 207 val_207
+NULL NULL 205 val_205
+NULL NULL 205 val_205
+NULL NULL 203 val_203
+NULL NULL 203 val_203
+NULL NULL 202 val_202
+NULL NULL 201 val_201
+NULL NULL 200 val_200
+NULL NULL 200 val_200
+NULL NULL 20 val_20
+NULL NULL 2 val_2
+NULL NULL 199 val_199
+NULL NULL 199 val_199
+NULL NULL 199 val_199
+NULL NULL 197 val_197
+NULL NULL 197 val_197
+NULL NULL 196 val_196
+NULL NULL 195 val_195
+NULL NULL 195 val_195
+NULL NULL 194 val_194
+NULL NULL 193 val_193
+NULL NULL 193 val_193
+NULL NULL 193 val_193
+NULL NULL 192 val_192
+NULL NULL 191 val_191
+NULL NULL 191 val_191
+NULL NULL 190 val_190
+NULL NULL 19 val_19
+NULL NULL 189 val_189
+NULL NULL 187 val_187
+NULL NULL 187 val_187
+NULL NULL 187 val_187
+NULL NULL 186 val_186
+NULL NULL 183 val_183
+NULL NULL 181 val_181
+NULL NULL 180 val_180
+NULL NULL 18 val_18
+NULL NULL 18 val_18
+NULL NULL 179 val_179
+NULL NULL 179 val_179
+NULL NULL 178 val_178
+NULL NULL 177 val_177
+NULL NULL 176 val_176
+NULL NULL 176 val_176
+NULL NULL 175 val_175
+NULL NULL 175 val_175
+NULL NULL 174 val_174
+NULL NULL 174 val_174
+NULL NULL 172 val_172
+NULL NULL 172 val_172
+NULL NULL 170 val_170
+NULL NULL 17 val_17
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 168 val_168
+NULL NULL 167 val_167
+NULL NULL 167 val_167
+NULL NULL 167 val_167
+NULL NULL 166 val_166
+NULL NULL 165 val_165
+NULL NULL 165 val_165
+NULL NULL 164 val_164
+NULL NULL 164 val_164
+NULL NULL 163 val_163
+NULL NULL 162 val_162
+NULL NULL 160 val_160
+NULL NULL 158 val_158
+NULL NULL 157 val_157
+NULL NULL 156 val_156
+NULL NULL 155 val_155
+NULL NULL 153 val_153
+NULL NULL 152 val_152
+NULL NULL 152 val_152
+NULL NULL 15 val_15
+NULL NULL 15 val_15
+NULL NULL 149 val_149
+NULL NULL 149 val_149
+NULL NULL 145 val_145
+NULL NULL 143 val_143
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 137 val_137
+NULL NULL 137 val_137
+NULL NULL 136 val_136
+NULL NULL 134 val_134
+NULL NULL 134 val_134
+NULL NULL 133 val_133
+NULL NULL 131 val_131
+NULL NULL 129 val_129
+NULL NULL 129 val_129
+NULL NULL 126 val_126
+NULL NULL 125 val_125
+NULL NULL 125 val_125
+NULL NULL 120 val_120
+NULL NULL 120 val_120
+NULL NULL 12 val_12
+NULL NULL 12 val_12
+NULL NULL 119 val_119
+NULL NULL 119 val_119
+NULL NULL 119 val_119
+NULL NULL 118 val_118
+NULL NULL 118 val_118
+NULL NULL 116 val_116
+NULL NULL 114 val_114
+NULL NULL 113 val_113
+NULL NULL 113 val_113
+NULL NULL 111 val_111
+NULL NULL 11 val_11
+NULL NULL 105 val_105
+NULL NULL 104 val_104
+NULL NULL 104 val_104
+NULL NULL 103 val_103
+NULL NULL 103 val_103
+NULL NULL 100 val_100
+NULL NULL 100 val_100
+NULL NULL 10 val_10
+NULL NULL 0 val_0
+NULL NULL 0 val_0
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+146 val_146 146 val_146
+146 val_146 146 val_146
+146 val_146 146 val_146
+146 val_146 146 val_146
+150 val_150 150 val_150
+213 val_213 213 val_213
+213 val_213 213 val_213
+213 val_213 213 val_213
+213 val_213 213 val_213
+224 val_224 224 val_224
+224 val_224 224 val_224
+224 val_224 224 val_224
+224 val_224 224 val_224
+238 val_238 238 val_238
+238 val_238 238 val_238
+238 val_238 238 val_238
+238 val_238 238 val_238
+255 val_255 255 val_255
+255 val_255 255 val_255
+255 val_255 255 val_255
+255 val_255 255 val_255
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+278 val_278 278 val_278
+278 val_278 278 val_278
+278 val_278 278 val_278
+278 val_278 278 val_278
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+66 val_66 66 val_66
+98 val_98 98 val_98
+98 val_98 98 val_98
+98 val_98 98 val_98
+98 val_98 98 val_98
+PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL NULL 0 val_0
+NULL NULL 97 val_97
+NULL NULL 97 val_97
+NULL NULL 96 val_96
+NULL NULL 95 val_95
+NULL NULL 95 val_95
+NULL NULL 92 val_92
+NULL NULL 90 val_90
+NULL NULL 90 val_90
+NULL NULL 90 val_90
+NULL NULL 9 val_9
+NULL NULL 87 val_87
+NULL NULL 86 val_86
+NULL NULL 85 val_85
+NULL NULL 84 val_84
+NULL NULL 84 val_84
+NULL NULL 83 val_83
+NULL NULL 83 val_83
+NULL NULL 82 val_82
+NULL NULL 80 val_80
+NULL NULL 8 val_8
+NULL NULL 78 val_78
+NULL NULL 77 val_77
+NULL NULL 76 val_76
+NULL NULL 76 val_76
+NULL NULL 74 val_74
+NULL NULL 72 val_72
+NULL NULL 72 val_72
+NULL NULL 70 val_70
+NULL NULL 70 val_70
+NULL NULL 70 val_70
+NULL NULL 69 val_69
+NULL NULL 67 val_67
+NULL NULL 67 val_67
+NULL NULL 65 val_65
+NULL NULL 64 val_64
+NULL NULL 58 val_58
+NULL NULL 58 val_58
+NULL NULL 57 val_57
+NULL NULL 54 val_54
+NULL NULL 53 val_53
+NULL NULL 51 val_51
+NULL NULL 51 val_51
+NULL NULL 5 val_5
+NULL NULL 5 val_5
+NULL NULL 5 val_5
+NULL NULL 498 val_498
+NULL NULL 498 val_498
+NULL NULL 498 val_498
+NULL NULL 497 val_497
+NULL NULL 496 val_496
+NULL NULL 495 val_495
+NULL NULL 494 val_494
+NULL NULL 493 val_493
+NULL NULL 492 val_492
+NULL NULL 492 val_492
+NULL NULL 491 val_491
+NULL NULL 490 val_490
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 487 val_487
+NULL NULL 485 val_485
+NULL NULL 484 val_484
+NULL NULL 483 val_483
+NULL NULL 482 val_482
+NULL NULL 481 val_481
+NULL NULL 480 val_480
+NULL NULL 480 val_480
+NULL NULL 480 val_480
+NULL NULL 479 val_479
+NULL NULL 478 val_478
+NULL NULL 478 val_478
+NULL NULL 477 val_477
+NULL NULL 475 val_475
+NULL NULL 472 val_472
+NULL NULL 470 val_470
+NULL NULL 47 val_47
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 467 val_467
+NULL NULL 466 val_466
+NULL NULL 466 val_466
+NULL NULL 466 val_466
+NULL NULL 463 val_463
+NULL NULL 463 val_463
+NULL NULL 462 val_462
+NULL NULL 462 val_462
+NULL NULL 460 val_460
+NULL NULL 459 val_459
+NULL NULL 459 val_459
+NULL NULL 458 val_458
+NULL NULL 458 val_458
+NULL NULL 457 val_457
+NULL NULL 455 val_455
+NULL NULL 454 val_454
+NULL NULL 454 val_454
+NULL NULL 454 val_454
+NULL NULL 453 val_453
+NULL NULL 452 val_452
+NULL NULL 449 val_449
+NULL NULL 448 val_448
+NULL NULL 446 val_446
+NULL NULL 444 val_444
+NULL NULL 443 val_443
+NULL NULL 44 val_44
+NULL NULL 439 val_439
+NULL NULL 439 val_439
+NULL NULL 438 val_438
+NULL NULL 438 val_438
+NULL NULL 438 val_438
+NULL NULL 437 val_437
+NULL NULL 436 val_436
+NULL NULL 435 val_435
+NULL NULL 432 val_432
+NULL NULL 431 val_431
+NULL NULL 431 val_431
+NULL NULL 431 val_431
+NULL NULL 430 val_430
+NULL NULL 430 val_430
+NULL NULL 430 val_430
+NULL NULL 43 val_43
+NULL NULL 429 val_429
+NULL NULL 429 val_429
+NULL NULL 427 val_427
+NULL NULL 424 val_424
+NULL NULL 424 val_424
+NULL NULL 421 val_421
+NULL NULL 42 val_42
+NULL NULL 42 val_42
+NULL NULL 419 val_419
+NULL NULL 418 val_418
+NULL NULL 417 val_417
+NULL NULL 417 val_417
+NULL NULL 417 val_417
+NULL NULL 414 val_414
+NULL NULL 414 val_414
+NULL NULL 413 val_413
+NULL NULL 413 val_413
+NULL NULL 411 val_411
+NULL NULL 41 val_41
+NULL NULL 409 val_409
+NULL NULL 409 val_409
+NULL NULL 409 val_409
+NULL NULL 407 val_407
+NULL NULL 404 val_404
+NULL NULL 404 val_404
+NULL NULL 403 val_403
+NULL NULL 403 val_403
+NULL NULL 403 val_403
+NULL NULL 402 val_402
+NULL NULL 400 val_400
+NULL NULL 4 val_4
+NULL NULL 399 val_399
+NULL NULL 399 val_399
+NULL NULL 397 val_397
+NULL NULL 397 val_397
+NULL NULL 396 val_396
+NULL NULL 396 val_396
+NULL NULL 396 val_396
+NULL NULL 395 val_395
+NULL NULL 395 val_395
+NULL NULL 394 val_394
+NULL NULL 393 val_393
+NULL NULL 392 val_392
+NULL NULL 389 val_389
+NULL NULL 386 val_386
+NULL NULL 384 val_384
+NULL NULL 384 val_384
+NULL NULL 384 val_384
+NULL NULL 382 val_382
+NULL NULL 382 val_382
+NULL NULL 379 val_379
+NULL NULL 378 val_378
+NULL NULL 377 val_377
+NULL NULL 375 val_375
+NULL NULL 374 val_374
+NULL NULL 373 val_373
+NULL NULL 37 val_37
+NULL NULL 37 val_37
+NULL NULL 368 val_368
+NULL NULL 367 val_367
+NULL NULL 367 val_367
+NULL NULL 366 val_366
+NULL NULL 365 val_365
+NULL NULL 364 val_364
+NULL NULL 362 val_362
+NULL NULL 360 val_360
+NULL NULL 356 val_356
+NULL NULL 353 val_353
+NULL NULL 353 val_353
+NULL NULL 351 val_351
+NULL NULL 35 val_35
+NULL NULL 35 val_35
+NULL NULL 35 val_35
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 345 val_345
+NULL NULL 344 val_344
+NULL NULL 344 val_344
+NULL NULL 342 val_342
+NULL NULL 342 val_342
+NULL NULL 341 val_341
+NULL NULL 34 val_34
+NULL NULL 339 val_339
+NULL NULL 338 val_338
+NULL NULL 336 val_336
+NULL NULL 335 val_335
+NULL NULL 333 val_333
+NULL NULL 333 val_333
+NULL NULL 332 val_332
+NULL NULL 331 val_331
+NULL NULL 331 val_331
+NULL NULL 33 val_33
+NULL NULL 327 val_327
+NULL NULL 327 val_327
+NULL NULL 327 val_327
+NULL NULL 325 val_325
+NULL NULL 325 val_325
+NULL NULL 323 val_323
+NULL NULL 322 val_322
+NULL NULL 322 val_322
+NULL NULL 321 val_321
+NULL NULL 321 val_321
+NULL NULL 318 val_318
+NULL NULL 318 val_318
+NULL NULL 318 val_318
+NULL NULL 317 val_317
+NULL NULL 317 val_317
+NULL NULL 316 val_316
+NULL NULL 316 val_316
+NULL NULL 316 val_316
+NULL NULL 315 val_315
+NULL NULL 310 val_310
+NULL NULL 309 val_309
+NULL NULL 309 val_309
+NULL NULL 308 val_308
+NULL NULL 307 val_307
+NULL NULL 307 val_307
+NULL NULL 306 val_306
+NULL NULL 305 val_305
+NULL NULL 302 val_302
+NULL NULL 30 val_30
+NULL NULL 298 val_298
+NULL NULL 298 val_298
+NULL NULL 298 val_298
+NULL NULL 296 val_296
+NULL NULL 292 val_292
+NULL NULL 291 val_291
+NULL NULL 289 val_289
+NULL NULL 288 val_288
+NULL NULL 288 val_288
+NULL NULL 287 val_287
+NULL NULL 286 val_286
+NULL NULL 285 val_285
+NULL NULL 284 val_284
+NULL NULL 283 val_283
+NULL NULL 282 val_282
+NULL NULL 282 val_282
+NULL NULL 281 val_281
+NULL NULL 281 val_281
+NULL NULL 280 val_280
+NULL NULL 280 val_280
+NULL NULL 28 val_28
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 275 val_275
+NULL NULL 274 val_274
+NULL NULL 272 val_272
+NULL NULL 272 val_272
+NULL NULL 27 val_27
+NULL NULL 266 val_266
+NULL NULL 265 val_265
+NULL NULL 265 val_265
+NULL NULL 263 val_263
+NULL NULL 262 val_262
+NULL NULL 260 val_260
+NULL NULL 26 val_26
+NULL NULL 26 val_26
+NULL NULL 258 val_258
+NULL NULL 257 val_257
+NULL NULL 256 val_256
+NULL NULL 256 val_256
+NULL NULL 252 val_252
+NULL NULL 249 val_249
+NULL NULL 248 val_248
+NULL NULL 247 val_247
+NULL NULL 244 val_244
+NULL NULL 242 val_242
+NULL NULL 242 val_242
+NULL NULL 241 val_241
+NULL NULL 24 val_24
+NULL NULL 24 val_24
+NULL NULL 239 val_239
+NULL NULL 239 val_239
+NULL NULL 237 val_237
+NULL NULL 237 val_237
+NULL NULL 235 val_235
+NULL NULL 233 val_233
+NULL NULL 233 val_233
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 229 val_229
+NULL NULL 229 val_229
+NULL NULL 228 val_228
+NULL NULL 226 val_226
+NULL NULL 223 val_223
+NULL NULL 223 val_223
+NULL NULL 222 val_222
+NULL NULL 221 val_221
+NULL NULL 221 val_221
+NULL NULL 219 val_219
+NULL NULL 219 val_219
+NULL NULL 218 val_218
+NULL NULL 217 val_217
+NULL NULL 217 val_217
+NULL NULL 216 val_216
+NULL NULL 216 val_216
+NULL NULL 214 val_214
+NULL NULL 209 val_209
+NULL NULL 209 val_209
+NULL NULL 208 val_208
+NULL NULL 208 val_208
+NULL NULL 208 val_208
+NULL NULL 207 val_207
+NULL NULL 207 val_207
+NULL NULL 205 val_205
+NULL NULL 205 val_205
+NULL NULL 203 val_203
+NULL NULL 203 val_203
+NULL NULL 202 val_202
+NULL NULL 201 val_201
+NULL NULL 200 val_200
+NULL NULL 200 val_200
+NULL NULL 20 val_20
+NULL NULL 2 val_2
+NULL NULL 199 val_199
+NULL NULL 199 val_199
+NULL NULL 199 val_199
+NULL NULL 197 val_197
+NULL NULL 197 val_197
+NULL NULL 196 val_196
+NULL NULL 195 val_195
+NULL NULL 195 val_195
+NULL NULL 194 val_194
+NULL NULL 193 val_193
+NULL NULL 193 val_193
+NULL NULL 193 val_193
+NULL NULL 192 val_192
+NULL NULL 191 val_191
+NULL NULL 191 val_191
+NULL NULL 190 val_190
+NULL NULL 19 val_19
+NULL NULL 189 val_189
+NULL NULL 187 val_187
+NULL NULL 187 val_187
+NULL NULL 187 val_187
+NULL NULL 186 val_186
+NULL NULL 183 val_183
+NULL NULL 181 val_181
+NULL NULL 180 val_180
+NULL NULL 18 val_18
+NULL NULL 18 val_18
+NULL NULL 179 val_179
+NULL NULL 179 val_179
+NULL NULL 178 val_178
+NULL NULL 177 val_177
+NULL NULL 176 val_176
+NULL NULL 176 val_176
+NULL NULL 175 val_175
+NULL NULL 175 val_175
+NULL NULL 174 val_174
+NULL NULL 174 val_174
+NULL NULL 172 val_172
+NULL NULL 172 val_172
+NULL NULL 170 val_170
+NULL NULL 17 val_17
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 168 val_168
+NULL NULL 167 val_167
+NULL NULL 167 val_167
+NULL NULL 167 val_167
+NULL NULL 166 val_166
+NULL NULL 165 val_165
+NULL NULL 165 val_165
+NULL NULL 164 val_164
+NULL NULL 164 val_164
+NULL NULL 163 val_163
+NULL NULL 162 val_162
+NULL NULL 160 val_160
+NULL NULL 158 val_158
+NULL NULL 157 val_157
+NULL NULL 156 val_156
+NULL NULL 155 val_155
+NULL NULL 153 val_153
+NULL NULL 152 val_152
+NULL NULL 152 val_152
+NULL NULL 15 val_15
+NULL NULL 15 val_15
+NULL NULL 149 val_149
+NULL NULL 149 val_149
+NULL NULL 145 val_145
+NULL NULL 143 val_143
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 137 val_137
+NULL NULL 137 val_137
+NULL NULL 136 val_136
+NULL NULL 134 val_134
+NULL NULL 134 val_134
+NULL NULL 133 val_133
+NULL NULL 131 val_131
+NULL NULL 129 val_129
+NULL NULL 129 val_129
+NULL NULL 126 val_126
+NULL NULL 125 val_125
+NULL NULL 125 val_125
+NULL NULL 120 val_120
+NULL NULL 120 val_120
+NULL NULL 12 val_12
+NULL NULL 12 val_12
+NULL NULL 119 val_119
+NULL NULL 119 val_119
+NULL NULL 119 val_119
+NULL NULL 118 val_118
+NULL NULL 118 val_118
+NULL NULL 116 val_116
+NULL NULL 114 val_114
+NULL NULL 113 val_113
+NULL NULL 113 val_113
+NULL NULL 111 val_111
+NULL NULL 11 val_11
+NULL NULL 105 val_105
+NULL NULL 104 val_104
+NULL NULL 104 val_104
+NULL NULL 103 val_103
+NULL NULL 103 val_103
+NULL NULL 100 val_100
+NULL NULL 100 val_100
+NULL NULL 10 val_10
+NULL NULL 0 val_0
+NULL NULL 0 val_0
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+146 val_146 146 val_146
+146 val_146 146 val_146
+146 val_146 146 val_146
+146 val_146 146 val_146
+150 val_150 150 val_150
+213 val_213 213 val_213
+213 val_213 213 val_213
+213 val_213 213 val_213
+213 val_213 213 val_213
+224 val_224 224 val_224
+224 val_224 224 val_224
+224 val_224 224 val_224
+224 val_224 224 val_224
+238 val_238 238 val_238
+238 val_238 238 val_238
+238 val_238 238 val_238
+238 val_238 238 val_238
+255 val_255 255 val_255
+255 val_255 255 val_255
+255 val_255 255 val_255
+255 val_255 255 val_255
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+278 val_278 278 val_278
+278 val_278 278 val_278
+278 val_278 278 val_278
+278 val_278 278 val_278
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+66 val_66 66 val_66
+98 val_98 98 val_98
+98 val_98 98 val_98
+98 val_98 98 val_98
+98 val_98 98 val_98
+PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL NULL NULL NULL 0 val_0
+NULL NULL NULL NULL 97 val_97
+NULL NULL NULL NULL 97 val_97
+NULL NULL NULL NULL 96 val_96
+NULL NULL NULL NULL 95 val_95
+NULL NULL NULL NULL 95 val_95
+NULL NULL NULL NULL 92 val_92
+NULL NULL NULL NULL 90 val_90
+NULL NULL NULL NULL 90 val_90
+NULL NULL NULL NULL 90 val_90
+NULL NULL NULL NULL 9 val_9
+NULL NULL NULL NULL 87 val_87
+NULL NULL NULL NULL 86 val_86
+NULL NULL NULL NULL 85 val_85
+NULL NULL NULL NULL 84 val_84
+NULL NULL NULL NULL 84 val_84
+NULL NULL NULL NULL 83 val_83
+NULL NULL NULL NULL 83 val_83
+NULL NULL NULL NULL 82 val_82
+NULL NULL NULL NULL 80 val_80
+NULL NULL NULL NULL 8 val_8
+NULL NULL NULL NULL 78 val_78
+NULL NULL NULL NULL 77 val_77
+NULL NULL NULL NULL 76 val_76
+NULL NULL NULL NULL 76 val_76
+NULL NULL NULL NULL 74 val_74
+NULL NULL NULL NULL 72 val_72
+NULL NULL NULL NULL 72 val_72
+NULL NULL NULL NULL 70 val_70
+NULL NULL NULL NULL 70 val_70
+NULL NULL NULL NULL 70 val_70
+NULL NULL NULL NULL 69 val_69
+NULL NULL NULL NULL 67 val_67
+NULL NULL NULL NULL 67 val_67
+NULL NULL NULL NULL 65 val_65
+NULL NULL NULL NULL 64 val_64
+NULL NULL NULL NULL 58 val_58
+NULL NULL NULL NULL 58 val_58
+NULL NULL NULL NULL 57 val_57
+NULL NULL NULL NULL 54 val_54
+NULL NULL NULL NULL 53 val_53
+NULL NULL NULL NULL 51 val_51
+NULL NULL NULL NULL 51 val_51
+NULL NULL NULL NULL 5 val_5
+NULL NULL NULL NULL 5 val_5
+NULL NULL NULL NULL 5 val_5
+NULL NULL NULL NULL 498 val_498
+NULL NULL NULL NULL 498 val_498
+NULL NULL NULL NULL 498 val_498
+NULL NULL NULL NULL 497 val_497
+NULL NULL NULL NULL 496 val_496
+NULL NULL NULL NULL 495 val_495
+NULL NULL NULL NULL 494 val_494
+NULL NULL NULL NULL 493 val_493
+NULL NULL NULL NULL 492 val_492
+NULL NULL NULL NULL 492 val_492
+NULL NULL NULL NULL 491 val_491
+NULL NULL NULL NULL 490 val_490
+NULL NULL NULL NULL 489 val_489
+NULL NULL NULL NULL 489 val_489
+NULL NULL NULL NULL 489 val_489
+NULL NULL NULL NULL 489 val_489
+NULL NULL NULL NULL 487 val_487
+NULL NULL NULL NULL 485 val_485
+NULL NULL NULL NULL 483 val_483
+NULL NULL NULL NULL 482 val_482
+NULL NULL NULL NULL 481 val_481
+NULL NULL NULL NULL 480 val_480
+NULL NULL NULL NULL 480 val_480
+NULL NULL NULL NULL 480 val_480
+NULL NULL NULL NULL 479 val_479
+NULL NULL NULL NULL 478 val_478
+NULL NULL NULL NULL 478 val_478
+NULL NULL NULL NULL 477 val_477
+NULL NULL NULL NULL 475 val_475
+NULL NULL NULL NULL 472 val_472
+NULL NULL NULL NULL 470 val_470
+NULL NULL NULL NULL 47 val_47
+NULL NULL NULL NULL 469 val_469
+NULL NULL NULL NULL 469 val_469
+NULL NULL NULL NULL 469 val_469
+NULL NULL NULL NULL 469 val_469
+NULL NULL NULL NULL 469 val_469
+NULL NULL NULL NULL 468 val_468
+NULL NULL NULL NULL 468 val_468
+NULL NULL NULL NULL 468 val_468
+NULL NULL NULL NULL 468 val_468
+NULL NULL NULL NULL 467 val_467
+NULL NULL NULL NULL 466 val_466
+NULL NULL NULL NULL 466 val_466
+NULL NULL NULL NULL 466 val_466
+NULL NULL NULL NULL 463 val_463
+NULL NULL NULL NULL 463 val_463
+NULL NULL NULL NULL 462 val_462
+NULL NULL NULL NULL 462 val_462
+NULL NULL NULL NULL 460 val_460
+NULL NULL NULL NULL 459 val_459
+NULL NULL NULL NULL 459 val_459
+NULL NULL NULL NULL 458 val_458
+NULL NULL NULL NULL 458 val_458
+NULL NULL NULL NULL 457 val_457
+NULL NULL NULL NULL 455 val_455
+NULL NULL NULL NULL 454 val_454
+NULL NULL NULL NULL 454 val_454
+NULL NULL NULL NULL 454 val_454
+NULL NULL NULL NULL 453 val_453
+NULL NULL NULL NULL 452 val_452
+NULL NULL NULL NULL 449 val_449
+NULL NULL NULL NULL 448 val_448
+NULL NULL NULL NULL 446 val_446
+NULL NULL NULL NULL 444 val_444
+NULL NULL NULL NULL 443 val_443
+NULL NULL NULL NULL 44 val_44
+NULL NULL NULL NULL 439 val_439
+NULL NULL NULL NULL 439 val_439
+NULL NULL NULL NULL 438 val_438
+NULL NULL NULL NULL 438 val_438
+NULL NULL NULL NULL 438 val_438
+NULL NULL NULL NULL 437 val_437
+NULL NULL NULL NULL 436 val_436
+NULL NULL NULL NULL 435 val_435
+NULL NULL NULL NULL 432 val_432
+NULL NULL NULL NULL 431 val_431
+NULL NULL NULL NULL 431 val_431
+NULL NULL NULL NULL 431 val_431
+NULL NULL NULL NULL 430 val_430
+NULL NULL NULL NULL 430 val_430
+NULL NULL NULL NULL 430 val_430
+NULL NULL NULL NULL 43 val_43
+NULL NULL NULL NULL 429 val_429
+NULL NULL NULL NULL 429 val_429
+NULL NULL NULL NULL 427 val_427
+NULL NULL NULL NULL 424 val_424
+NULL NULL NULL NULL 424 val_424
+NULL NULL NULL NULL 421 val_421
+NULL NULL NULL NULL 42 val_42
+NULL NULL NULL NULL 42 val_42
+NULL NULL NULL NULL 419 val_419
+NULL NULL NULL NULL 418 val_418
+NULL NULL NULL NULL 417 val_417
+NULL NULL NULL NULL 417 val_417
+NULL NULL NULL NULL 417 val_417
+NULL NULL NULL NULL 414 val_414
+NULL NULL NULL NULL 414 val_414
+NULL NULL NULL NULL 413 val_413
+NULL NULL NULL NULL 413 val_413
+NULL NULL NULL NULL 411 val_411
+NULL NULL NULL NULL 41 val_41
+NULL NULL NULL NULL 407 val_407
+NULL NULL NULL NULL 404 val_404
+NULL NULL NULL NULL 404 val_404
+NULL NULL NULL NULL 403 val_403
+NULL NULL NULL NULL 403 val_403
+NULL NULL NULL NULL 403 val_403
+NULL NULL NULL NULL 402 val_402
+NULL NULL NULL NULL 400 val_400
+NULL NULL NULL NULL 4 val_4
+NULL NULL NULL NULL 399 val_399
+NULL NULL NULL NULL 399 val_399
+NULL NULL NULL NULL 397 val_397
+NULL NULL NULL NULL 397 val_397
+NULL NULL NULL NULL 396 val_396
+NULL NULL NULL NULL 396 val_396
+NULL NULL NULL NULL 396 val_396
+NULL NULL NULL NULL 395 val_395
+NULL NULL NULL NULL 395 val_395
+NULL NULL NULL NULL 394 val_394
+NULL NULL NULL NULL 393 val_393
+NULL NULL NULL NULL 392 val_392
+NULL NULL NULL NULL 389 val_389
+NULL NULL NULL NULL 386 val_386
+NULL NULL NULL NULL 384 val_384
+NULL NULL NULL NULL 384 val_384
+NULL NULL NULL NULL 384 val_384
+NULL NULL NULL NULL 382 val_382
+NULL NULL NULL NULL 382 val_382
+NULL NULL NULL NULL 379 val_379
+NULL NULL NULL NULL 378 val_378
+NULL NULL NULL NULL 377 val_377
+NULL NULL NULL NULL 375 val_375
+NULL NULL NULL NULL 374 val_374
+NULL NULL NULL NULL 373 val_373
+NULL NULL NULL NULL 37 val_37
+NULL NULL NULL NULL 37 val_37
+NULL NULL NULL NULL 369 val_369
+NULL NULL NULL NULL 369 val_369
+NULL NULL NULL NULL 369 val_369
+NULL NULL NULL NULL 368 val_368
+NULL NULL NULL NULL 367 val_367
+NULL NULL NULL NULL 367 val_367
+NULL NULL NULL NULL 366 val_366
+NULL NULL NULL NULL 365 val_365
+NULL NULL NULL NULL 364 val_364
+NULL NULL NULL NULL 362 val_362
+NULL NULL NULL NULL 360 val_360
+NULL NULL NULL NULL 356 val_356
+NULL NULL NULL NULL 353 val_353
+NULL NULL NULL NULL 353 val_353
+NULL NULL NULL NULL 351 val_351
+NULL NULL NULL NULL 35 val_35
+NULL NULL NULL NULL 35 val_35
+NULL NULL NULL NULL 35 val_35
+NULL NULL NULL NULL 348 val_348
+NULL NULL NULL NULL 348 val_348
+NULL NULL NULL NULL 348 val_348
+NULL NULL NULL NULL 348 val_348
+NULL NULL NULL NULL 348 val_348
+NULL NULL NULL NULL 345 val_345
+NULL NULL NULL NULL 344 val_344
+NULL NULL NULL NULL 344 val_344
+NULL NULL NULL NULL 342 val_342
+NULL NULL NULL NULL 342 val_342
+NULL NULL NULL NULL 341 val_341
+NULL NULL NULL NULL 34 val_34
+NULL NULL NULL NULL 339 val_339
+NULL NULL NULL NULL 338 val_338
+NULL NULL NULL NULL 336 val_336
+NULL NULL NULL NULL 335 val_335
+NULL NULL NULL NULL 333 val_333
+NULL NULL NULL NULL 333 val_333
+NULL NULL NULL NULL 332 val_332
+NULL NULL NULL NULL 331 val_331
+NULL NULL NULL NULL 331 val_331
+NULL NULL NULL NULL 33 val_33
+NULL NULL NULL NULL 327 val_327
+NULL NULL NULL NULL 327 val_327
+NULL NULL NULL NULL 327 val_327
+NULL NULL NULL NULL 325 val_325
+NULL NULL NULL NULL 325 val_325
+NULL NULL NULL NULL 323 val_323
+NULL NULL NULL NULL 322 val_322
+NULL NULL NULL NULL 322 val_322
+NULL NULL NULL NULL 321 val_321
+NULL NULL NULL NULL 321 val_321
+NULL NULL NULL NULL 318 val_318
+NULL NULL NULL NULL 318 val_318
+NULL NULL NULL NULL 318 val_318
+NULL NULL NULL NULL 317 val_317
+NULL NULL NULL NULL 317 val_317
+NULL NULL NULL NULL 316 val_316
+NULL NULL NULL NULL 316 val_316
+NULL NULL NULL NULL 316 val_316
+NULL NULL NULL NULL 315 val_315
+NULL NULL NULL NULL 310 val_310
+NULL NULL NULL NULL 309 val_309
+NULL NULL NULL NULL 309 val_309
+NULL NULL NULL NULL 308 val_308
+NULL NULL NULL NULL 307 val_307
+NULL NULL NULL NULL 307 val_307
+NULL NULL NULL NULL 306 val_306
+NULL NULL NULL NULL 305 val_305
+NULL NULL NULL NULL 302 val_302
+NULL NULL NULL NULL 30 val_30
+NULL NULL NULL NULL 298 val_298
+NULL NULL NULL NULL 298 val_298
+NULL NULL NULL NULL 298 val_298
+NULL NULL NULL NULL 296 val_296
+NULL NULL NULL NULL 292 val_292
+NULL NULL NULL NULL 291 val_291
+NULL NULL NULL NULL 289 val_289
+NULL NULL NULL NULL 288 val_288
+NULL NULL NULL NULL 288 val_288
+NULL NULL NULL NULL 287 val_287
+NULL NULL NULL NULL 286 val_286
+NULL NULL NULL NULL 285 val_285
+NULL NULL NULL NULL 284 val_284
+NULL NULL NULL NULL 283 val_283
+NULL NULL NULL NULL 282 val_282
+NULL NULL NULL NULL 282 val_282
+NULL NULL NULL NULL 281 val_281
+NULL NULL NULL NULL 281 val_281
+NULL NULL NULL NULL 280 val_280
+NULL NULL NULL NULL 280 val_280
+NULL NULL NULL NULL 28 val_28
+NULL NULL NULL NULL 277 val_277
+NULL NULL NULL NULL 277 val_277
+NULL NULL NULL NULL 277 val_277
+NULL NULL NULL NULL 277 val_277
+NULL NULL NULL NULL 275 val_275
+NULL NULL NULL NULL 274 val_274
+NULL NULL NULL NULL 272 val_272
+NULL NULL NULL NULL 272 val_272
+NULL NULL NULL NULL 266 val_266
+NULL NULL NULL NULL 263 val_263
+NULL NULL NULL NULL 262 val_262
+NULL NULL NULL NULL 260 val_260
+NULL NULL NULL NULL 26 val_26
+NULL NULL NULL NULL 26 val_26
+NULL NULL NULL NULL 258 val_258
+NULL NULL NULL NULL 257 val_257
+NULL NULL NULL NULL 256 val_256
+NULL NULL NULL NULL 256 val_256
+NULL NULL NULL NULL 252 val_252
+NULL NULL NULL NULL 249 val_249
+NULL NULL NULL NULL 248 val_248
+NULL NULL NULL NULL 247 val_247
+NULL NULL NULL NULL 244 val_244
+NULL NULL NULL NULL 242 val_242
+NULL NULL NULL NULL 242 val_242
+NULL NULL NULL NULL 241 val_241
+NULL NULL NULL NULL 24 val_24
+NULL NULL NULL NULL 24 val_24
+NULL NULL NULL NULL 239 val_239
+NULL NULL NULL NULL 239 val_239
+NULL NULL NULL NULL 237 val_237
+NULL NULL NULL NULL 237 val_237
+NULL NULL NULL NULL 235 val_235
+NULL NULL NULL NULL 233 val_233
+NULL NULL NULL NULL 233 val_233
+NULL NULL NULL NULL 230 val_230
+NULL NULL NULL NULL 230 val_230
+NULL NULL NULL NULL 230 val_230
+NULL NULL NULL NULL 230 val_230
+NULL NULL NULL NULL 230 val_230
+NULL NULL NULL NULL 229 val_229
+NULL NULL NULL NULL 229 val_229
+NULL NULL NULL NULL 228 val_228
+NULL NULL NULL NULL 226 val_226
+NULL NULL NULL NULL 224 val_224
+NULL NULL NULL NULL 224 val_224
+NULL NULL NULL NULL 223 val_223
+NULL NULL NULL NULL 223 val_223
+NULL NULL NULL NULL 222 val_222
+NULL NULL NULL NULL 221 val_221
+NULL NULL NULL NULL 221 val_221
+NULL NULL NULL NULL 219 val_219
+NULL NULL NULL NULL 219 val_219
+NULL NULL NULL NULL 218 val_218
+NULL NULL NULL NULL 217 val_217
+NULL NULL NULL NULL 217 val_217
+NULL NULL NULL NULL 216 val_216
+NULL NULL NULL NULL 216 val_216
+NULL NULL NULL NULL 214 val_214
+NULL NULL NULL NULL 209 val_209
+NULL NULL NULL NULL 209 val_209
+NULL NULL NULL NULL 208 val_208
+NULL NULL NULL NULL 208 val_208
+NULL NULL NULL NULL 208 val_208
+NULL NULL NULL NULL 207 val_207
+NULL NULL NULL NULL 207 val_207
+NULL NULL NULL NULL 205 val_205
+NULL NULL NULL NULL 205 val_205
+NULL NULL NULL NULL 203 val_203
+NULL NULL NULL NULL 203 val_203
+NULL NULL NULL NULL 202 val_202
+NULL NULL NULL NULL 201 val_201
+NULL NULL NULL NULL 200 val_200
+NULL NULL NULL NULL 200 val_200
+NULL NULL NULL NULL 20 val_20
+NULL NULL NULL NULL 2 val_2
+NULL NULL NULL NULL 199 val_199
+NULL NULL NULL NULL 199 val_199
+NULL NULL NULL NULL 199 val_199
+NULL NULL NULL NULL 197 val_197
+NULL NULL NULL NULL 197 val_197
+NULL NULL NULL NULL 196 val_196
+NULL NULL NULL NULL 195 val_195
+NULL NULL NULL NULL 195 val_195
+NULL NULL NULL NULL 194 val_194
+NULL NULL NULL NULL 192 val_192
+NULL NULL NULL NULL 191 val_191
+NULL NULL NULL NULL 191 val_191
+NULL NULL NULL NULL 190 val_190
+NULL NULL NULL NULL 19 val_19
+NULL NULL NULL NULL 189 val_189
+NULL NULL NULL NULL 187 val_187
+NULL NULL NULL NULL 187 val_187
+NULL NULL NULL NULL 187 val_187
+NULL NULL NULL NULL 186 val_186
+NULL NULL NULL NULL 183 val_183
+NULL NULL NULL NULL 181 val_181
+NULL NULL NULL NULL 180 val_180
+NULL NULL NULL NULL 18 val_18
+NULL NULL NULL NULL 18 val_18
+NULL NULL NULL NULL 179 val_179
+NULL NULL NULL NULL 179 val_179
+NULL NULL NULL NULL 178 val_178
+NULL NULL NULL NULL 177 val_177
+NULL NULL NULL NULL 176 val_176
+NULL NULL NULL NULL 176 val_176
+NULL NULL NULL NULL 175 val_175
+NULL NULL NULL NULL 175 val_175
+NULL NULL NULL NULL 174 val_174
+NULL NULL NULL NULL 174 val_174
+NULL NULL NULL NULL 172 val_172
+NULL NULL NULL NULL 172 val_172
+NULL NULL NULL NULL 170 val_170
+NULL NULL NULL NULL 17 val_17
+NULL NULL NULL NULL 169 val_169
+NULL NULL NULL NULL 169 val_169
+NULL NULL NULL NULL 169 val_169
+NULL NULL NULL NULL 169 val_169
+NULL NULL NULL NULL 168 val_168
+NULL NULL NULL NULL 167 val_167
+NULL NULL NULL NULL 167 val_167
+NULL NULL NULL NULL 167 val_167
+NULL NULL NULL NULL 166 val_166
+NULL NULL NULL NULL 164 val_164
+NULL NULL NULL NULL 164 val_164
+NULL NULL NULL NULL 163 val_163
+NULL NULL NULL NULL 162 val_162
+NULL NULL NULL NULL 160 val_160
+NULL NULL NULL NULL 158 val_158
+NULL NULL NULL NULL 157 val_157
+NULL NULL NULL NULL 156 val_156
+NULL NULL NULL NULL 155 val_155
+NULL NULL NULL NULL 153 val_153
+NULL NULL NULL NULL 152 val_152
+NULL NULL NULL NULL 152 val_152
+NULL NULL NULL NULL 15 val_15
+NULL NULL NULL NULL 15 val_15
+NULL NULL NULL NULL 149 val_149
+NULL NULL NULL NULL 149 val_149
+NULL NULL NULL NULL 145 val_145
+NULL NULL NULL NULL 143 val_143
+NULL NULL NULL NULL 138 val_138
+NULL NULL NULL NULL 138 val_138
+NULL NULL NULL NULL 138 val_138
+NULL NULL NULL NULL 138 val_138
+NULL NULL NULL NULL 137 val_137
+NULL NULL NULL NULL 137 val_137
+NULL NULL NULL NULL 136 val_136
+NULL NULL NULL NULL 134 val_134
+NULL NULL NULL NULL 134 val_134
+NULL NULL NULL NULL 133 val_133
+NULL NULL NULL NULL 131 val_131
+NULL NULL NULL NULL 129 val_129
+NULL NULL NULL NULL 129 val_129
+NULL NULL NULL NULL 128 val_128
+NULL NULL NULL NULL 128 val_128
+NULL NULL NULL NULL 128 val_128
+NULL NULL NULL NULL 126 val_126
+NULL NULL NULL NULL 125 val_125
+NULL NULL NULL NULL 125 val_125
+NULL NULL NULL NULL 120 val_120
+NULL NULL NULL NULL 120 val_120
+NULL NULL NULL NULL 12 val_12
+NULL NULL NULL NULL 12 val_12
+NULL NULL NULL NULL 119 val_119
+NULL NULL NULL NULL 119 val_119
+NULL NULL NULL NULL 119 val_119
+NULL NULL NULL NULL 118 val_118
+NULL NULL NULL NULL 118 val_118
+NULL NULL NULL NULL 116 val_116
+NULL NULL NULL NULL 114 val_114
+NULL NULL NULL NULL 113 val_113
+NULL NULL NULL NULL 113 val_113
+NULL NULL NULL NULL 111 val_111
+NULL NULL NULL NULL 11 val_11
+NULL NULL NULL NULL 105 val_105
+NULL NULL NULL NULL 104 val_104
+NULL NULL NULL NULL 104 val_104
+NULL NULL NULL NULL 103 val_103
+NULL NULL NULL NULL 103 val_103
+NULL NULL NULL NULL 100 val_100
+NULL NULL NULL NULL 100 val_100
+NULL NULL NULL NULL 10 val_10
+NULL NULL NULL NULL 0 val_0
+NULL NULL NULL NULL 0 val_0
+ val_409 NULL NULL 409 val_409
+ val_165 NULL NULL 165 val_165
+ val_165 NULL NULL 165 val_165
+ val_193 NULL NULL 193 val_193
+ val_484 NULL NULL 484 val_484
+ val_409 NULL NULL 409 val_409
+ val_265 NULL NULL 265 val_265
+ val_265 NULL NULL 265 val_265
+ val_27 NULL NULL 27 val_27
+ val_193 NULL NULL 193 val_193
+ val_193 NULL NULL 193 val_193
+ val_409 NULL NULL 409 val_409
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+150 val_150 150 val_150 150 val_150
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+66 val_66 66 val_66 66 val_66
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+ val_27 NULL NULL 27 val_27
+ NULL NULL NULL NULL
+ NULL NULL NULL NULL
+ val_484 NULL NULL 484 val_484
+ val_409 NULL NULL 409 val_409
+ val_409 NULL NULL 409 val_409
+ val_409 NULL NULL 409 val_409
+ NULL NULL NULL NULL
+ NULL NULL NULL NULL
+ val_165 NULL NULL 165 val_165
+ val_165 NULL NULL 165 val_165
+ val_193 NULL NULL 193 val_193
+ val_193 NULL NULL 193 val_193
+ val_193 NULL NULL 193 val_193
+ val_265 NULL NULL 265 val_265
+ val_265 NULL NULL 265 val_265
+128 128 val_128 NULL NULL
+128 128 val_128 NULL NULL
+128 128 val_128 NULL NULL
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+150 val_150 150 val_150 150 val_150
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+224 224 val_224 NULL NULL
+224 224 val_224 NULL NULL
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+369 369 val_369 NULL NULL
+369 369 val_369 NULL NULL
+369 369 val_369 NULL NULL
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+66 val_66 66 val_66 66 val_66
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+150 val_150 150 val_150 150 val_150
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+224 224 val_224 224 val_224
+224 224 val_224 224 val_224
+224 224 val_224 224 val_224
+224 224 val_224 224 val_224
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+66 val_66 66 val_66 66 val_66
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+PREHOOK: query: select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+128 128 val_128 128 val_128
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+146 val_146 146 val_146 146 val_146
+150 val_150 150 val_150 150 val_150
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+213 val_213 213 val_213 213 val_213
+224 224 val_224 224 val_224
+224 224 val_224 224 val_224
+224 224 val_224 224 val_224
+224 224 val_224 224 val_224
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+238 val_238 238 val_238 238 val_238
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+255 val_255 255 val_255 255 val_255
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+273 val_273 273 val_273 273 val_273
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+278 val_278 278 val_278 278 val_278
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+311 val_311 311 val_311 311 val_311
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+369 369 val_369 369 val_369
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+401 val_401 401 val_401 401 val_401
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+406 val_406 406 val_406 406 val_406
+66 val_66 66 val_66 66 val_66
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+98 val_98 98 val_98 98 val_98
+PREHOOK: query: select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+107
diff --git ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out
new file mode 100644
index 0000000..18e1ce6
--- /dev/null
+++ ql/src/test/results/clientpositive/tez/tez_joins_explain.q.out
@@ -0,0 +1,737 @@
+PREHOOK: query: explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+ (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_LEFTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL b) key))))) x) (TOK_TABREF (TOK_TABNAME src) c) (= (. (TOK_TABLE_OR_COL x) value) (. (TOK_TABLE_OR_COL c) value)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL x) key)))))
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 is a root stage
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Alias -> Map Operator Tree:
+ b
+ TableScan
+ alias: b
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 1
+ value expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ Alias -> Map Operator Tree:
+ a
+ TableScan
+ alias: a
+ Reduce Output Operator
+ key expressions:
+ expr: key
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: key
+ type: string
+ tag: 0
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Left Outer Join0 to 1
+ condition expressions:
+ 0
+ 1 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col4, _col5
+ Select Operator
+ expressions:
+ expr: _col4
+ type: string
+ expr: _col5
+ type: string
+ outputColumnNames: _col0, _col1
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Reduce Operator Tree:
+ Extract
+ Reduce Output Operator
+ key expressions:
+ expr: _col1
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: _col1
+ type: string
+ tag: 0
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ Alias -> Map Operator Tree:
+ c
+ TableScan
+ alias: c
+ Reduce Output Operator
+ key expressions:
+ expr: value
+ type: string
+ sort order: +
+ Map-reduce partition columns:
+ expr: value
+ type: string
+ tag: 1
+ value expressions:
+ expr: key
+ type: string
+ expr: value
+ type: string
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Right Outer Join0 to 1
+ condition expressions:
+ 0 {VALUE._col0} {VALUE._col1}
+ 1 {VALUE._col0} {VALUE._col1}
+ handleSkewJoin: false
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Select Operator
+ expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Reduce Output Operator
+ key expressions:
+ expr: _col0
+ type: string
+ sort order: +
+ tag: -1
+ value expressions:
+ expr: _col0
+ type: string
+ expr: _col1
+ type: string
+ expr: _col2
+ type: string
+ expr: _col3
+ type: string
+ Reduce Operator Tree:
+ Extract
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+
+PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Input: default@src1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Input: default@src1
+#### A masked pattern was here ####
+NULL NULL 0 val_0
+NULL NULL 97 val_97
+NULL NULL 97 val_97
+NULL NULL 96 val_96
+NULL NULL 95 val_95
+NULL NULL 95 val_95
+NULL NULL 92 val_92
+NULL NULL 90 val_90
+NULL NULL 90 val_90
+NULL NULL 90 val_90
+NULL NULL 9 val_9
+NULL NULL 87 val_87
+NULL NULL 86 val_86
+NULL NULL 85 val_85
+NULL NULL 84 val_84
+NULL NULL 84 val_84
+NULL NULL 83 val_83
+NULL NULL 83 val_83
+NULL NULL 82 val_82
+NULL NULL 80 val_80
+NULL NULL 8 val_8
+NULL NULL 78 val_78
+NULL NULL 77 val_77
+NULL NULL 76 val_76
+NULL NULL 76 val_76
+NULL NULL 74 val_74
+NULL NULL 72 val_72
+NULL NULL 72 val_72
+NULL NULL 70 val_70
+NULL NULL 70 val_70
+NULL NULL 70 val_70
+NULL NULL 69 val_69
+NULL NULL 67 val_67
+NULL NULL 67 val_67
+NULL NULL 65 val_65
+NULL NULL 64 val_64
+NULL NULL 58 val_58
+NULL NULL 58 val_58
+NULL NULL 57 val_57
+NULL NULL 54 val_54
+NULL NULL 53 val_53
+NULL NULL 51 val_51
+NULL NULL 51 val_51
+NULL NULL 5 val_5
+NULL NULL 5 val_5
+NULL NULL 5 val_5
+NULL NULL 498 val_498
+NULL NULL 498 val_498
+NULL NULL 498 val_498
+NULL NULL 497 val_497
+NULL NULL 496 val_496
+NULL NULL 495 val_495
+NULL NULL 494 val_494
+NULL NULL 493 val_493
+NULL NULL 492 val_492
+NULL NULL 492 val_492
+NULL NULL 491 val_491
+NULL NULL 490 val_490
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 489 val_489
+NULL NULL 487 val_487
+NULL NULL 485 val_485
+NULL NULL 484 val_484
+NULL NULL 483 val_483
+NULL NULL 482 val_482
+NULL NULL 481 val_481
+NULL NULL 480 val_480
+NULL NULL 480 val_480
+NULL NULL 480 val_480
+NULL NULL 479 val_479
+NULL NULL 478 val_478
+NULL NULL 478 val_478
+NULL NULL 477 val_477
+NULL NULL 475 val_475
+NULL NULL 472 val_472
+NULL NULL 470 val_470
+NULL NULL 47 val_47
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 469 val_469
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 468 val_468
+NULL NULL 467 val_467
+NULL NULL 466 val_466
+NULL NULL 466 val_466
+NULL NULL 466 val_466
+NULL NULL 463 val_463
+NULL NULL 463 val_463
+NULL NULL 462 val_462
+NULL NULL 462 val_462
+NULL NULL 460 val_460
+NULL NULL 459 val_459
+NULL NULL 459 val_459
+NULL NULL 458 val_458
+NULL NULL 458 val_458
+NULL NULL 457 val_457
+NULL NULL 455 val_455
+NULL NULL 454 val_454
+NULL NULL 454 val_454
+NULL NULL 454 val_454
+NULL NULL 453 val_453
+NULL NULL 452 val_452
+NULL NULL 449 val_449
+NULL NULL 448 val_448
+NULL NULL 446 val_446
+NULL NULL 444 val_444
+NULL NULL 443 val_443
+NULL NULL 44 val_44
+NULL NULL 439 val_439
+NULL NULL 439 val_439
+NULL NULL 438 val_438
+NULL NULL 438 val_438
+NULL NULL 438 val_438
+NULL NULL 437 val_437
+NULL NULL 436 val_436
+NULL NULL 435 val_435
+NULL NULL 432 val_432
+NULL NULL 431 val_431
+NULL NULL 431 val_431
+NULL NULL 431 val_431
+NULL NULL 430 val_430
+NULL NULL 430 val_430
+NULL NULL 430 val_430
+NULL NULL 43 val_43
+NULL NULL 429 val_429
+NULL NULL 429 val_429
+NULL NULL 427 val_427
+NULL NULL 424 val_424
+NULL NULL 424 val_424
+NULL NULL 421 val_421
+NULL NULL 42 val_42
+NULL NULL 42 val_42
+NULL NULL 419 val_419
+NULL NULL 418 val_418
+NULL NULL 417 val_417
+NULL NULL 417 val_417
+NULL NULL 417 val_417
+NULL NULL 414 val_414
+NULL NULL 414 val_414
+NULL NULL 413 val_413
+NULL NULL 413 val_413
+NULL NULL 411 val_411
+NULL NULL 41 val_41
+NULL NULL 409 val_409
+NULL NULL 409 val_409
+NULL NULL 409 val_409
+NULL NULL 407 val_407
+NULL NULL 404 val_404
+NULL NULL 404 val_404
+NULL NULL 403 val_403
+NULL NULL 403 val_403
+NULL NULL 403 val_403
+NULL NULL 402 val_402
+NULL NULL 400 val_400
+NULL NULL 4 val_4
+NULL NULL 399 val_399
+NULL NULL 399 val_399
+NULL NULL 397 val_397
+NULL NULL 397 val_397
+NULL NULL 396 val_396
+NULL NULL 396 val_396
+NULL NULL 396 val_396
+NULL NULL 395 val_395
+NULL NULL 395 val_395
+NULL NULL 394 val_394
+NULL NULL 393 val_393
+NULL NULL 392 val_392
+NULL NULL 389 val_389
+NULL NULL 386 val_386
+NULL NULL 384 val_384
+NULL NULL 384 val_384
+NULL NULL 384 val_384
+NULL NULL 382 val_382
+NULL NULL 382 val_382
+NULL NULL 379 val_379
+NULL NULL 378 val_378
+NULL NULL 377 val_377
+NULL NULL 375 val_375
+NULL NULL 374 val_374
+NULL NULL 373 val_373
+NULL NULL 37 val_37
+NULL NULL 37 val_37
+NULL NULL 368 val_368
+NULL NULL 367 val_367
+NULL NULL 367 val_367
+NULL NULL 366 val_366
+NULL NULL 365 val_365
+NULL NULL 364 val_364
+NULL NULL 362 val_362
+NULL NULL 360 val_360
+NULL NULL 356 val_356
+NULL NULL 353 val_353
+NULL NULL 353 val_353
+NULL NULL 351 val_351
+NULL NULL 35 val_35
+NULL NULL 35 val_35
+NULL NULL 35 val_35
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 348 val_348
+NULL NULL 345 val_345
+NULL NULL 344 val_344
+NULL NULL 344 val_344
+NULL NULL 342 val_342
+NULL NULL 342 val_342
+NULL NULL 341 val_341
+NULL NULL 34 val_34
+NULL NULL 339 val_339
+NULL NULL 338 val_338
+NULL NULL 336 val_336
+NULL NULL 335 val_335
+NULL NULL 333 val_333
+NULL NULL 333 val_333
+NULL NULL 332 val_332
+NULL NULL 331 val_331
+NULL NULL 331 val_331
+NULL NULL 33 val_33
+NULL NULL 327 val_327
+NULL NULL 327 val_327
+NULL NULL 327 val_327
+NULL NULL 325 val_325
+NULL NULL 325 val_325
+NULL NULL 323 val_323
+NULL NULL 322 val_322
+NULL NULL 322 val_322
+NULL NULL 321 val_321
+NULL NULL 321 val_321
+NULL NULL 318 val_318
+NULL NULL 318 val_318
+NULL NULL 318 val_318
+NULL NULL 317 val_317
+NULL NULL 317 val_317
+NULL NULL 316 val_316
+NULL NULL 316 val_316
+NULL NULL 316 val_316
+NULL NULL 315 val_315
+NULL NULL 310 val_310
+NULL NULL 309 val_309
+NULL NULL 309 val_309
+NULL NULL 308 val_308
+NULL NULL 307 val_307
+NULL NULL 307 val_307
+NULL NULL 306 val_306
+NULL NULL 305 val_305
+NULL NULL 302 val_302
+NULL NULL 30 val_30
+NULL NULL 298 val_298
+NULL NULL 298 val_298
+NULL NULL 298 val_298
+NULL NULL 296 val_296
+NULL NULL 292 val_292
+NULL NULL 291 val_291
+NULL NULL 289 val_289
+NULL NULL 288 val_288
+NULL NULL 288 val_288
+NULL NULL 287 val_287
+NULL NULL 286 val_286
+NULL NULL 285 val_285
+NULL NULL 284 val_284
+NULL NULL 283 val_283
+NULL NULL 282 val_282
+NULL NULL 282 val_282
+NULL NULL 281 val_281
+NULL NULL 281 val_281
+NULL NULL 280 val_280
+NULL NULL 280 val_280
+NULL NULL 28 val_28
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 277 val_277
+NULL NULL 275 val_275
+NULL NULL 274 val_274
+NULL NULL 272 val_272
+NULL NULL 272 val_272
+NULL NULL 27 val_27
+NULL NULL 266 val_266
+NULL NULL 265 val_265
+NULL NULL 265 val_265
+NULL NULL 263 val_263
+NULL NULL 262 val_262
+NULL NULL 260 val_260
+NULL NULL 26 val_26
+NULL NULL 26 val_26
+NULL NULL 258 val_258
+NULL NULL 257 val_257
+NULL NULL 256 val_256
+NULL NULL 256 val_256
+NULL NULL 252 val_252
+NULL NULL 249 val_249
+NULL NULL 248 val_248
+NULL NULL 247 val_247
+NULL NULL 244 val_244
+NULL NULL 242 val_242
+NULL NULL 242 val_242
+NULL NULL 241 val_241
+NULL NULL 24 val_24
+NULL NULL 24 val_24
+NULL NULL 239 val_239
+NULL NULL 239 val_239
+NULL NULL 237 val_237
+NULL NULL 237 val_237
+NULL NULL 235 val_235
+NULL NULL 233 val_233
+NULL NULL 233 val_233
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 230 val_230
+NULL NULL 229 val_229
+NULL NULL 229 val_229
+NULL NULL 228 val_228
+NULL NULL 226 val_226
+NULL NULL 223 val_223
+NULL NULL 223 val_223
+NULL NULL 222 val_222
+NULL NULL 221 val_221
+NULL NULL 221 val_221
+NULL NULL 219 val_219
+NULL NULL 219 val_219
+NULL NULL 218 val_218
+NULL NULL 217 val_217
+NULL NULL 217 val_217
+NULL NULL 216 val_216
+NULL NULL 216 val_216
+NULL NULL 214 val_214
+NULL NULL 209 val_209
+NULL NULL 209 val_209
+NULL NULL 208 val_208
+NULL NULL 208 val_208
+NULL NULL 208 val_208
+NULL NULL 207 val_207
+NULL NULL 207 val_207
+NULL NULL 205 val_205
+NULL NULL 205 val_205
+NULL NULL 203 val_203
+NULL NULL 203 val_203
+NULL NULL 202 val_202
+NULL NULL 201 val_201
+NULL NULL 200 val_200
+NULL NULL 200 val_200
+NULL NULL 20 val_20
+NULL NULL 2 val_2
+NULL NULL 199 val_199
+NULL NULL 199 val_199
+NULL NULL 199 val_199
+NULL NULL 197 val_197
+NULL NULL 197 val_197
+NULL NULL 196 val_196
+NULL NULL 195 val_195
+NULL NULL 195 val_195
+NULL NULL 194 val_194
+NULL NULL 193 val_193
+NULL NULL 193 val_193
+NULL NULL 193 val_193
+NULL NULL 192 val_192
+NULL NULL 191 val_191
+NULL NULL 191 val_191
+NULL NULL 190 val_190
+NULL NULL 19 val_19
+NULL NULL 189 val_189
+NULL NULL 187 val_187
+NULL NULL 187 val_187
+NULL NULL 187 val_187
+NULL NULL 186 val_186
+NULL NULL 183 val_183
+NULL NULL 181 val_181
+NULL NULL 180 val_180
+NULL NULL 18 val_18
+NULL NULL 18 val_18
+NULL NULL 179 val_179
+NULL NULL 179 val_179
+NULL NULL 178 val_178
+NULL NULL 177 val_177
+NULL NULL 176 val_176
+NULL NULL 176 val_176
+NULL NULL 175 val_175
+NULL NULL 175 val_175
+NULL NULL 174 val_174
+NULL NULL 174 val_174
+NULL NULL 172 val_172
+NULL NULL 172 val_172
+NULL NULL 170 val_170
+NULL NULL 17 val_17
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 169 val_169
+NULL NULL 168 val_168
+NULL NULL 167 val_167
+NULL NULL 167 val_167
+NULL NULL 167 val_167
+NULL NULL 166 val_166
+NULL NULL 165 val_165
+NULL NULL 165 val_165
+NULL NULL 164 val_164
+NULL NULL 164 val_164
+NULL NULL 163 val_163
+NULL NULL 162 val_162
+NULL NULL 160 val_160
+NULL NULL 158 val_158
+NULL NULL 157 val_157
+NULL NULL 156 val_156
+NULL NULL 155 val_155
+NULL NULL 153 val_153
+NULL NULL 152 val_152
+NULL NULL 152 val_152
+NULL NULL 15 val_15
+NULL NULL 15 val_15
+NULL NULL 149 val_149
+NULL NULL 149 val_149
+NULL NULL 145 val_145
+NULL NULL 143 val_143
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 138 val_138
+NULL NULL 137 val_137
+NULL NULL 137 val_137
+NULL NULL 136 val_136
+NULL NULL 134 val_134
+NULL NULL 134 val_134
+NULL NULL 133 val_133
+NULL NULL 131 val_131
+NULL NULL 129 val_129
+NULL NULL 129 val_129
+NULL NULL 126 val_126
+NULL NULL 125 val_125
+NULL NULL 125 val_125
+NULL NULL 120 val_120
+NULL NULL 120 val_120
+NULL NULL 12 val_12
+NULL NULL 12 val_12
+NULL NULL 119 val_119
+NULL NULL 119 val_119
+NULL NULL 119 val_119
+NULL NULL 118 val_118
+NULL NULL 118 val_118
+NULL NULL 116 val_116
+NULL NULL 114 val_114
+NULL NULL 113 val_113
+NULL NULL 113 val_113
+NULL NULL 111 val_111
+NULL NULL 11 val_11
+NULL NULL 105 val_105
+NULL NULL 104 val_104
+NULL NULL 104 val_104
+NULL NULL 103 val_103
+NULL NULL 103 val_103
+NULL NULL 100 val_100
+NULL NULL 100 val_100
+NULL NULL 10 val_10
+NULL NULL 0 val_0
+NULL NULL 0 val_0
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+128 val_128 128 val_128
+146 val_146 146 val_146
+146 val_146 146 val_146
+146 val_146 146 val_146
+146 val_146 146 val_146
+150 val_150 150 val_150
+213 val_213 213 val_213
+213 val_213 213 val_213
+213 val_213 213 val_213
+213 val_213 213 val_213
+224 val_224 224 val_224
+224 val_224 224 val_224
+224 val_224 224 val_224
+224 val_224 224 val_224
+238 val_238 238 val_238
+238 val_238 238 val_238
+238 val_238 238 val_238
+238 val_238 238 val_238
+255 val_255 255 val_255
+255 val_255 255 val_255
+255 val_255 255 val_255
+255 val_255 255 val_255
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+273 val_273 273 val_273
+278 val_278 278 val_278
+278 val_278 278 val_278
+278 val_278 278 val_278
+278 val_278 278 val_278
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+311 val_311 311 val_311
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+369 val_369 369 val_369
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+401 val_401 401 val_401
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+406 val_406 406 val_406
+66 val_66 66 val_66
+98 val_98 98 val_98
+98 val_98 98 val_98
+98 val_98 98 val_98
+98 val_98 98 val_98
diff --git ql/src/test/results/clientpositive/tez_dml.q.out ql/src/test/results/clientpositive/tez_dml.q.out
deleted file mode 100644
index 0ada1e2..0000000
--- ql/src/test/results/clientpositive/tez_dml.q.out
+++ /dev/null
@@ -1,1787 +0,0 @@
-PREHOOK: query: -- CTAS
-EXPLAIN CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
-PREHOOK: type: CREATETABLE_AS_SELECT
-POSTHOOK: query: -- CTAS
-EXPLAIN CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
-POSTHOOK: type: CREATETABLE_AS_SELECT
-ABSTRACT SYNTAX TREE:
- (TOK_CREATETABLE (TOK_TABNAME tmp_src) TOK_LIKETABLE (TOK_QUERY (TOK_FROM (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL value)) (TOK_SELEXPR (TOK_FUNCTION count (TOK_TABLE_OR_COL value)) cnt)) (TOK_GROUPBY (TOK_TABLE_OR_COL value)))) f1)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (TOK_TABLE_OR_COL cnt))))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
- Stage-5
- Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
- Stage-9 depends on stages: Stage-2, Stage-0
- Stage-3 depends on stages: Stage-9
- Stage-0 depends on stages: Stage-5, Stage-4, Stage-7
- Stage-4
- Stage-6
- Stage-7 depends on stages: Stage-6
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Select Operator
- expressions:
- expr: value
- type: string
- outputColumnNames: value
- Group By Operator
- aggregations:
- expr: count(value)
- bucketGroup: false
- keys:
- expr: value
- type: string
- mode: hash
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col0
- type: string
- tag: -1
- value expressions:
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Group By Operator
- aggregations:
- expr: count(VALUE._col0)
- bucketGroup: false
- keys:
- expr: KEY._col0
- type: string
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: bigint
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: bigint
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 1
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src
-
- Stage: Stage-8
- Conditional Operator
-
- Stage: Stage-5
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
- Stage: Stage-2
- Dependency Collection
-
- Stage: Stage-9
- Create Table Operator:
- Create Table
- columns: value string, cnt bigint
- if not exists: false
- input format: org.apache.hadoop.mapred.TextInputFormat
- # buckets: -1
- output format: org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat
- name: tmp_src
- isExternal: false
-
- Stage: Stage-3
- Stats-Aggr Operator
-
- Stage: Stage-0
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
- Stage: Stage-4
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src
-
- Stage: Stage-6
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src
-
- Stage: Stage-7
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
-PREHOOK: query: CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
-PREHOOK: type: CREATETABLE_AS_SELECT
-PREHOOK: Input: default@src
-POSTHOOK: query: CREATE TABLE tmp_src AS SELECT * FROM (SELECT value, count(value) AS cnt FROM src GROUP BY value) f1 ORDER BY cnt
-POSTHOOK: type: CREATETABLE_AS_SELECT
-POSTHOOK: Input: default@src
-POSTHOOK: Output: default@tmp_src
-PREHOOK: query: SELECT * FROM tmp_src
-PREHOOK: type: QUERY
-PREHOOK: Input: default@tmp_src
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM tmp_src
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@tmp_src
-#### A masked pattern was here ####
-val_490 1
-val_287 1
-val_286 1
-val_285 1
-val_284 1
-val_283 1
-val_114 1
-val_487 1
-val_485 1
-val_28 1
-val_484 1
-val_181 1
-val_275 1
-val_274 1
-val_183 1
-val_483 1
-val_27 1
-val_266 1
-val_482 1
-val_263 1
-val_262 1
-val_260 1
-val_481 1
-val_258 1
-val_257 1
-val_116 1
-val_479 1
-val_252 1
-val_249 1
-val_248 1
-val_247 1
-val_244 1
-val_92 1
-val_241 1
-val_477 1
-val_475 1
-val_472 1
-val_470 1
-val_235 1
-val_47 1
-val_186 1
-val_126 1
-val_228 1
-val_226 1
-val_131 1
-val_467 1
-val_222 1
-val_133 1
-val_82 1
-val_218 1
-val_80 1
-val_460 1
-val_214 1
-val_8 1
-val_78 1
-val_189 1
-val_457 1
-val_455 1
-val_136 1
-val_202 1
-val_201 1
-val_453 1
-val_20 1
-val_2 1
-val_19 1
-val_452 1
-val_196 1
-val_449 1
-val_194 1
-val_190 1
-val_192 1
-val_448 1
-val_446 1
-val_444 1
-val_443 1
-val_44 1
-val_77 1
-val_143 1
-val_437 1
-val_436 1
-val_435 1
-val_432 1
-val_145 1
-val_150 1
-val_43 1
-val_10 1
-val_427 1
-val_74 1
-val_421 1
-val_9 1
-val_419 1
-val_418 1
-val_153 1
-val_105 1
-val_69 1
-val_411 1
-val_41 1
-val_155 1
-val_407 1
-val_156 1
-val_87 1
-val_157 1
-val_402 1
-val_158 1
-val_400 1
-val_4 1
-val_66 1
-val_65 1
-val_160 1
-val_64 1
-val_394 1
-val_393 1
-val_392 1
-val_389 1
-val_386 1
-val_162 1
-val_86 1
-val_379 1
-val_378 1
-val_377 1
-val_375 1
-val_374 1
-val_373 1
-val_57 1
-val_163 1
-val_368 1
-val_54 1
-val_366 1
-val_365 1
-val_364 1
-val_362 1
-val_360 1
-val_356 1
-val_53 1
-val_351 1
-val_166 1
-val_168 1
-val_345 1
-val_85 1
-val_11 1
-val_341 1
-val_34 1
-val_339 1
-val_338 1
-val_336 1
-val_335 1
-val_111 1
-val_332 1
-val_497 1
-val_33 1
-val_17 1
-val_496 1
-val_323 1
-val_495 1
-val_494 1
-val_170 1
-val_493 1
-val_177 1
-val_315 1
-val_178 1
-val_310 1
-val_96 1
-val_308 1
-val_491 1
-val_306 1
-val_305 1
-val_302 1
-val_30 1
-val_180 1
-val_296 1
-val_292 1
-val_291 1
-val_289 1
-val_98 2
-val_97 2
-val_95 2
-val_84 2
-val_83 2
-val_76 2
-val_72 2
-val_67 2
-val_58 2
-val_51 2
-val_492 2
-val_478 2
-val_463 2
-val_462 2
-val_459 2
-val_458 2
-val_439 2
-val_429 2
-val_424 2
-val_42 2
-val_414 2
-val_413 2
-val_404 2
-val_399 2
-val_397 2
-val_395 2
-val_382 2
-val_37 2
-val_367 2
-val_353 2
-val_344 2
-val_342 2
-val_333 2
-val_331 2
-val_325 2
-val_322 2
-val_321 2
-val_317 2
-val_309 2
-val_307 2
-val_288 2
-val_282 2
-val_281 2
-val_280 2
-val_278 2
-val_272 2
-val_265 2
-val_26 2
-val_256 2
-val_255 2
-val_242 2
-val_24 2
-val_239 2
-val_238 2
-val_237 2
-val_233 2
-val_229 2
-val_224 2
-val_223 2
-val_221 2
-val_219 2
-val_217 2
-val_216 2
-val_213 2
-val_209 2
-val_207 2
-val_205 2
-val_203 2
-val_200 2
-val_197 2
-val_195 2
-val_191 2
-val_18 2
-val_179 2
-val_176 2
-val_175 2
-val_174 2
-val_172 2
-val_165 2
-val_164 2
-val_152 2
-val_15 2
-val_149 2
-val_146 2
-val_137 2
-val_134 2
-val_129 2
-val_125 2
-val_120 2
-val_12 2
-val_118 2
-val_113 2
-val_104 2
-val_103 2
-val_100 2
-val_498 3
-val_369 3
-val_384 3
-val_396 3
-val_403 3
-val_409 3
-val_417 3
-val_5 3
-val_430 3
-val_70 3
-val_119 3
-val_0 3
-val_431 3
-val_438 3
-val_480 3
-val_193 3
-val_199 3
-val_208 3
-val_187 3
-val_273 3
-val_298 3
-val_454 3
-val_311 3
-val_316 3
-val_466 3
-val_90 3
-val_128 3
-val_318 3
-val_327 3
-val_167 3
-val_35 3
-val_468 4
-val_489 4
-val_406 4
-val_169 4
-val_138 4
-val_277 4
-val_469 5
-val_401 5
-val_230 5
-val_348 5
-PREHOOK: query: -- dyn partitions
-CREATE TABLE tmp_src_part (c string) PARTITIONED BY (d int)
-PREHOOK: type: CREATETABLE
-POSTHOOK: query: -- dyn partitions
-CREATE TABLE tmp_src_part (c string) PARTITIONED BY (d int)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: default@tmp_src_part
-PREHOOK: query: EXPLAIN INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
-PREHOOK: type: QUERY
-POSTHOOK: query: EXPLAIN INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME tmp_src))) (TOK_INSERT (TOK_INSERT_INTO (TOK_TAB (TOK_TABNAME tmp_src_part) (TOK_PARTSPEC (TOK_PARTVAL d)))) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-8 depends on stages: Stage-1 , consists of Stage-5, Stage-4, Stage-6
- Stage-5
- Stage-2 depends on stages: Stage-5, Stage-4, Stage-7
- Stage-0 depends on stages: Stage-2
- Stage-3 depends on stages: Stage-0
- Stage-4
- Stage-6
- Stage-7 depends on stages: Stage-6
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- tmp_src
- TableScan
- alias: tmp_src
- Select Operator
- expressions:
- expr: value
- type: string
- expr: cnt
- type: bigint
- outputColumnNames: _col0, _col1
- File Output Operator
- compressed: false
- GlobalTableId: 1
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src_part
-
- Stage: Stage-8
- Conditional Operator
-
- Stage: Stage-5
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
- Stage: Stage-2
- Dependency Collection
-
- Stage: Stage-0
- Move Operator
- tables:
- partition:
- d
- replace: false
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src_part
-
- Stage: Stage-3
- Stats-Aggr Operator
-
- Stage: Stage-4
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src_part
-
- Stage: Stage-6
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.tmp_src_part
-
- Stage: Stage-7
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
-PREHOOK: query: INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
-PREHOOK: type: QUERY
-PREHOOK: Input: default@tmp_src
-PREHOOK: Output: default@tmp_src_part
-POSTHOOK: query: INSERT INTO TABLE tmp_src_part PARTITION (d) SELECT * FROM tmp_src
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@tmp_src
-POSTHOOK: Output: default@tmp_src_part@d=1
-POSTHOOK: Output: default@tmp_src_part@d=2
-POSTHOOK: Output: default@tmp_src_part@d=3
-POSTHOOK: Output: default@tmp_src_part@d=4
-POSTHOOK: Output: default@tmp_src_part@d=5
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: SELECT * FROM tmp_src_part
-PREHOOK: type: QUERY
-PREHOOK: Input: default@tmp_src_part
-PREHOOK: Input: default@tmp_src_part@d=1
-PREHOOK: Input: default@tmp_src_part@d=2
-PREHOOK: Input: default@tmp_src_part@d=3
-PREHOOK: Input: default@tmp_src_part@d=4
-PREHOOK: Input: default@tmp_src_part@d=5
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM tmp_src_part
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@tmp_src_part
-POSTHOOK: Input: default@tmp_src_part@d=1
-POSTHOOK: Input: default@tmp_src_part@d=2
-POSTHOOK: Input: default@tmp_src_part@d=3
-POSTHOOK: Input: default@tmp_src_part@d=4
-POSTHOOK: Input: default@tmp_src_part@d=5
-#### A masked pattern was here ####
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-val_490 1
-val_287 1
-val_286 1
-val_285 1
-val_284 1
-val_283 1
-val_114 1
-val_487 1
-val_485 1
-val_28 1
-val_484 1
-val_181 1
-val_275 1
-val_274 1
-val_183 1
-val_483 1
-val_27 1
-val_266 1
-val_482 1
-val_263 1
-val_262 1
-val_260 1
-val_481 1
-val_258 1
-val_257 1
-val_116 1
-val_479 1
-val_252 1
-val_249 1
-val_248 1
-val_247 1
-val_244 1
-val_92 1
-val_241 1
-val_477 1
-val_475 1
-val_472 1
-val_470 1
-val_235 1
-val_47 1
-val_186 1
-val_126 1
-val_228 1
-val_226 1
-val_131 1
-val_467 1
-val_222 1
-val_133 1
-val_82 1
-val_218 1
-val_80 1
-val_460 1
-val_214 1
-val_8 1
-val_78 1
-val_189 1
-val_457 1
-val_455 1
-val_136 1
-val_202 1
-val_201 1
-val_453 1
-val_20 1
-val_2 1
-val_19 1
-val_452 1
-val_196 1
-val_449 1
-val_194 1
-val_190 1
-val_192 1
-val_448 1
-val_446 1
-val_444 1
-val_443 1
-val_44 1
-val_77 1
-val_143 1
-val_437 1
-val_436 1
-val_435 1
-val_432 1
-val_145 1
-val_150 1
-val_43 1
-val_10 1
-val_427 1
-val_74 1
-val_421 1
-val_9 1
-val_419 1
-val_418 1
-val_153 1
-val_105 1
-val_69 1
-val_411 1
-val_41 1
-val_155 1
-val_407 1
-val_156 1
-val_87 1
-val_157 1
-val_402 1
-val_158 1
-val_400 1
-val_4 1
-val_66 1
-val_65 1
-val_160 1
-val_64 1
-val_394 1
-val_393 1
-val_392 1
-val_389 1
-val_386 1
-val_162 1
-val_86 1
-val_379 1
-val_378 1
-val_377 1
-val_375 1
-val_374 1
-val_373 1
-val_57 1
-val_163 1
-val_368 1
-val_54 1
-val_366 1
-val_365 1
-val_364 1
-val_362 1
-val_360 1
-val_356 1
-val_53 1
-val_351 1
-val_166 1
-val_168 1
-val_345 1
-val_85 1
-val_11 1
-val_341 1
-val_34 1
-val_339 1
-val_338 1
-val_336 1
-val_335 1
-val_111 1
-val_332 1
-val_497 1
-val_33 1
-val_17 1
-val_496 1
-val_323 1
-val_495 1
-val_494 1
-val_170 1
-val_493 1
-val_177 1
-val_315 1
-val_178 1
-val_310 1
-val_96 1
-val_308 1
-val_491 1
-val_306 1
-val_305 1
-val_302 1
-val_30 1
-val_180 1
-val_296 1
-val_292 1
-val_291 1
-val_289 1
-val_98 2
-val_97 2
-val_95 2
-val_84 2
-val_83 2
-val_76 2
-val_72 2
-val_67 2
-val_58 2
-val_51 2
-val_492 2
-val_478 2
-val_463 2
-val_462 2
-val_459 2
-val_458 2
-val_439 2
-val_429 2
-val_424 2
-val_42 2
-val_414 2
-val_413 2
-val_404 2
-val_399 2
-val_397 2
-val_395 2
-val_382 2
-val_37 2
-val_367 2
-val_353 2
-val_344 2
-val_342 2
-val_333 2
-val_331 2
-val_325 2
-val_322 2
-val_321 2
-val_317 2
-val_309 2
-val_307 2
-val_288 2
-val_282 2
-val_281 2
-val_280 2
-val_278 2
-val_272 2
-val_265 2
-val_26 2
-val_256 2
-val_255 2
-val_242 2
-val_24 2
-val_239 2
-val_238 2
-val_237 2
-val_233 2
-val_229 2
-val_224 2
-val_223 2
-val_221 2
-val_219 2
-val_217 2
-val_216 2
-val_213 2
-val_209 2
-val_207 2
-val_205 2
-val_203 2
-val_200 2
-val_197 2
-val_195 2
-val_191 2
-val_18 2
-val_179 2
-val_176 2
-val_175 2
-val_174 2
-val_172 2
-val_165 2
-val_164 2
-val_152 2
-val_15 2
-val_149 2
-val_146 2
-val_137 2
-val_134 2
-val_129 2
-val_125 2
-val_120 2
-val_12 2
-val_118 2
-val_113 2
-val_104 2
-val_103 2
-val_100 2
-val_498 3
-val_369 3
-val_384 3
-val_396 3
-val_403 3
-val_409 3
-val_417 3
-val_5 3
-val_430 3
-val_70 3
-val_119 3
-val_0 3
-val_431 3
-val_438 3
-val_480 3
-val_193 3
-val_199 3
-val_208 3
-val_187 3
-val_273 3
-val_298 3
-val_454 3
-val_311 3
-val_316 3
-val_466 3
-val_90 3
-val_128 3
-val_318 3
-val_327 3
-val_167 3
-val_35 3
-val_468 4
-val_489 4
-val_406 4
-val_169 4
-val_138 4
-val_277 4
-val_469 5
-val_401 5
-val_230 5
-val_348 5
-PREHOOK: query: -- multi insert
-CREATE TABLE even (c int, d string)
-PREHOOK: type: CREATETABLE
-POSTHOOK: query: -- multi insert
-CREATE TABLE even (c int, d string)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: default@even
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: CREATE TABLE odd (c int, d string)
-PREHOOK: type: CREATETABLE
-POSTHOOK: query: CREATE TABLE odd (c int, d string)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: default@odd
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: EXPLAIN
-FROM src
-INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
-INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
-PREHOOK: type: QUERY
-POSTHOOK: query: EXPLAIN
-FROM src
-INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
-INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
-POSTHOOK: type: QUERY
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_TABREF (TOK_TABNAME src))) (TOK_INSERT (TOK_INSERT_INTO (TOK_TAB (TOK_TABNAME even))) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_WHERE (= (% (TOK_TABLE_OR_COL key) 2) 0))) (TOK_INSERT (TOK_INSERT_INTO (TOK_TAB (TOK_TABNAME odd))) (TOK_SELECT (TOK_SELEXPR (TOK_TABLE_OR_COL key)) (TOK_SELEXPR (TOK_TABLE_OR_COL value))) (TOK_WHERE (= (% (TOK_TABLE_OR_COL key) 2) 1))))
-
-STAGE DEPENDENCIES:
- Stage-2 is a root stage
- Stage-9 depends on stages: Stage-2 , consists of Stage-6, Stage-5, Stage-7
- Stage-6
- Stage-3 depends on stages: Stage-6, Stage-5, Stage-8, Stage-12, Stage-11, Stage-14
- Stage-0 depends on stages: Stage-3
- Stage-4 depends on stages: Stage-0
- Stage-1 depends on stages: Stage-3
- Stage-10 depends on stages: Stage-1
- Stage-5
- Stage-7
- Stage-8 depends on stages: Stage-7
- Stage-15 depends on stages: Stage-2 , consists of Stage-12, Stage-11, Stage-13
- Stage-12
- Stage-11
- Stage-13
- Stage-14 depends on stages: Stage-13
-
-STAGE PLANS:
- Stage: Stage-2
- Tez
- Alias -> Map Operator Tree:
- src
- TableScan
- alias: src
- Filter Operator
- predicate:
- expr: ((key % 2) = 0)
- type: boolean
- Select Operator
- expressions:
- expr: UDFToInteger(key)
- type: int
- expr: value
- type: string
- outputColumnNames: _col0, _col1
- File Output Operator
- compressed: false
- GlobalTableId: 1
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.even
- Filter Operator
- predicate:
- expr: ((key % 2) = 1)
- type: boolean
- Select Operator
- expressions:
- expr: UDFToInteger(key)
- type: int
- expr: value
- type: string
- outputColumnNames: _col0, _col1
- File Output Operator
- compressed: false
- GlobalTableId: 2
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.odd
-
- Stage: Stage-9
- Conditional Operator
-
- Stage: Stage-6
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
- Stage: Stage-3
- Dependency Collection
-
- Stage: Stage-0
- Move Operator
- tables:
- replace: false
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.even
-
- Stage: Stage-4
- Stats-Aggr Operator
-
- Stage: Stage-1
- Move Operator
- tables:
- replace: false
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.odd
-
- Stage: Stage-10
- Stats-Aggr Operator
-
- Stage: Stage-5
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.even
-
- Stage: Stage-7
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.even
-
- Stage: Stage-8
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
- Stage: Stage-15
- Conditional Operator
-
- Stage: Stage-12
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
- Stage: Stage-11
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.odd
-
- Stage: Stage-13
- Tez
- Alias -> Map Operator Tree:
-#### A masked pattern was here ####
- TableScan
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.odd
-
- Stage: Stage-14
- Move Operator
- files:
- hdfs directory: true
-#### A masked pattern was here ####
-
-PREHOOK: query: FROM src
-INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
-INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Output: default@even
-PREHOOK: Output: default@odd
-POSTHOOK: query: FROM src
-INSERT INTO TABLE even SELECT key, value WHERE key % 2 = 0
-INSERT INTO TABLE odd SELECT key, value WHERE key % 2 = 1
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Output: default@even
-POSTHOOK: Output: default@odd
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: SELECT * FROM even
-PREHOOK: type: QUERY
-PREHOOK: Input: default@even
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM even
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@even
-#### A masked pattern was here ####
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-238 val_238
-86 val_86
-278 val_278
-98 val_98
-484 val_484
-150 val_150
-224 val_224
-66 val_66
-128 val_128
-146 val_146
-406 val_406
-374 val_374
-152 val_152
-82 val_82
-166 val_166
-430 val_430
-252 val_252
-292 val_292
-338 val_338
-446 val_446
-394 val_394
-482 val_482
-174 val_174
-494 val_494
-466 val_466
-208 val_208
-174 val_174
-396 val_396
-162 val_162
-266 val_266
-342 val_342
-0 val_0
-128 val_128
-316 val_316
-302 val_302
-438 val_438
-170 val_170
-20 val_20
-378 val_378
-92 val_92
-72 val_72
-4 val_4
-280 val_280
-208 val_208
-356 val_356
-382 val_382
-498 val_498
-386 val_386
-192 val_192
-286 val_286
-176 val_176
-54 val_54
-138 val_138
-216 val_216
-430 val_430
-278 val_278
-176 val_176
-318 val_318
-332 val_332
-180 val_180
-284 val_284
-12 val_12
-230 val_230
-260 val_260
-404 val_404
-384 val_384
-272 val_272
-138 val_138
-84 val_84
-348 val_348
-466 val_466
-58 val_58
-8 val_8
-230 val_230
-208 val_208
-348 val_348
-24 val_24
-172 val_172
-42 val_42
-158 val_158
-496 val_496
-0 val_0
-322 val_322
-468 val_468
-454 val_454
-100 val_100
-298 val_298
-418 val_418
-96 val_96
-26 val_26
-230 val_230
-120 val_120
-404 val_404
-436 val_436
-156 val_156
-468 val_468
-308 val_308
-196 val_196
-288 val_288
-98 val_98
-282 val_282
-318 val_318
-318 val_318
-470 val_470
-316 val_316
-0 val_0
-490 val_490
-364 val_364
-118 val_118
-134 val_134
-282 val_282
-138 val_138
-238 val_238
-118 val_118
-72 val_72
-90 val_90
-10 val_10
-306 val_306
-224 val_224
-242 val_242
-392 val_392
-272 val_272
-242 val_242
-452 val_452
-226 val_226
-402 val_402
-396 val_396
-58 val_58
-336 val_336
-168 val_168
-34 val_34
-472 val_472
-322 val_322
-498 val_498
-160 val_160
-42 val_42
-430 val_430
-458 val_458
-78 val_78
-76 val_76
-492 val_492
-218 val_218
-228 val_228
-138 val_138
-30 val_30
-64 val_64
-468 val_468
-76 val_76
-74 val_74
-342 val_342
-230 val_230
-368 val_368
-296 val_296
-216 val_216
-344 val_344
-274 val_274
-116 val_116
-256 val_256
-70 val_70
-480 val_480
-288 val_288
-244 val_244
-438 val_438
-128 val_128
-432 val_432
-202 val_202
-316 val_316
-280 val_280
-2 val_2
-80 val_80
-44 val_44
-104 val_104
-466 val_466
-366 val_366
-406 val_406
-190 val_190
-406 val_406
-114 val_114
-258 val_258
-90 val_90
-262 val_262
-348 val_348
-424 val_424
-12 val_12
-396 val_396
-164 val_164
-454 val_454
-478 val_478
-298 val_298
-164 val_164
-424 val_424
-382 val_382
-70 val_70
-480 val_480
-24 val_24
-104 val_104
-70 val_70
-438 val_438
-414 val_414
-200 val_200
-360 val_360
-248 val_248
-444 val_444
-120 val_120
-230 val_230
-478 val_478
-178 val_178
-468 val_468
-310 val_310
-460 val_460
-480 val_480
-136 val_136
-172 val_172
-214 val_214
-462 val_462
-406 val_406
-454 val_454
-384 val_384
-256 val_256
-26 val_26
-134 val_134
-384 val_384
-18 val_18
-462 val_462
-492 val_492
-100 val_100
-298 val_298
-498 val_498
-146 val_146
-458 val_458
-362 val_362
-186 val_186
-348 val_348
-18 val_18
-344 val_344
-84 val_84
-28 val_28
-448 val_448
-152 val_152
-348 val_348
-194 val_194
-414 val_414
-222 val_222
-126 val_126
-90 val_90
-400 val_400
-200 val_200
-PREHOOK: query: SELECT * FROM odd
-PREHOOK: type: QUERY
-PREHOOK: Input: default@odd
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM odd
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@odd
-#### A masked pattern was here ####
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-311 val_311
-27 val_27
-165 val_165
-409 val_409
-255 val_255
-265 val_265
-193 val_193
-401 val_401
-273 val_273
-369 val_369
-213 val_213
-429 val_429
-469 val_469
-145 val_145
-495 val_495
-37 val_37
-327 val_327
-281 val_281
-277 val_277
-209 val_209
-15 val_15
-403 val_403
-417 val_417
-219 val_219
-287 val_287
-153 val_153
-193 val_193
-459 val_459
-237 val_237
-413 val_413
-207 val_207
-199 val_199
-399 val_399
-247 val_247
-417 val_417
-489 val_489
-377 val_377
-397 val_397
-309 val_309
-365 val_365
-439 val_439
-367 val_367
-325 val_325
-167 val_167
-195 val_195
-475 val_475
-17 val_17
-113 val_113
-155 val_155
-203 val_203
-339 val_339
-455 val_455
-311 val_311
-57 val_57
-205 val_205
-149 val_149
-345 val_345
-129 val_129
-489 val_489
-157 val_157
-221 val_221
-111 val_111
-47 val_47
-35 val_35
-427 val_427
-277 val_277
-399 val_399
-169 val_169
-125 val_125
-437 val_437
-469 val_469
-187 val_187
-459 val_459
-51 val_51
-103 val_103
-239 val_239
-213 val_213
-289 val_289
-221 val_221
-65 val_65
-311 val_311
-275 val_275
-137 val_137
-241 val_241
-83 val_83
-333 val_333
-181 val_181
-67 val_67
-489 val_489
-353 val_353
-373 val_373
-217 val_217
-411 val_411
-463 val_463
-431 val_431
-179 val_179
-129 val_129
-119 val_119
-197 val_197
-393 val_393
-199 val_199
-191 val_191
-165 val_165
-327 val_327
-205 val_205
-131 val_131
-51 val_51
-43 val_43
-469 val_469
-95 val_95
-481 val_481
-457 val_457
-197 val_197
-187 val_187
-409 val_409
-137 val_137
-369 val_369
-169 val_169
-413 val_413
-85 val_85
-77 val_77
-87 val_87
-179 val_179
-395 val_395
-419 val_419
-15 val_15
-307 val_307
-19 val_19
-435 val_435
-277 val_277
-273 val_273
-309 val_309
-389 val_389
-327 val_327
-369 val_369
-331 val_331
-401 val_401
-177 val_177
-5 val_5
-497 val_497
-317 val_317
-395 val_395
-35 val_35
-95 val_95
-11 val_11
-229 val_229
-233 val_233
-143 val_143
-195 val_195
-321 val_321
-119 val_119
-489 val_489
-41 val_41
-223 val_223
-149 val_149
-449 val_449
-453 val_453
-209 val_209
-69 val_69
-33 val_33
-103 val_103
-113 val_113
-367 val_367
-167 val_167
-219 val_219
-239 val_239
-485 val_485
-223 val_223
-263 val_263
-487 val_487
-401 val_401
-191 val_191
-5 val_5
-467 val_467
-229 val_229
-469 val_469
-463 val_463
-35 val_35
-283 val_283
-331 val_331
-235 val_235
-193 val_193
-321 val_321
-335 val_335
-175 val_175
-403 val_403
-483 val_483
-53 val_53
-105 val_105
-257 val_257
-409 val_409
-401 val_401
-203 val_203
-201 val_201
-217 val_217
-431 val_431
-125 val_125
-431 val_431
-187 val_187
-5 val_5
-397 val_397
-291 val_291
-351 val_351
-255 val_255
-163 val_163
-119 val_119
-491 val_491
-237 val_237
-439 val_439
-479 val_479
-305 val_305
-417 val_417
-199 val_199
-429 val_429
-169 val_169
-443 val_443
-323 val_323
-325 val_325
-277 val_277
-317 val_317
-333 val_333
-493 val_493
-207 val_207
-249 val_249
-265 val_265
-83 val_83
-353 val_353
-233 val_233
-133 val_133
-175 val_175
-189 val_189
-375 val_375
-401 val_401
-421 val_421
-407 val_407
-67 val_67
-379 val_379
-9 val_9
-341 val_341
-285 val_285
-167 val_167
-273 val_273
-183 val_183
-281 val_281
-97 val_97
-469 val_469
-315 val_315
-37 val_37
-307 val_307
-477 val_477
-169 val_169
-403 val_403
-97 val_97
-PREHOOK: query: -- drop the tables
-DROP TABLE even
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@even
-PREHOOK: Output: default@even
-POSTHOOK: query: -- drop the tables
-DROP TABLE even
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@even
-POSTHOOK: Output: default@even
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: DROP TABLE odd
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@odd
-PREHOOK: Output: default@odd
-POSTHOOK: query: DROP TABLE odd
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@odd
-POSTHOOK: Output: default@odd
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: DROP TABLE tmp_src
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@tmp_src
-PREHOOK: Output: default@tmp_src
-POSTHOOK: query: DROP TABLE tmp_src
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@tmp_src
-POSTHOOK: Output: default@tmp_src
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-PREHOOK: query: DROP TABLE tmp_src_part
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@tmp_src_part
-PREHOOK: Output: default@tmp_src_part
-POSTHOOK: query: DROP TABLE tmp_src_part
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@tmp_src_part
-POSTHOOK: Output: default@tmp_src_part
-POSTHOOK: Lineage: even.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: even.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.c EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
-POSTHOOK: Lineage: odd.d SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=1).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=2).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=3).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=4).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
-POSTHOOK: Lineage: tmp_src_part PARTITION(d=5).c SIMPLE [(tmp_src)tmp_src.FieldSchema(name:value, type:string, comment:null), ]
diff --git ql/src/test/results/clientpositive/tez_insert_overwrite_local_directory_1.q.out ql/src/test/results/clientpositive/tez_insert_overwrite_local_directory_1.q.out
deleted file mode 100644
index c42e99d..0000000
--- ql/src/test/results/clientpositive/tez_insert_overwrite_local_directory_1.q.out
+++ /dev/null
@@ -1,20 +0,0 @@
-#### A masked pattern was here ####
-select * from src order by key limit 10
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-#### A masked pattern was here ####
-select * from src order by key limit 10
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-#### A masked pattern was here ####
-0val_0
-0val_0
-0val_0
-10val_10
-100val_100
-100val_100
-103val_103
-103val_103
-104val_104
-104val_104
-#### A masked pattern was here ####
diff --git ql/src/test/results/clientpositive/tez_join_tests.q.out ql/src/test/results/clientpositive/tez_join_tests.q.out
deleted file mode 100644
index 1dda624..0000000
--- ql/src/test/results/clientpositive/tez_join_tests.q.out
+++ /dev/null
@@ -1,2247 +0,0 @@
-PREHOOK: query: explain
-select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain
-select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_LEFTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL b) key))))) x) (TOK_TABREF (TOK_TABNAME src) c) (= (. (TOK_TABLE_OR_COL x) value) (. (TOK_TABLE_OR_COL c) value)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL x) key)))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- b
- TableScan
- alias: b
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 1
- value expressions:
- expr: key
- type: string
- expr: value
- type: string
- Alias -> Map Operator Tree:
- a
- TableScan
- alias: a
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 0
- Reduce Operator Tree:
- Join Operator
- condition map:
- Left Outer Join0 to 1
- condition expressions:
- 0
- 1 {VALUE._col0} {VALUE._col1}
- handleSkewJoin: false
- outputColumnNames: _col4, _col5
- Select Operator
- expressions:
- expr: _col4
- type: string
- expr: _col5
- type: string
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- Reduce Operator Tree:
- Extract
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col1
- type: string
- tag: 0
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- Alias -> Map Operator Tree:
- c
- TableScan
- alias: c
- Reduce Output Operator
- key expressions:
- expr: value
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: value
- type: string
- tag: 1
- value expressions:
- expr: key
- type: string
- expr: value
- type: string
- Reduce Operator Tree:
- Join Operator
- condition map:
- Right Outer Join0 to 1
- condition expressions:
- 0 {VALUE._col0} {VALUE._col1}
- 1 {VALUE._col0} {VALUE._col1}
- handleSkewJoin: false
- outputColumnNames: _col0, _col1, _col2, _col3
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- expr: _col2
- type: string
- expr: _col3
- type: string
- outputColumnNames: _col0, _col1, _col2, _col3
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- expr: _col2
- type: string
- expr: _col3
- type: string
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-NULL NULL 0 val_0
-NULL NULL 97 val_97
-NULL NULL 97 val_97
-NULL NULL 96 val_96
-NULL NULL 95 val_95
-NULL NULL 95 val_95
-NULL NULL 92 val_92
-NULL NULL 90 val_90
-NULL NULL 90 val_90
-NULL NULL 90 val_90
-NULL NULL 9 val_9
-NULL NULL 87 val_87
-NULL NULL 86 val_86
-NULL NULL 85 val_85
-NULL NULL 84 val_84
-NULL NULL 84 val_84
-NULL NULL 83 val_83
-NULL NULL 83 val_83
-NULL NULL 82 val_82
-NULL NULL 80 val_80
-NULL NULL 8 val_8
-NULL NULL 78 val_78
-NULL NULL 77 val_77
-NULL NULL 76 val_76
-NULL NULL 76 val_76
-NULL NULL 74 val_74
-NULL NULL 72 val_72
-NULL NULL 72 val_72
-NULL NULL 70 val_70
-NULL NULL 70 val_70
-NULL NULL 70 val_70
-NULL NULL 69 val_69
-NULL NULL 67 val_67
-NULL NULL 67 val_67
-NULL NULL 65 val_65
-NULL NULL 64 val_64
-NULL NULL 58 val_58
-NULL NULL 58 val_58
-NULL NULL 57 val_57
-NULL NULL 54 val_54
-NULL NULL 53 val_53
-NULL NULL 51 val_51
-NULL NULL 51 val_51
-NULL NULL 5 val_5
-NULL NULL 5 val_5
-NULL NULL 5 val_5
-NULL NULL 498 val_498
-NULL NULL 498 val_498
-NULL NULL 498 val_498
-NULL NULL 497 val_497
-NULL NULL 496 val_496
-NULL NULL 495 val_495
-NULL NULL 494 val_494
-NULL NULL 493 val_493
-NULL NULL 492 val_492
-NULL NULL 492 val_492
-NULL NULL 491 val_491
-NULL NULL 490 val_490
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 487 val_487
-NULL NULL 485 val_485
-NULL NULL 484 val_484
-NULL NULL 483 val_483
-NULL NULL 482 val_482
-NULL NULL 481 val_481
-NULL NULL 480 val_480
-NULL NULL 480 val_480
-NULL NULL 480 val_480
-NULL NULL 479 val_479
-NULL NULL 478 val_478
-NULL NULL 478 val_478
-NULL NULL 477 val_477
-NULL NULL 475 val_475
-NULL NULL 472 val_472
-NULL NULL 470 val_470
-NULL NULL 47 val_47
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 467 val_467
-NULL NULL 466 val_466
-NULL NULL 466 val_466
-NULL NULL 466 val_466
-NULL NULL 463 val_463
-NULL NULL 463 val_463
-NULL NULL 462 val_462
-NULL NULL 462 val_462
-NULL NULL 460 val_460
-NULL NULL 459 val_459
-NULL NULL 459 val_459
-NULL NULL 458 val_458
-NULL NULL 458 val_458
-NULL NULL 457 val_457
-NULL NULL 455 val_455
-NULL NULL 454 val_454
-NULL NULL 454 val_454
-NULL NULL 454 val_454
-NULL NULL 453 val_453
-NULL NULL 452 val_452
-NULL NULL 449 val_449
-NULL NULL 448 val_448
-NULL NULL 446 val_446
-NULL NULL 444 val_444
-NULL NULL 443 val_443
-NULL NULL 44 val_44
-NULL NULL 439 val_439
-NULL NULL 439 val_439
-NULL NULL 438 val_438
-NULL NULL 438 val_438
-NULL NULL 438 val_438
-NULL NULL 437 val_437
-NULL NULL 436 val_436
-NULL NULL 435 val_435
-NULL NULL 432 val_432
-NULL NULL 431 val_431
-NULL NULL 431 val_431
-NULL NULL 431 val_431
-NULL NULL 430 val_430
-NULL NULL 430 val_430
-NULL NULL 430 val_430
-NULL NULL 43 val_43
-NULL NULL 429 val_429
-NULL NULL 429 val_429
-NULL NULL 427 val_427
-NULL NULL 424 val_424
-NULL NULL 424 val_424
-NULL NULL 421 val_421
-NULL NULL 42 val_42
-NULL NULL 42 val_42
-NULL NULL 419 val_419
-NULL NULL 418 val_418
-NULL NULL 417 val_417
-NULL NULL 417 val_417
-NULL NULL 417 val_417
-NULL NULL 414 val_414
-NULL NULL 414 val_414
-NULL NULL 413 val_413
-NULL NULL 413 val_413
-NULL NULL 411 val_411
-NULL NULL 41 val_41
-NULL NULL 409 val_409
-NULL NULL 409 val_409
-NULL NULL 409 val_409
-NULL NULL 407 val_407
-NULL NULL 404 val_404
-NULL NULL 404 val_404
-NULL NULL 403 val_403
-NULL NULL 403 val_403
-NULL NULL 403 val_403
-NULL NULL 402 val_402
-NULL NULL 400 val_400
-NULL NULL 4 val_4
-NULL NULL 399 val_399
-NULL NULL 399 val_399
-NULL NULL 397 val_397
-NULL NULL 397 val_397
-NULL NULL 396 val_396
-NULL NULL 396 val_396
-NULL NULL 396 val_396
-NULL NULL 395 val_395
-NULL NULL 395 val_395
-NULL NULL 394 val_394
-NULL NULL 393 val_393
-NULL NULL 392 val_392
-NULL NULL 389 val_389
-NULL NULL 386 val_386
-NULL NULL 384 val_384
-NULL NULL 384 val_384
-NULL NULL 384 val_384
-NULL NULL 382 val_382
-NULL NULL 382 val_382
-NULL NULL 379 val_379
-NULL NULL 378 val_378
-NULL NULL 377 val_377
-NULL NULL 375 val_375
-NULL NULL 374 val_374
-NULL NULL 373 val_373
-NULL NULL 37 val_37
-NULL NULL 37 val_37
-NULL NULL 368 val_368
-NULL NULL 367 val_367
-NULL NULL 367 val_367
-NULL NULL 366 val_366
-NULL NULL 365 val_365
-NULL NULL 364 val_364
-NULL NULL 362 val_362
-NULL NULL 360 val_360
-NULL NULL 356 val_356
-NULL NULL 353 val_353
-NULL NULL 353 val_353
-NULL NULL 351 val_351
-NULL NULL 35 val_35
-NULL NULL 35 val_35
-NULL NULL 35 val_35
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 345 val_345
-NULL NULL 344 val_344
-NULL NULL 344 val_344
-NULL NULL 342 val_342
-NULL NULL 342 val_342
-NULL NULL 341 val_341
-NULL NULL 34 val_34
-NULL NULL 339 val_339
-NULL NULL 338 val_338
-NULL NULL 336 val_336
-NULL NULL 335 val_335
-NULL NULL 333 val_333
-NULL NULL 333 val_333
-NULL NULL 332 val_332
-NULL NULL 331 val_331
-NULL NULL 331 val_331
-NULL NULL 33 val_33
-NULL NULL 327 val_327
-NULL NULL 327 val_327
-NULL NULL 327 val_327
-NULL NULL 325 val_325
-NULL NULL 325 val_325
-NULL NULL 323 val_323
-NULL NULL 322 val_322
-NULL NULL 322 val_322
-NULL NULL 321 val_321
-NULL NULL 321 val_321
-NULL NULL 318 val_318
-NULL NULL 318 val_318
-NULL NULL 318 val_318
-NULL NULL 317 val_317
-NULL NULL 317 val_317
-NULL NULL 316 val_316
-NULL NULL 316 val_316
-NULL NULL 316 val_316
-NULL NULL 315 val_315
-NULL NULL 310 val_310
-NULL NULL 309 val_309
-NULL NULL 309 val_309
-NULL NULL 308 val_308
-NULL NULL 307 val_307
-NULL NULL 307 val_307
-NULL NULL 306 val_306
-NULL NULL 305 val_305
-NULL NULL 302 val_302
-NULL NULL 30 val_30
-NULL NULL 298 val_298
-NULL NULL 298 val_298
-NULL NULL 298 val_298
-NULL NULL 296 val_296
-NULL NULL 292 val_292
-NULL NULL 291 val_291
-NULL NULL 289 val_289
-NULL NULL 288 val_288
-NULL NULL 288 val_288
-NULL NULL 287 val_287
-NULL NULL 286 val_286
-NULL NULL 285 val_285
-NULL NULL 284 val_284
-NULL NULL 283 val_283
-NULL NULL 282 val_282
-NULL NULL 282 val_282
-NULL NULL 281 val_281
-NULL NULL 281 val_281
-NULL NULL 280 val_280
-NULL NULL 280 val_280
-NULL NULL 28 val_28
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 275 val_275
-NULL NULL 274 val_274
-NULL NULL 272 val_272
-NULL NULL 272 val_272
-NULL NULL 27 val_27
-NULL NULL 266 val_266
-NULL NULL 265 val_265
-NULL NULL 265 val_265
-NULL NULL 263 val_263
-NULL NULL 262 val_262
-NULL NULL 260 val_260
-NULL NULL 26 val_26
-NULL NULL 26 val_26
-NULL NULL 258 val_258
-NULL NULL 257 val_257
-NULL NULL 256 val_256
-NULL NULL 256 val_256
-NULL NULL 252 val_252
-NULL NULL 249 val_249
-NULL NULL 248 val_248
-NULL NULL 247 val_247
-NULL NULL 244 val_244
-NULL NULL 242 val_242
-NULL NULL 242 val_242
-NULL NULL 241 val_241
-NULL NULL 24 val_24
-NULL NULL 24 val_24
-NULL NULL 239 val_239
-NULL NULL 239 val_239
-NULL NULL 237 val_237
-NULL NULL 237 val_237
-NULL NULL 235 val_235
-NULL NULL 233 val_233
-NULL NULL 233 val_233
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 229 val_229
-NULL NULL 229 val_229
-NULL NULL 228 val_228
-NULL NULL 226 val_226
-NULL NULL 223 val_223
-NULL NULL 223 val_223
-NULL NULL 222 val_222
-NULL NULL 221 val_221
-NULL NULL 221 val_221
-NULL NULL 219 val_219
-NULL NULL 219 val_219
-NULL NULL 218 val_218
-NULL NULL 217 val_217
-NULL NULL 217 val_217
-NULL NULL 216 val_216
-NULL NULL 216 val_216
-NULL NULL 214 val_214
-NULL NULL 209 val_209
-NULL NULL 209 val_209
-NULL NULL 208 val_208
-NULL NULL 208 val_208
-NULL NULL 208 val_208
-NULL NULL 207 val_207
-NULL NULL 207 val_207
-NULL NULL 205 val_205
-NULL NULL 205 val_205
-NULL NULL 203 val_203
-NULL NULL 203 val_203
-NULL NULL 202 val_202
-NULL NULL 201 val_201
-NULL NULL 200 val_200
-NULL NULL 200 val_200
-NULL NULL 20 val_20
-NULL NULL 2 val_2
-NULL NULL 199 val_199
-NULL NULL 199 val_199
-NULL NULL 199 val_199
-NULL NULL 197 val_197
-NULL NULL 197 val_197
-NULL NULL 196 val_196
-NULL NULL 195 val_195
-NULL NULL 195 val_195
-NULL NULL 194 val_194
-NULL NULL 193 val_193
-NULL NULL 193 val_193
-NULL NULL 193 val_193
-NULL NULL 192 val_192
-NULL NULL 191 val_191
-NULL NULL 191 val_191
-NULL NULL 190 val_190
-NULL NULL 19 val_19
-NULL NULL 189 val_189
-NULL NULL 187 val_187
-NULL NULL 187 val_187
-NULL NULL 187 val_187
-NULL NULL 186 val_186
-NULL NULL 183 val_183
-NULL NULL 181 val_181
-NULL NULL 180 val_180
-NULL NULL 18 val_18
-NULL NULL 18 val_18
-NULL NULL 179 val_179
-NULL NULL 179 val_179
-NULL NULL 178 val_178
-NULL NULL 177 val_177
-NULL NULL 176 val_176
-NULL NULL 176 val_176
-NULL NULL 175 val_175
-NULL NULL 175 val_175
-NULL NULL 174 val_174
-NULL NULL 174 val_174
-NULL NULL 172 val_172
-NULL NULL 172 val_172
-NULL NULL 170 val_170
-NULL NULL 17 val_17
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 168 val_168
-NULL NULL 167 val_167
-NULL NULL 167 val_167
-NULL NULL 167 val_167
-NULL NULL 166 val_166
-NULL NULL 165 val_165
-NULL NULL 165 val_165
-NULL NULL 164 val_164
-NULL NULL 164 val_164
-NULL NULL 163 val_163
-NULL NULL 162 val_162
-NULL NULL 160 val_160
-NULL NULL 158 val_158
-NULL NULL 157 val_157
-NULL NULL 156 val_156
-NULL NULL 155 val_155
-NULL NULL 153 val_153
-NULL NULL 152 val_152
-NULL NULL 152 val_152
-NULL NULL 15 val_15
-NULL NULL 15 val_15
-NULL NULL 149 val_149
-NULL NULL 149 val_149
-NULL NULL 145 val_145
-NULL NULL 143 val_143
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 137 val_137
-NULL NULL 137 val_137
-NULL NULL 136 val_136
-NULL NULL 134 val_134
-NULL NULL 134 val_134
-NULL NULL 133 val_133
-NULL NULL 131 val_131
-NULL NULL 129 val_129
-NULL NULL 129 val_129
-NULL NULL 126 val_126
-NULL NULL 125 val_125
-NULL NULL 125 val_125
-NULL NULL 120 val_120
-NULL NULL 120 val_120
-NULL NULL 12 val_12
-NULL NULL 12 val_12
-NULL NULL 119 val_119
-NULL NULL 119 val_119
-NULL NULL 119 val_119
-NULL NULL 118 val_118
-NULL NULL 118 val_118
-NULL NULL 116 val_116
-NULL NULL 114 val_114
-NULL NULL 113 val_113
-NULL NULL 113 val_113
-NULL NULL 111 val_111
-NULL NULL 11 val_11
-NULL NULL 105 val_105
-NULL NULL 104 val_104
-NULL NULL 104 val_104
-NULL NULL 103 val_103
-NULL NULL 103 val_103
-NULL NULL 100 val_100
-NULL NULL 100 val_100
-NULL NULL 10 val_10
-NULL NULL 0 val_0
-NULL NULL 0 val_0
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-146 val_146 146 val_146
-146 val_146 146 val_146
-146 val_146 146 val_146
-146 val_146 146 val_146
-150 val_150 150 val_150
-213 val_213 213 val_213
-213 val_213 213 val_213
-213 val_213 213 val_213
-213 val_213 213 val_213
-224 val_224 224 val_224
-224 val_224 224 val_224
-224 val_224 224 val_224
-224 val_224 224 val_224
-238 val_238 238 val_238
-238 val_238 238 val_238
-238 val_238 238 val_238
-238 val_238 238 val_238
-255 val_255 255 val_255
-255 val_255 255 val_255
-255 val_255 255 val_255
-255 val_255 255 val_255
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-278 val_278 278 val_278
-278 val_278 278 val_278
-278 val_278 278 val_278
-278 val_278 278 val_278
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-66 val_66 66 val_66
-98 val_98 98 val_98
-98 val_98 98 val_98
-98 val_98 98 val_98
-98 val_98 98 val_98
-PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key)) x right outer join src c on (x.value = c.value) order by x.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-NULL NULL 0 val_0
-NULL NULL 97 val_97
-NULL NULL 97 val_97
-NULL NULL 96 val_96
-NULL NULL 95 val_95
-NULL NULL 95 val_95
-NULL NULL 92 val_92
-NULL NULL 90 val_90
-NULL NULL 90 val_90
-NULL NULL 90 val_90
-NULL NULL 9 val_9
-NULL NULL 87 val_87
-NULL NULL 86 val_86
-NULL NULL 85 val_85
-NULL NULL 84 val_84
-NULL NULL 84 val_84
-NULL NULL 83 val_83
-NULL NULL 83 val_83
-NULL NULL 82 val_82
-NULL NULL 80 val_80
-NULL NULL 8 val_8
-NULL NULL 78 val_78
-NULL NULL 77 val_77
-NULL NULL 76 val_76
-NULL NULL 76 val_76
-NULL NULL 74 val_74
-NULL NULL 72 val_72
-NULL NULL 72 val_72
-NULL NULL 70 val_70
-NULL NULL 70 val_70
-NULL NULL 70 val_70
-NULL NULL 69 val_69
-NULL NULL 67 val_67
-NULL NULL 67 val_67
-NULL NULL 65 val_65
-NULL NULL 64 val_64
-NULL NULL 58 val_58
-NULL NULL 58 val_58
-NULL NULL 57 val_57
-NULL NULL 54 val_54
-NULL NULL 53 val_53
-NULL NULL 51 val_51
-NULL NULL 51 val_51
-NULL NULL 5 val_5
-NULL NULL 5 val_5
-NULL NULL 5 val_5
-NULL NULL 498 val_498
-NULL NULL 498 val_498
-NULL NULL 498 val_498
-NULL NULL 497 val_497
-NULL NULL 496 val_496
-NULL NULL 495 val_495
-NULL NULL 494 val_494
-NULL NULL 493 val_493
-NULL NULL 492 val_492
-NULL NULL 492 val_492
-NULL NULL 491 val_491
-NULL NULL 490 val_490
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 487 val_487
-NULL NULL 485 val_485
-NULL NULL 484 val_484
-NULL NULL 483 val_483
-NULL NULL 482 val_482
-NULL NULL 481 val_481
-NULL NULL 480 val_480
-NULL NULL 480 val_480
-NULL NULL 480 val_480
-NULL NULL 479 val_479
-NULL NULL 478 val_478
-NULL NULL 478 val_478
-NULL NULL 477 val_477
-NULL NULL 475 val_475
-NULL NULL 472 val_472
-NULL NULL 470 val_470
-NULL NULL 47 val_47
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 467 val_467
-NULL NULL 466 val_466
-NULL NULL 466 val_466
-NULL NULL 466 val_466
-NULL NULL 463 val_463
-NULL NULL 463 val_463
-NULL NULL 462 val_462
-NULL NULL 462 val_462
-NULL NULL 460 val_460
-NULL NULL 459 val_459
-NULL NULL 459 val_459
-NULL NULL 458 val_458
-NULL NULL 458 val_458
-NULL NULL 457 val_457
-NULL NULL 455 val_455
-NULL NULL 454 val_454
-NULL NULL 454 val_454
-NULL NULL 454 val_454
-NULL NULL 453 val_453
-NULL NULL 452 val_452
-NULL NULL 449 val_449
-NULL NULL 448 val_448
-NULL NULL 446 val_446
-NULL NULL 444 val_444
-NULL NULL 443 val_443
-NULL NULL 44 val_44
-NULL NULL 439 val_439
-NULL NULL 439 val_439
-NULL NULL 438 val_438
-NULL NULL 438 val_438
-NULL NULL 438 val_438
-NULL NULL 437 val_437
-NULL NULL 436 val_436
-NULL NULL 435 val_435
-NULL NULL 432 val_432
-NULL NULL 431 val_431
-NULL NULL 431 val_431
-NULL NULL 431 val_431
-NULL NULL 430 val_430
-NULL NULL 430 val_430
-NULL NULL 430 val_430
-NULL NULL 43 val_43
-NULL NULL 429 val_429
-NULL NULL 429 val_429
-NULL NULL 427 val_427
-NULL NULL 424 val_424
-NULL NULL 424 val_424
-NULL NULL 421 val_421
-NULL NULL 42 val_42
-NULL NULL 42 val_42
-NULL NULL 419 val_419
-NULL NULL 418 val_418
-NULL NULL 417 val_417
-NULL NULL 417 val_417
-NULL NULL 417 val_417
-NULL NULL 414 val_414
-NULL NULL 414 val_414
-NULL NULL 413 val_413
-NULL NULL 413 val_413
-NULL NULL 411 val_411
-NULL NULL 41 val_41
-NULL NULL 409 val_409
-NULL NULL 409 val_409
-NULL NULL 409 val_409
-NULL NULL 407 val_407
-NULL NULL 404 val_404
-NULL NULL 404 val_404
-NULL NULL 403 val_403
-NULL NULL 403 val_403
-NULL NULL 403 val_403
-NULL NULL 402 val_402
-NULL NULL 400 val_400
-NULL NULL 4 val_4
-NULL NULL 399 val_399
-NULL NULL 399 val_399
-NULL NULL 397 val_397
-NULL NULL 397 val_397
-NULL NULL 396 val_396
-NULL NULL 396 val_396
-NULL NULL 396 val_396
-NULL NULL 395 val_395
-NULL NULL 395 val_395
-NULL NULL 394 val_394
-NULL NULL 393 val_393
-NULL NULL 392 val_392
-NULL NULL 389 val_389
-NULL NULL 386 val_386
-NULL NULL 384 val_384
-NULL NULL 384 val_384
-NULL NULL 384 val_384
-NULL NULL 382 val_382
-NULL NULL 382 val_382
-NULL NULL 379 val_379
-NULL NULL 378 val_378
-NULL NULL 377 val_377
-NULL NULL 375 val_375
-NULL NULL 374 val_374
-NULL NULL 373 val_373
-NULL NULL 37 val_37
-NULL NULL 37 val_37
-NULL NULL 368 val_368
-NULL NULL 367 val_367
-NULL NULL 367 val_367
-NULL NULL 366 val_366
-NULL NULL 365 val_365
-NULL NULL 364 val_364
-NULL NULL 362 val_362
-NULL NULL 360 val_360
-NULL NULL 356 val_356
-NULL NULL 353 val_353
-NULL NULL 353 val_353
-NULL NULL 351 val_351
-NULL NULL 35 val_35
-NULL NULL 35 val_35
-NULL NULL 35 val_35
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 345 val_345
-NULL NULL 344 val_344
-NULL NULL 344 val_344
-NULL NULL 342 val_342
-NULL NULL 342 val_342
-NULL NULL 341 val_341
-NULL NULL 34 val_34
-NULL NULL 339 val_339
-NULL NULL 338 val_338
-NULL NULL 336 val_336
-NULL NULL 335 val_335
-NULL NULL 333 val_333
-NULL NULL 333 val_333
-NULL NULL 332 val_332
-NULL NULL 331 val_331
-NULL NULL 331 val_331
-NULL NULL 33 val_33
-NULL NULL 327 val_327
-NULL NULL 327 val_327
-NULL NULL 327 val_327
-NULL NULL 325 val_325
-NULL NULL 325 val_325
-NULL NULL 323 val_323
-NULL NULL 322 val_322
-NULL NULL 322 val_322
-NULL NULL 321 val_321
-NULL NULL 321 val_321
-NULL NULL 318 val_318
-NULL NULL 318 val_318
-NULL NULL 318 val_318
-NULL NULL 317 val_317
-NULL NULL 317 val_317
-NULL NULL 316 val_316
-NULL NULL 316 val_316
-NULL NULL 316 val_316
-NULL NULL 315 val_315
-NULL NULL 310 val_310
-NULL NULL 309 val_309
-NULL NULL 309 val_309
-NULL NULL 308 val_308
-NULL NULL 307 val_307
-NULL NULL 307 val_307
-NULL NULL 306 val_306
-NULL NULL 305 val_305
-NULL NULL 302 val_302
-NULL NULL 30 val_30
-NULL NULL 298 val_298
-NULL NULL 298 val_298
-NULL NULL 298 val_298
-NULL NULL 296 val_296
-NULL NULL 292 val_292
-NULL NULL 291 val_291
-NULL NULL 289 val_289
-NULL NULL 288 val_288
-NULL NULL 288 val_288
-NULL NULL 287 val_287
-NULL NULL 286 val_286
-NULL NULL 285 val_285
-NULL NULL 284 val_284
-NULL NULL 283 val_283
-NULL NULL 282 val_282
-NULL NULL 282 val_282
-NULL NULL 281 val_281
-NULL NULL 281 val_281
-NULL NULL 280 val_280
-NULL NULL 280 val_280
-NULL NULL 28 val_28
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 275 val_275
-NULL NULL 274 val_274
-NULL NULL 272 val_272
-NULL NULL 272 val_272
-NULL NULL 27 val_27
-NULL NULL 266 val_266
-NULL NULL 265 val_265
-NULL NULL 265 val_265
-NULL NULL 263 val_263
-NULL NULL 262 val_262
-NULL NULL 260 val_260
-NULL NULL 26 val_26
-NULL NULL 26 val_26
-NULL NULL 258 val_258
-NULL NULL 257 val_257
-NULL NULL 256 val_256
-NULL NULL 256 val_256
-NULL NULL 252 val_252
-NULL NULL 249 val_249
-NULL NULL 248 val_248
-NULL NULL 247 val_247
-NULL NULL 244 val_244
-NULL NULL 242 val_242
-NULL NULL 242 val_242
-NULL NULL 241 val_241
-NULL NULL 24 val_24
-NULL NULL 24 val_24
-NULL NULL 239 val_239
-NULL NULL 239 val_239
-NULL NULL 237 val_237
-NULL NULL 237 val_237
-NULL NULL 235 val_235
-NULL NULL 233 val_233
-NULL NULL 233 val_233
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 229 val_229
-NULL NULL 229 val_229
-NULL NULL 228 val_228
-NULL NULL 226 val_226
-NULL NULL 223 val_223
-NULL NULL 223 val_223
-NULL NULL 222 val_222
-NULL NULL 221 val_221
-NULL NULL 221 val_221
-NULL NULL 219 val_219
-NULL NULL 219 val_219
-NULL NULL 218 val_218
-NULL NULL 217 val_217
-NULL NULL 217 val_217
-NULL NULL 216 val_216
-NULL NULL 216 val_216
-NULL NULL 214 val_214
-NULL NULL 209 val_209
-NULL NULL 209 val_209
-NULL NULL 208 val_208
-NULL NULL 208 val_208
-NULL NULL 208 val_208
-NULL NULL 207 val_207
-NULL NULL 207 val_207
-NULL NULL 205 val_205
-NULL NULL 205 val_205
-NULL NULL 203 val_203
-NULL NULL 203 val_203
-NULL NULL 202 val_202
-NULL NULL 201 val_201
-NULL NULL 200 val_200
-NULL NULL 200 val_200
-NULL NULL 20 val_20
-NULL NULL 2 val_2
-NULL NULL 199 val_199
-NULL NULL 199 val_199
-NULL NULL 199 val_199
-NULL NULL 197 val_197
-NULL NULL 197 val_197
-NULL NULL 196 val_196
-NULL NULL 195 val_195
-NULL NULL 195 val_195
-NULL NULL 194 val_194
-NULL NULL 193 val_193
-NULL NULL 193 val_193
-NULL NULL 193 val_193
-NULL NULL 192 val_192
-NULL NULL 191 val_191
-NULL NULL 191 val_191
-NULL NULL 190 val_190
-NULL NULL 19 val_19
-NULL NULL 189 val_189
-NULL NULL 187 val_187
-NULL NULL 187 val_187
-NULL NULL 187 val_187
-NULL NULL 186 val_186
-NULL NULL 183 val_183
-NULL NULL 181 val_181
-NULL NULL 180 val_180
-NULL NULL 18 val_18
-NULL NULL 18 val_18
-NULL NULL 179 val_179
-NULL NULL 179 val_179
-NULL NULL 178 val_178
-NULL NULL 177 val_177
-NULL NULL 176 val_176
-NULL NULL 176 val_176
-NULL NULL 175 val_175
-NULL NULL 175 val_175
-NULL NULL 174 val_174
-NULL NULL 174 val_174
-NULL NULL 172 val_172
-NULL NULL 172 val_172
-NULL NULL 170 val_170
-NULL NULL 17 val_17
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 168 val_168
-NULL NULL 167 val_167
-NULL NULL 167 val_167
-NULL NULL 167 val_167
-NULL NULL 166 val_166
-NULL NULL 165 val_165
-NULL NULL 165 val_165
-NULL NULL 164 val_164
-NULL NULL 164 val_164
-NULL NULL 163 val_163
-NULL NULL 162 val_162
-NULL NULL 160 val_160
-NULL NULL 158 val_158
-NULL NULL 157 val_157
-NULL NULL 156 val_156
-NULL NULL 155 val_155
-NULL NULL 153 val_153
-NULL NULL 152 val_152
-NULL NULL 152 val_152
-NULL NULL 15 val_15
-NULL NULL 15 val_15
-NULL NULL 149 val_149
-NULL NULL 149 val_149
-NULL NULL 145 val_145
-NULL NULL 143 val_143
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 137 val_137
-NULL NULL 137 val_137
-NULL NULL 136 val_136
-NULL NULL 134 val_134
-NULL NULL 134 val_134
-NULL NULL 133 val_133
-NULL NULL 131 val_131
-NULL NULL 129 val_129
-NULL NULL 129 val_129
-NULL NULL 126 val_126
-NULL NULL 125 val_125
-NULL NULL 125 val_125
-NULL NULL 120 val_120
-NULL NULL 120 val_120
-NULL NULL 12 val_12
-NULL NULL 12 val_12
-NULL NULL 119 val_119
-NULL NULL 119 val_119
-NULL NULL 119 val_119
-NULL NULL 118 val_118
-NULL NULL 118 val_118
-NULL NULL 116 val_116
-NULL NULL 114 val_114
-NULL NULL 113 val_113
-NULL NULL 113 val_113
-NULL NULL 111 val_111
-NULL NULL 11 val_11
-NULL NULL 105 val_105
-NULL NULL 104 val_104
-NULL NULL 104 val_104
-NULL NULL 103 val_103
-NULL NULL 103 val_103
-NULL NULL 100 val_100
-NULL NULL 100 val_100
-NULL NULL 10 val_10
-NULL NULL 0 val_0
-NULL NULL 0 val_0
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-146 val_146 146 val_146
-146 val_146 146 val_146
-146 val_146 146 val_146
-146 val_146 146 val_146
-150 val_150 150 val_150
-213 val_213 213 val_213
-213 val_213 213 val_213
-213 val_213 213 val_213
-213 val_213 213 val_213
-224 val_224 224 val_224
-224 val_224 224 val_224
-224 val_224 224 val_224
-224 val_224 224 val_224
-238 val_238 238 val_238
-238 val_238 238 val_238
-238 val_238 238 val_238
-238 val_238 238 val_238
-255 val_255 255 val_255
-255 val_255 255 val_255
-255 val_255 255 val_255
-255 val_255 255 val_255
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-278 val_278 278 val_278
-278 val_278 278 val_278
-278 val_278 278 val_278
-278 val_278 278 val_278
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-66 val_66 66 val_66
-98 val_98 98 val_98
-98 val_98 98 val_98
-98 val_98 98 val_98
-98 val_98 98 val_98
-PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) right outer join src c on (a.value = c.value) order by a.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-NULL NULL NULL NULL 0 val_0
-NULL NULL NULL NULL 97 val_97
-NULL NULL NULL NULL 97 val_97
-NULL NULL NULL NULL 96 val_96
-NULL NULL NULL NULL 95 val_95
-NULL NULL NULL NULL 95 val_95
-NULL NULL NULL NULL 92 val_92
-NULL NULL NULL NULL 90 val_90
-NULL NULL NULL NULL 90 val_90
-NULL NULL NULL NULL 90 val_90
-NULL NULL NULL NULL 9 val_9
-NULL NULL NULL NULL 87 val_87
-NULL NULL NULL NULL 86 val_86
-NULL NULL NULL NULL 85 val_85
-NULL NULL NULL NULL 84 val_84
-NULL NULL NULL NULL 84 val_84
-NULL NULL NULL NULL 83 val_83
-NULL NULL NULL NULL 83 val_83
-NULL NULL NULL NULL 82 val_82
-NULL NULL NULL NULL 80 val_80
-NULL NULL NULL NULL 8 val_8
-NULL NULL NULL NULL 78 val_78
-NULL NULL NULL NULL 77 val_77
-NULL NULL NULL NULL 76 val_76
-NULL NULL NULL NULL 76 val_76
-NULL NULL NULL NULL 74 val_74
-NULL NULL NULL NULL 72 val_72
-NULL NULL NULL NULL 72 val_72
-NULL NULL NULL NULL 70 val_70
-NULL NULL NULL NULL 70 val_70
-NULL NULL NULL NULL 70 val_70
-NULL NULL NULL NULL 69 val_69
-NULL NULL NULL NULL 67 val_67
-NULL NULL NULL NULL 67 val_67
-NULL NULL NULL NULL 65 val_65
-NULL NULL NULL NULL 64 val_64
-NULL NULL NULL NULL 58 val_58
-NULL NULL NULL NULL 58 val_58
-NULL NULL NULL NULL 57 val_57
-NULL NULL NULL NULL 54 val_54
-NULL NULL NULL NULL 53 val_53
-NULL NULL NULL NULL 51 val_51
-NULL NULL NULL NULL 51 val_51
-NULL NULL NULL NULL 5 val_5
-NULL NULL NULL NULL 5 val_5
-NULL NULL NULL NULL 5 val_5
-NULL NULL NULL NULL 498 val_498
-NULL NULL NULL NULL 498 val_498
-NULL NULL NULL NULL 498 val_498
-NULL NULL NULL NULL 497 val_497
-NULL NULL NULL NULL 496 val_496
-NULL NULL NULL NULL 495 val_495
-NULL NULL NULL NULL 494 val_494
-NULL NULL NULL NULL 493 val_493
-NULL NULL NULL NULL 492 val_492
-NULL NULL NULL NULL 492 val_492
-NULL NULL NULL NULL 491 val_491
-NULL NULL NULL NULL 490 val_490
-NULL NULL NULL NULL 489 val_489
-NULL NULL NULL NULL 489 val_489
-NULL NULL NULL NULL 489 val_489
-NULL NULL NULL NULL 489 val_489
-NULL NULL NULL NULL 487 val_487
-NULL NULL NULL NULL 485 val_485
-NULL NULL NULL NULL 483 val_483
-NULL NULL NULL NULL 482 val_482
-NULL NULL NULL NULL 481 val_481
-NULL NULL NULL NULL 480 val_480
-NULL NULL NULL NULL 480 val_480
-NULL NULL NULL NULL 480 val_480
-NULL NULL NULL NULL 479 val_479
-NULL NULL NULL NULL 478 val_478
-NULL NULL NULL NULL 478 val_478
-NULL NULL NULL NULL 477 val_477
-NULL NULL NULL NULL 475 val_475
-NULL NULL NULL NULL 472 val_472
-NULL NULL NULL NULL 470 val_470
-NULL NULL NULL NULL 47 val_47
-NULL NULL NULL NULL 469 val_469
-NULL NULL NULL NULL 469 val_469
-NULL NULL NULL NULL 469 val_469
-NULL NULL NULL NULL 469 val_469
-NULL NULL NULL NULL 469 val_469
-NULL NULL NULL NULL 468 val_468
-NULL NULL NULL NULL 468 val_468
-NULL NULL NULL NULL 468 val_468
-NULL NULL NULL NULL 468 val_468
-NULL NULL NULL NULL 467 val_467
-NULL NULL NULL NULL 466 val_466
-NULL NULL NULL NULL 466 val_466
-NULL NULL NULL NULL 466 val_466
-NULL NULL NULL NULL 463 val_463
-NULL NULL NULL NULL 463 val_463
-NULL NULL NULL NULL 462 val_462
-NULL NULL NULL NULL 462 val_462
-NULL NULL NULL NULL 460 val_460
-NULL NULL NULL NULL 459 val_459
-NULL NULL NULL NULL 459 val_459
-NULL NULL NULL NULL 458 val_458
-NULL NULL NULL NULL 458 val_458
-NULL NULL NULL NULL 457 val_457
-NULL NULL NULL NULL 455 val_455
-NULL NULL NULL NULL 454 val_454
-NULL NULL NULL NULL 454 val_454
-NULL NULL NULL NULL 454 val_454
-NULL NULL NULL NULL 453 val_453
-NULL NULL NULL NULL 452 val_452
-NULL NULL NULL NULL 449 val_449
-NULL NULL NULL NULL 448 val_448
-NULL NULL NULL NULL 446 val_446
-NULL NULL NULL NULL 444 val_444
-NULL NULL NULL NULL 443 val_443
-NULL NULL NULL NULL 44 val_44
-NULL NULL NULL NULL 439 val_439
-NULL NULL NULL NULL 439 val_439
-NULL NULL NULL NULL 438 val_438
-NULL NULL NULL NULL 438 val_438
-NULL NULL NULL NULL 438 val_438
-NULL NULL NULL NULL 437 val_437
-NULL NULL NULL NULL 436 val_436
-NULL NULL NULL NULL 435 val_435
-NULL NULL NULL NULL 432 val_432
-NULL NULL NULL NULL 431 val_431
-NULL NULL NULL NULL 431 val_431
-NULL NULL NULL NULL 431 val_431
-NULL NULL NULL NULL 430 val_430
-NULL NULL NULL NULL 430 val_430
-NULL NULL NULL NULL 430 val_430
-NULL NULL NULL NULL 43 val_43
-NULL NULL NULL NULL 429 val_429
-NULL NULL NULL NULL 429 val_429
-NULL NULL NULL NULL 427 val_427
-NULL NULL NULL NULL 424 val_424
-NULL NULL NULL NULL 424 val_424
-NULL NULL NULL NULL 421 val_421
-NULL NULL NULL NULL 42 val_42
-NULL NULL NULL NULL 42 val_42
-NULL NULL NULL NULL 419 val_419
-NULL NULL NULL NULL 418 val_418
-NULL NULL NULL NULL 417 val_417
-NULL NULL NULL NULL 417 val_417
-NULL NULL NULL NULL 417 val_417
-NULL NULL NULL NULL 414 val_414
-NULL NULL NULL NULL 414 val_414
-NULL NULL NULL NULL 413 val_413
-NULL NULL NULL NULL 413 val_413
-NULL NULL NULL NULL 411 val_411
-NULL NULL NULL NULL 41 val_41
-NULL NULL NULL NULL 407 val_407
-NULL NULL NULL NULL 404 val_404
-NULL NULL NULL NULL 404 val_404
-NULL NULL NULL NULL 403 val_403
-NULL NULL NULL NULL 403 val_403
-NULL NULL NULL NULL 403 val_403
-NULL NULL NULL NULL 402 val_402
-NULL NULL NULL NULL 400 val_400
-NULL NULL NULL NULL 4 val_4
-NULL NULL NULL NULL 399 val_399
-NULL NULL NULL NULL 399 val_399
-NULL NULL NULL NULL 397 val_397
-NULL NULL NULL NULL 397 val_397
-NULL NULL NULL NULL 396 val_396
-NULL NULL NULL NULL 396 val_396
-NULL NULL NULL NULL 396 val_396
-NULL NULL NULL NULL 395 val_395
-NULL NULL NULL NULL 395 val_395
-NULL NULL NULL NULL 394 val_394
-NULL NULL NULL NULL 393 val_393
-NULL NULL NULL NULL 392 val_392
-NULL NULL NULL NULL 389 val_389
-NULL NULL NULL NULL 386 val_386
-NULL NULL NULL NULL 384 val_384
-NULL NULL NULL NULL 384 val_384
-NULL NULL NULL NULL 384 val_384
-NULL NULL NULL NULL 382 val_382
-NULL NULL NULL NULL 382 val_382
-NULL NULL NULL NULL 379 val_379
-NULL NULL NULL NULL 378 val_378
-NULL NULL NULL NULL 377 val_377
-NULL NULL NULL NULL 375 val_375
-NULL NULL NULL NULL 374 val_374
-NULL NULL NULL NULL 373 val_373
-NULL NULL NULL NULL 37 val_37
-NULL NULL NULL NULL 37 val_37
-NULL NULL NULL NULL 369 val_369
-NULL NULL NULL NULL 369 val_369
-NULL NULL NULL NULL 369 val_369
-NULL NULL NULL NULL 368 val_368
-NULL NULL NULL NULL 367 val_367
-NULL NULL NULL NULL 367 val_367
-NULL NULL NULL NULL 366 val_366
-NULL NULL NULL NULL 365 val_365
-NULL NULL NULL NULL 364 val_364
-NULL NULL NULL NULL 362 val_362
-NULL NULL NULL NULL 360 val_360
-NULL NULL NULL NULL 356 val_356
-NULL NULL NULL NULL 353 val_353
-NULL NULL NULL NULL 353 val_353
-NULL NULL NULL NULL 351 val_351
-NULL NULL NULL NULL 35 val_35
-NULL NULL NULL NULL 35 val_35
-NULL NULL NULL NULL 35 val_35
-NULL NULL NULL NULL 348 val_348
-NULL NULL NULL NULL 348 val_348
-NULL NULL NULL NULL 348 val_348
-NULL NULL NULL NULL 348 val_348
-NULL NULL NULL NULL 348 val_348
-NULL NULL NULL NULL 345 val_345
-NULL NULL NULL NULL 344 val_344
-NULL NULL NULL NULL 344 val_344
-NULL NULL NULL NULL 342 val_342
-NULL NULL NULL NULL 342 val_342
-NULL NULL NULL NULL 341 val_341
-NULL NULL NULL NULL 34 val_34
-NULL NULL NULL NULL 339 val_339
-NULL NULL NULL NULL 338 val_338
-NULL NULL NULL NULL 336 val_336
-NULL NULL NULL NULL 335 val_335
-NULL NULL NULL NULL 333 val_333
-NULL NULL NULL NULL 333 val_333
-NULL NULL NULL NULL 332 val_332
-NULL NULL NULL NULL 331 val_331
-NULL NULL NULL NULL 331 val_331
-NULL NULL NULL NULL 33 val_33
-NULL NULL NULL NULL 327 val_327
-NULL NULL NULL NULL 327 val_327
-NULL NULL NULL NULL 327 val_327
-NULL NULL NULL NULL 325 val_325
-NULL NULL NULL NULL 325 val_325
-NULL NULL NULL NULL 323 val_323
-NULL NULL NULL NULL 322 val_322
-NULL NULL NULL NULL 322 val_322
-NULL NULL NULL NULL 321 val_321
-NULL NULL NULL NULL 321 val_321
-NULL NULL NULL NULL 318 val_318
-NULL NULL NULL NULL 318 val_318
-NULL NULL NULL NULL 318 val_318
-NULL NULL NULL NULL 317 val_317
-NULL NULL NULL NULL 317 val_317
-NULL NULL NULL NULL 316 val_316
-NULL NULL NULL NULL 316 val_316
-NULL NULL NULL NULL 316 val_316
-NULL NULL NULL NULL 315 val_315
-NULL NULL NULL NULL 310 val_310
-NULL NULL NULL NULL 309 val_309
-NULL NULL NULL NULL 309 val_309
-NULL NULL NULL NULL 308 val_308
-NULL NULL NULL NULL 307 val_307
-NULL NULL NULL NULL 307 val_307
-NULL NULL NULL NULL 306 val_306
-NULL NULL NULL NULL 305 val_305
-NULL NULL NULL NULL 302 val_302
-NULL NULL NULL NULL 30 val_30
-NULL NULL NULL NULL 298 val_298
-NULL NULL NULL NULL 298 val_298
-NULL NULL NULL NULL 298 val_298
-NULL NULL NULL NULL 296 val_296
-NULL NULL NULL NULL 292 val_292
-NULL NULL NULL NULL 291 val_291
-NULL NULL NULL NULL 289 val_289
-NULL NULL NULL NULL 288 val_288
-NULL NULL NULL NULL 288 val_288
-NULL NULL NULL NULL 287 val_287
-NULL NULL NULL NULL 286 val_286
-NULL NULL NULL NULL 285 val_285
-NULL NULL NULL NULL 284 val_284
-NULL NULL NULL NULL 283 val_283
-NULL NULL NULL NULL 282 val_282
-NULL NULL NULL NULL 282 val_282
-NULL NULL NULL NULL 281 val_281
-NULL NULL NULL NULL 281 val_281
-NULL NULL NULL NULL 280 val_280
-NULL NULL NULL NULL 280 val_280
-NULL NULL NULL NULL 28 val_28
-NULL NULL NULL NULL 277 val_277
-NULL NULL NULL NULL 277 val_277
-NULL NULL NULL NULL 277 val_277
-NULL NULL NULL NULL 277 val_277
-NULL NULL NULL NULL 275 val_275
-NULL NULL NULL NULL 274 val_274
-NULL NULL NULL NULL 272 val_272
-NULL NULL NULL NULL 272 val_272
-NULL NULL NULL NULL 266 val_266
-NULL NULL NULL NULL 263 val_263
-NULL NULL NULL NULL 262 val_262
-NULL NULL NULL NULL 260 val_260
-NULL NULL NULL NULL 26 val_26
-NULL NULL NULL NULL 26 val_26
-NULL NULL NULL NULL 258 val_258
-NULL NULL NULL NULL 257 val_257
-NULL NULL NULL NULL 256 val_256
-NULL NULL NULL NULL 256 val_256
-NULL NULL NULL NULL 252 val_252
-NULL NULL NULL NULL 249 val_249
-NULL NULL NULL NULL 248 val_248
-NULL NULL NULL NULL 247 val_247
-NULL NULL NULL NULL 244 val_244
-NULL NULL NULL NULL 242 val_242
-NULL NULL NULL NULL 242 val_242
-NULL NULL NULL NULL 241 val_241
-NULL NULL NULL NULL 24 val_24
-NULL NULL NULL NULL 24 val_24
-NULL NULL NULL NULL 239 val_239
-NULL NULL NULL NULL 239 val_239
-NULL NULL NULL NULL 237 val_237
-NULL NULL NULL NULL 237 val_237
-NULL NULL NULL NULL 235 val_235
-NULL NULL NULL NULL 233 val_233
-NULL NULL NULL NULL 233 val_233
-NULL NULL NULL NULL 230 val_230
-NULL NULL NULL NULL 230 val_230
-NULL NULL NULL NULL 230 val_230
-NULL NULL NULL NULL 230 val_230
-NULL NULL NULL NULL 230 val_230
-NULL NULL NULL NULL 229 val_229
-NULL NULL NULL NULL 229 val_229
-NULL NULL NULL NULL 228 val_228
-NULL NULL NULL NULL 226 val_226
-NULL NULL NULL NULL 224 val_224
-NULL NULL NULL NULL 224 val_224
-NULL NULL NULL NULL 223 val_223
-NULL NULL NULL NULL 223 val_223
-NULL NULL NULL NULL 222 val_222
-NULL NULL NULL NULL 221 val_221
-NULL NULL NULL NULL 221 val_221
-NULL NULL NULL NULL 219 val_219
-NULL NULL NULL NULL 219 val_219
-NULL NULL NULL NULL 218 val_218
-NULL NULL NULL NULL 217 val_217
-NULL NULL NULL NULL 217 val_217
-NULL NULL NULL NULL 216 val_216
-NULL NULL NULL NULL 216 val_216
-NULL NULL NULL NULL 214 val_214
-NULL NULL NULL NULL 209 val_209
-NULL NULL NULL NULL 209 val_209
-NULL NULL NULL NULL 208 val_208
-NULL NULL NULL NULL 208 val_208
-NULL NULL NULL NULL 208 val_208
-NULL NULL NULL NULL 207 val_207
-NULL NULL NULL NULL 207 val_207
-NULL NULL NULL NULL 205 val_205
-NULL NULL NULL NULL 205 val_205
-NULL NULL NULL NULL 203 val_203
-NULL NULL NULL NULL 203 val_203
-NULL NULL NULL NULL 202 val_202
-NULL NULL NULL NULL 201 val_201
-NULL NULL NULL NULL 200 val_200
-NULL NULL NULL NULL 200 val_200
-NULL NULL NULL NULL 20 val_20
-NULL NULL NULL NULL 2 val_2
-NULL NULL NULL NULL 199 val_199
-NULL NULL NULL NULL 199 val_199
-NULL NULL NULL NULL 199 val_199
-NULL NULL NULL NULL 197 val_197
-NULL NULL NULL NULL 197 val_197
-NULL NULL NULL NULL 196 val_196
-NULL NULL NULL NULL 195 val_195
-NULL NULL NULL NULL 195 val_195
-NULL NULL NULL NULL 194 val_194
-NULL NULL NULL NULL 192 val_192
-NULL NULL NULL NULL 191 val_191
-NULL NULL NULL NULL 191 val_191
-NULL NULL NULL NULL 190 val_190
-NULL NULL NULL NULL 19 val_19
-NULL NULL NULL NULL 189 val_189
-NULL NULL NULL NULL 187 val_187
-NULL NULL NULL NULL 187 val_187
-NULL NULL NULL NULL 187 val_187
-NULL NULL NULL NULL 186 val_186
-NULL NULL NULL NULL 183 val_183
-NULL NULL NULL NULL 181 val_181
-NULL NULL NULL NULL 180 val_180
-NULL NULL NULL NULL 18 val_18
-NULL NULL NULL NULL 18 val_18
-NULL NULL NULL NULL 179 val_179
-NULL NULL NULL NULL 179 val_179
-NULL NULL NULL NULL 178 val_178
-NULL NULL NULL NULL 177 val_177
-NULL NULL NULL NULL 176 val_176
-NULL NULL NULL NULL 176 val_176
-NULL NULL NULL NULL 175 val_175
-NULL NULL NULL NULL 175 val_175
-NULL NULL NULL NULL 174 val_174
-NULL NULL NULL NULL 174 val_174
-NULL NULL NULL NULL 172 val_172
-NULL NULL NULL NULL 172 val_172
-NULL NULL NULL NULL 170 val_170
-NULL NULL NULL NULL 17 val_17
-NULL NULL NULL NULL 169 val_169
-NULL NULL NULL NULL 169 val_169
-NULL NULL NULL NULL 169 val_169
-NULL NULL NULL NULL 169 val_169
-NULL NULL NULL NULL 168 val_168
-NULL NULL NULL NULL 167 val_167
-NULL NULL NULL NULL 167 val_167
-NULL NULL NULL NULL 167 val_167
-NULL NULL NULL NULL 166 val_166
-NULL NULL NULL NULL 164 val_164
-NULL NULL NULL NULL 164 val_164
-NULL NULL NULL NULL 163 val_163
-NULL NULL NULL NULL 162 val_162
-NULL NULL NULL NULL 160 val_160
-NULL NULL NULL NULL 158 val_158
-NULL NULL NULL NULL 157 val_157
-NULL NULL NULL NULL 156 val_156
-NULL NULL NULL NULL 155 val_155
-NULL NULL NULL NULL 153 val_153
-NULL NULL NULL NULL 152 val_152
-NULL NULL NULL NULL 152 val_152
-NULL NULL NULL NULL 15 val_15
-NULL NULL NULL NULL 15 val_15
-NULL NULL NULL NULL 149 val_149
-NULL NULL NULL NULL 149 val_149
-NULL NULL NULL NULL 145 val_145
-NULL NULL NULL NULL 143 val_143
-NULL NULL NULL NULL 138 val_138
-NULL NULL NULL NULL 138 val_138
-NULL NULL NULL NULL 138 val_138
-NULL NULL NULL NULL 138 val_138
-NULL NULL NULL NULL 137 val_137
-NULL NULL NULL NULL 137 val_137
-NULL NULL NULL NULL 136 val_136
-NULL NULL NULL NULL 134 val_134
-NULL NULL NULL NULL 134 val_134
-NULL NULL NULL NULL 133 val_133
-NULL NULL NULL NULL 131 val_131
-NULL NULL NULL NULL 129 val_129
-NULL NULL NULL NULL 129 val_129
-NULL NULL NULL NULL 128 val_128
-NULL NULL NULL NULL 128 val_128
-NULL NULL NULL NULL 128 val_128
-NULL NULL NULL NULL 126 val_126
-NULL NULL NULL NULL 125 val_125
-NULL NULL NULL NULL 125 val_125
-NULL NULL NULL NULL 120 val_120
-NULL NULL NULL NULL 120 val_120
-NULL NULL NULL NULL 12 val_12
-NULL NULL NULL NULL 12 val_12
-NULL NULL NULL NULL 119 val_119
-NULL NULL NULL NULL 119 val_119
-NULL NULL NULL NULL 119 val_119
-NULL NULL NULL NULL 118 val_118
-NULL NULL NULL NULL 118 val_118
-NULL NULL NULL NULL 116 val_116
-NULL NULL NULL NULL 114 val_114
-NULL NULL NULL NULL 113 val_113
-NULL NULL NULL NULL 113 val_113
-NULL NULL NULL NULL 111 val_111
-NULL NULL NULL NULL 11 val_11
-NULL NULL NULL NULL 105 val_105
-NULL NULL NULL NULL 104 val_104
-NULL NULL NULL NULL 104 val_104
-NULL NULL NULL NULL 103 val_103
-NULL NULL NULL NULL 103 val_103
-NULL NULL NULL NULL 100 val_100
-NULL NULL NULL NULL 100 val_100
-NULL NULL NULL NULL 10 val_10
-NULL NULL NULL NULL 0 val_0
-NULL NULL NULL NULL 0 val_0
- val_409 NULL NULL 409 val_409
- val_165 NULL NULL 165 val_165
- val_165 NULL NULL 165 val_165
- val_193 NULL NULL 193 val_193
- val_484 NULL NULL 484 val_484
- val_409 NULL NULL 409 val_409
- val_265 NULL NULL 265 val_265
- val_265 NULL NULL 265 val_265
- val_27 NULL NULL 27 val_27
- val_193 NULL NULL 193 val_193
- val_193 NULL NULL 193 val_193
- val_409 NULL NULL 409 val_409
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-150 val_150 150 val_150 150 val_150
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-66 val_66 66 val_66 66 val_66
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) left outer join src c on (a.value = c.value) order by a.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
- val_27 NULL NULL 27 val_27
- NULL NULL NULL NULL
- NULL NULL NULL NULL
- val_484 NULL NULL 484 val_484
- val_409 NULL NULL 409 val_409
- val_409 NULL NULL 409 val_409
- val_409 NULL NULL 409 val_409
- NULL NULL NULL NULL
- NULL NULL NULL NULL
- val_165 NULL NULL 165 val_165
- val_165 NULL NULL 165 val_165
- val_193 NULL NULL 193 val_193
- val_193 NULL NULL 193 val_193
- val_193 NULL NULL 193 val_193
- val_265 NULL NULL 265 val_265
- val_265 NULL NULL 265 val_265
-128 128 val_128 NULL NULL
-128 128 val_128 NULL NULL
-128 128 val_128 NULL NULL
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-150 val_150 150 val_150 150 val_150
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-224 224 val_224 NULL NULL
-224 224 val_224 NULL NULL
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-369 369 val_369 NULL NULL
-369 369 val_369 NULL NULL
-369 369 val_369 NULL NULL
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-66 val_66 66 val_66 66 val_66
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-PREHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key)
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from src1 a left outer join src b on (a.key = b.key) join src c on (a.key = c.key)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-150 val_150 150 val_150 150 val_150
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-224 224 val_224 224 val_224
-224 224 val_224 224 val_224
-224 224 val_224 224 val_224
-224 224 val_224 224 val_224
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-66 val_66 66 val_66 66 val_66
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-PREHOOK: query: select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-128 128 val_128 128 val_128
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-146 val_146 146 val_146 146 val_146
-150 val_150 150 val_150 150 val_150
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-213 val_213 213 val_213 213 val_213
-224 224 val_224 224 val_224
-224 224 val_224 224 val_224
-224 224 val_224 224 val_224
-224 224 val_224 224 val_224
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-238 val_238 238 val_238 238 val_238
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-255 val_255 255 val_255 255 val_255
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-273 val_273 273 val_273 273 val_273
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-278 val_278 278 val_278 278 val_278
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-311 val_311 311 val_311 311 val_311
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-369 369 val_369 369 val_369
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-401 val_401 401 val_401 401 val_401
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-406 val_406 406 val_406 406 val_406
-66 val_66 66 val_66 66 val_66
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-98 val_98 98 val_98 98 val_98
-PREHOOK: query: select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select count(*) from src1 a join src b on (a.key = b.key) join src c on (a.key = c.key)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-107
diff --git ql/src/test/results/clientpositive/tez_joins_explain.q.out ql/src/test/results/clientpositive/tez_joins_explain.q.out
deleted file mode 100644
index 18e1ce6..0000000
--- ql/src/test/results/clientpositive/tez_joins_explain.q.out
+++ /dev/null
@@ -1,737 +0,0 @@
-PREHOOK: query: explain
-select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain
-select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-POSTHOOK: type: QUERY
-ABSTRACT SYNTAX TREE:
- (TOK_QUERY (TOK_FROM (TOK_RIGHTOUTERJOIN (TOK_SUBQUERY (TOK_QUERY (TOK_FROM (TOK_LEFTOUTERJOIN (TOK_TABREF (TOK_TABNAME src1) a) (TOK_TABREF (TOK_TABNAME src) b) (= (. (TOK_TABLE_OR_COL a) key) (. (TOK_TABLE_OR_COL b) key)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) key)) (TOK_SELEXPR (. (TOK_TABLE_OR_COL b) value))) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL b) key))))) x) (TOK_TABREF (TOK_TABNAME src) c) (= (. (TOK_TABLE_OR_COL x) value) (. (TOK_TABLE_OR_COL c) value)))) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SELECT (TOK_SELEXPR TOK_ALLCOLREF)) (TOK_ORDERBY (TOK_TABSORTCOLNAMEASC (. (TOK_TABLE_OR_COL x) key)))))
-
-STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 is a root stage
-
-STAGE PLANS:
- Stage: Stage-1
- Tez
- Alias -> Map Operator Tree:
- b
- TableScan
- alias: b
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 1
- value expressions:
- expr: key
- type: string
- expr: value
- type: string
- Alias -> Map Operator Tree:
- a
- TableScan
- alias: a
- Reduce Output Operator
- key expressions:
- expr: key
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: key
- type: string
- tag: 0
- Reduce Operator Tree:
- Join Operator
- condition map:
- Left Outer Join0 to 1
- condition expressions:
- 0
- 1 {VALUE._col0} {VALUE._col1}
- handleSkewJoin: false
- outputColumnNames: _col4, _col5
- Select Operator
- expressions:
- expr: _col4
- type: string
- expr: _col5
- type: string
- outputColumnNames: _col0, _col1
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- Reduce Operator Tree:
- Extract
- Reduce Output Operator
- key expressions:
- expr: _col1
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: _col1
- type: string
- tag: 0
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- Alias -> Map Operator Tree:
- c
- TableScan
- alias: c
- Reduce Output Operator
- key expressions:
- expr: value
- type: string
- sort order: +
- Map-reduce partition columns:
- expr: value
- type: string
- tag: 1
- value expressions:
- expr: key
- type: string
- expr: value
- type: string
- Reduce Operator Tree:
- Join Operator
- condition map:
- Right Outer Join0 to 1
- condition expressions:
- 0 {VALUE._col0} {VALUE._col1}
- 1 {VALUE._col0} {VALUE._col1}
- handleSkewJoin: false
- outputColumnNames: _col0, _col1, _col2, _col3
- Select Operator
- expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- expr: _col2
- type: string
- expr: _col3
- type: string
- outputColumnNames: _col0, _col1, _col2, _col3
- Reduce Output Operator
- key expressions:
- expr: _col0
- type: string
- sort order: +
- tag: -1
- value expressions:
- expr: _col0
- type: string
- expr: _col1
- type: string
- expr: _col2
- type: string
- expr: _col3
- type: string
- Reduce Operator Tree:
- Extract
- File Output Operator
- compressed: false
- GlobalTableId: 0
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- Stage: Stage-0
- Fetch Operator
- limit: -1
-
-PREHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@src
-PREHOOK: Input: default@src1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from (select b.key, b.value from src1 a left outer join src b on (a.key = b.key) order by b.key) x right outer join src c on (x.value = c.value) order by x.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@src
-POSTHOOK: Input: default@src1
-#### A masked pattern was here ####
-NULL NULL 0 val_0
-NULL NULL 97 val_97
-NULL NULL 97 val_97
-NULL NULL 96 val_96
-NULL NULL 95 val_95
-NULL NULL 95 val_95
-NULL NULL 92 val_92
-NULL NULL 90 val_90
-NULL NULL 90 val_90
-NULL NULL 90 val_90
-NULL NULL 9 val_9
-NULL NULL 87 val_87
-NULL NULL 86 val_86
-NULL NULL 85 val_85
-NULL NULL 84 val_84
-NULL NULL 84 val_84
-NULL NULL 83 val_83
-NULL NULL 83 val_83
-NULL NULL 82 val_82
-NULL NULL 80 val_80
-NULL NULL 8 val_8
-NULL NULL 78 val_78
-NULL NULL 77 val_77
-NULL NULL 76 val_76
-NULL NULL 76 val_76
-NULL NULL 74 val_74
-NULL NULL 72 val_72
-NULL NULL 72 val_72
-NULL NULL 70 val_70
-NULL NULL 70 val_70
-NULL NULL 70 val_70
-NULL NULL 69 val_69
-NULL NULL 67 val_67
-NULL NULL 67 val_67
-NULL NULL 65 val_65
-NULL NULL 64 val_64
-NULL NULL 58 val_58
-NULL NULL 58 val_58
-NULL NULL 57 val_57
-NULL NULL 54 val_54
-NULL NULL 53 val_53
-NULL NULL 51 val_51
-NULL NULL 51 val_51
-NULL NULL 5 val_5
-NULL NULL 5 val_5
-NULL NULL 5 val_5
-NULL NULL 498 val_498
-NULL NULL 498 val_498
-NULL NULL 498 val_498
-NULL NULL 497 val_497
-NULL NULL 496 val_496
-NULL NULL 495 val_495
-NULL NULL 494 val_494
-NULL NULL 493 val_493
-NULL NULL 492 val_492
-NULL NULL 492 val_492
-NULL NULL 491 val_491
-NULL NULL 490 val_490
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 489 val_489
-NULL NULL 487 val_487
-NULL NULL 485 val_485
-NULL NULL 484 val_484
-NULL NULL 483 val_483
-NULL NULL 482 val_482
-NULL NULL 481 val_481
-NULL NULL 480 val_480
-NULL NULL 480 val_480
-NULL NULL 480 val_480
-NULL NULL 479 val_479
-NULL NULL 478 val_478
-NULL NULL 478 val_478
-NULL NULL 477 val_477
-NULL NULL 475 val_475
-NULL NULL 472 val_472
-NULL NULL 470 val_470
-NULL NULL 47 val_47
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 469 val_469
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 468 val_468
-NULL NULL 467 val_467
-NULL NULL 466 val_466
-NULL NULL 466 val_466
-NULL NULL 466 val_466
-NULL NULL 463 val_463
-NULL NULL 463 val_463
-NULL NULL 462 val_462
-NULL NULL 462 val_462
-NULL NULL 460 val_460
-NULL NULL 459 val_459
-NULL NULL 459 val_459
-NULL NULL 458 val_458
-NULL NULL 458 val_458
-NULL NULL 457 val_457
-NULL NULL 455 val_455
-NULL NULL 454 val_454
-NULL NULL 454 val_454
-NULL NULL 454 val_454
-NULL NULL 453 val_453
-NULL NULL 452 val_452
-NULL NULL 449 val_449
-NULL NULL 448 val_448
-NULL NULL 446 val_446
-NULL NULL 444 val_444
-NULL NULL 443 val_443
-NULL NULL 44 val_44
-NULL NULL 439 val_439
-NULL NULL 439 val_439
-NULL NULL 438 val_438
-NULL NULL 438 val_438
-NULL NULL 438 val_438
-NULL NULL 437 val_437
-NULL NULL 436 val_436
-NULL NULL 435 val_435
-NULL NULL 432 val_432
-NULL NULL 431 val_431
-NULL NULL 431 val_431
-NULL NULL 431 val_431
-NULL NULL 430 val_430
-NULL NULL 430 val_430
-NULL NULL 430 val_430
-NULL NULL 43 val_43
-NULL NULL 429 val_429
-NULL NULL 429 val_429
-NULL NULL 427 val_427
-NULL NULL 424 val_424
-NULL NULL 424 val_424
-NULL NULL 421 val_421
-NULL NULL 42 val_42
-NULL NULL 42 val_42
-NULL NULL 419 val_419
-NULL NULL 418 val_418
-NULL NULL 417 val_417
-NULL NULL 417 val_417
-NULL NULL 417 val_417
-NULL NULL 414 val_414
-NULL NULL 414 val_414
-NULL NULL 413 val_413
-NULL NULL 413 val_413
-NULL NULL 411 val_411
-NULL NULL 41 val_41
-NULL NULL 409 val_409
-NULL NULL 409 val_409
-NULL NULL 409 val_409
-NULL NULL 407 val_407
-NULL NULL 404 val_404
-NULL NULL 404 val_404
-NULL NULL 403 val_403
-NULL NULL 403 val_403
-NULL NULL 403 val_403
-NULL NULL 402 val_402
-NULL NULL 400 val_400
-NULL NULL 4 val_4
-NULL NULL 399 val_399
-NULL NULL 399 val_399
-NULL NULL 397 val_397
-NULL NULL 397 val_397
-NULL NULL 396 val_396
-NULL NULL 396 val_396
-NULL NULL 396 val_396
-NULL NULL 395 val_395
-NULL NULL 395 val_395
-NULL NULL 394 val_394
-NULL NULL 393 val_393
-NULL NULL 392 val_392
-NULL NULL 389 val_389
-NULL NULL 386 val_386
-NULL NULL 384 val_384
-NULL NULL 384 val_384
-NULL NULL 384 val_384
-NULL NULL 382 val_382
-NULL NULL 382 val_382
-NULL NULL 379 val_379
-NULL NULL 378 val_378
-NULL NULL 377 val_377
-NULL NULL 375 val_375
-NULL NULL 374 val_374
-NULL NULL 373 val_373
-NULL NULL 37 val_37
-NULL NULL 37 val_37
-NULL NULL 368 val_368
-NULL NULL 367 val_367
-NULL NULL 367 val_367
-NULL NULL 366 val_366
-NULL NULL 365 val_365
-NULL NULL 364 val_364
-NULL NULL 362 val_362
-NULL NULL 360 val_360
-NULL NULL 356 val_356
-NULL NULL 353 val_353
-NULL NULL 353 val_353
-NULL NULL 351 val_351
-NULL NULL 35 val_35
-NULL NULL 35 val_35
-NULL NULL 35 val_35
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 348 val_348
-NULL NULL 345 val_345
-NULL NULL 344 val_344
-NULL NULL 344 val_344
-NULL NULL 342 val_342
-NULL NULL 342 val_342
-NULL NULL 341 val_341
-NULL NULL 34 val_34
-NULL NULL 339 val_339
-NULL NULL 338 val_338
-NULL NULL 336 val_336
-NULL NULL 335 val_335
-NULL NULL 333 val_333
-NULL NULL 333 val_333
-NULL NULL 332 val_332
-NULL NULL 331 val_331
-NULL NULL 331 val_331
-NULL NULL 33 val_33
-NULL NULL 327 val_327
-NULL NULL 327 val_327
-NULL NULL 327 val_327
-NULL NULL 325 val_325
-NULL NULL 325 val_325
-NULL NULL 323 val_323
-NULL NULL 322 val_322
-NULL NULL 322 val_322
-NULL NULL 321 val_321
-NULL NULL 321 val_321
-NULL NULL 318 val_318
-NULL NULL 318 val_318
-NULL NULL 318 val_318
-NULL NULL 317 val_317
-NULL NULL 317 val_317
-NULL NULL 316 val_316
-NULL NULL 316 val_316
-NULL NULL 316 val_316
-NULL NULL 315 val_315
-NULL NULL 310 val_310
-NULL NULL 309 val_309
-NULL NULL 309 val_309
-NULL NULL 308 val_308
-NULL NULL 307 val_307
-NULL NULL 307 val_307
-NULL NULL 306 val_306
-NULL NULL 305 val_305
-NULL NULL 302 val_302
-NULL NULL 30 val_30
-NULL NULL 298 val_298
-NULL NULL 298 val_298
-NULL NULL 298 val_298
-NULL NULL 296 val_296
-NULL NULL 292 val_292
-NULL NULL 291 val_291
-NULL NULL 289 val_289
-NULL NULL 288 val_288
-NULL NULL 288 val_288
-NULL NULL 287 val_287
-NULL NULL 286 val_286
-NULL NULL 285 val_285
-NULL NULL 284 val_284
-NULL NULL 283 val_283
-NULL NULL 282 val_282
-NULL NULL 282 val_282
-NULL NULL 281 val_281
-NULL NULL 281 val_281
-NULL NULL 280 val_280
-NULL NULL 280 val_280
-NULL NULL 28 val_28
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 277 val_277
-NULL NULL 275 val_275
-NULL NULL 274 val_274
-NULL NULL 272 val_272
-NULL NULL 272 val_272
-NULL NULL 27 val_27
-NULL NULL 266 val_266
-NULL NULL 265 val_265
-NULL NULL 265 val_265
-NULL NULL 263 val_263
-NULL NULL 262 val_262
-NULL NULL 260 val_260
-NULL NULL 26 val_26
-NULL NULL 26 val_26
-NULL NULL 258 val_258
-NULL NULL 257 val_257
-NULL NULL 256 val_256
-NULL NULL 256 val_256
-NULL NULL 252 val_252
-NULL NULL 249 val_249
-NULL NULL 248 val_248
-NULL NULL 247 val_247
-NULL NULL 244 val_244
-NULL NULL 242 val_242
-NULL NULL 242 val_242
-NULL NULL 241 val_241
-NULL NULL 24 val_24
-NULL NULL 24 val_24
-NULL NULL 239 val_239
-NULL NULL 239 val_239
-NULL NULL 237 val_237
-NULL NULL 237 val_237
-NULL NULL 235 val_235
-NULL NULL 233 val_233
-NULL NULL 233 val_233
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 230 val_230
-NULL NULL 229 val_229
-NULL NULL 229 val_229
-NULL NULL 228 val_228
-NULL NULL 226 val_226
-NULL NULL 223 val_223
-NULL NULL 223 val_223
-NULL NULL 222 val_222
-NULL NULL 221 val_221
-NULL NULL 221 val_221
-NULL NULL 219 val_219
-NULL NULL 219 val_219
-NULL NULL 218 val_218
-NULL NULL 217 val_217
-NULL NULL 217 val_217
-NULL NULL 216 val_216
-NULL NULL 216 val_216
-NULL NULL 214 val_214
-NULL NULL 209 val_209
-NULL NULL 209 val_209
-NULL NULL 208 val_208
-NULL NULL 208 val_208
-NULL NULL 208 val_208
-NULL NULL 207 val_207
-NULL NULL 207 val_207
-NULL NULL 205 val_205
-NULL NULL 205 val_205
-NULL NULL 203 val_203
-NULL NULL 203 val_203
-NULL NULL 202 val_202
-NULL NULL 201 val_201
-NULL NULL 200 val_200
-NULL NULL 200 val_200
-NULL NULL 20 val_20
-NULL NULL 2 val_2
-NULL NULL 199 val_199
-NULL NULL 199 val_199
-NULL NULL 199 val_199
-NULL NULL 197 val_197
-NULL NULL 197 val_197
-NULL NULL 196 val_196
-NULL NULL 195 val_195
-NULL NULL 195 val_195
-NULL NULL 194 val_194
-NULL NULL 193 val_193
-NULL NULL 193 val_193
-NULL NULL 193 val_193
-NULL NULL 192 val_192
-NULL NULL 191 val_191
-NULL NULL 191 val_191
-NULL NULL 190 val_190
-NULL NULL 19 val_19
-NULL NULL 189 val_189
-NULL NULL 187 val_187
-NULL NULL 187 val_187
-NULL NULL 187 val_187
-NULL NULL 186 val_186
-NULL NULL 183 val_183
-NULL NULL 181 val_181
-NULL NULL 180 val_180
-NULL NULL 18 val_18
-NULL NULL 18 val_18
-NULL NULL 179 val_179
-NULL NULL 179 val_179
-NULL NULL 178 val_178
-NULL NULL 177 val_177
-NULL NULL 176 val_176
-NULL NULL 176 val_176
-NULL NULL 175 val_175
-NULL NULL 175 val_175
-NULL NULL 174 val_174
-NULL NULL 174 val_174
-NULL NULL 172 val_172
-NULL NULL 172 val_172
-NULL NULL 170 val_170
-NULL NULL 17 val_17
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 169 val_169
-NULL NULL 168 val_168
-NULL NULL 167 val_167
-NULL NULL 167 val_167
-NULL NULL 167 val_167
-NULL NULL 166 val_166
-NULL NULL 165 val_165
-NULL NULL 165 val_165
-NULL NULL 164 val_164
-NULL NULL 164 val_164
-NULL NULL 163 val_163
-NULL NULL 162 val_162
-NULL NULL 160 val_160
-NULL NULL 158 val_158
-NULL NULL 157 val_157
-NULL NULL 156 val_156
-NULL NULL 155 val_155
-NULL NULL 153 val_153
-NULL NULL 152 val_152
-NULL NULL 152 val_152
-NULL NULL 15 val_15
-NULL NULL 15 val_15
-NULL NULL 149 val_149
-NULL NULL 149 val_149
-NULL NULL 145 val_145
-NULL NULL 143 val_143
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 138 val_138
-NULL NULL 137 val_137
-NULL NULL 137 val_137
-NULL NULL 136 val_136
-NULL NULL 134 val_134
-NULL NULL 134 val_134
-NULL NULL 133 val_133
-NULL NULL 131 val_131
-NULL NULL 129 val_129
-NULL NULL 129 val_129
-NULL NULL 126 val_126
-NULL NULL 125 val_125
-NULL NULL 125 val_125
-NULL NULL 120 val_120
-NULL NULL 120 val_120
-NULL NULL 12 val_12
-NULL NULL 12 val_12
-NULL NULL 119 val_119
-NULL NULL 119 val_119
-NULL NULL 119 val_119
-NULL NULL 118 val_118
-NULL NULL 118 val_118
-NULL NULL 116 val_116
-NULL NULL 114 val_114
-NULL NULL 113 val_113
-NULL NULL 113 val_113
-NULL NULL 111 val_111
-NULL NULL 11 val_11
-NULL NULL 105 val_105
-NULL NULL 104 val_104
-NULL NULL 104 val_104
-NULL NULL 103 val_103
-NULL NULL 103 val_103
-NULL NULL 100 val_100
-NULL NULL 100 val_100
-NULL NULL 10 val_10
-NULL NULL 0 val_0
-NULL NULL 0 val_0
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-128 val_128 128 val_128
-146 val_146 146 val_146
-146 val_146 146 val_146
-146 val_146 146 val_146
-146 val_146 146 val_146
-150 val_150 150 val_150
-213 val_213 213 val_213
-213 val_213 213 val_213
-213 val_213 213 val_213
-213 val_213 213 val_213
-224 val_224 224 val_224
-224 val_224 224 val_224
-224 val_224 224 val_224
-224 val_224 224 val_224
-238 val_238 238 val_238
-238 val_238 238 val_238
-238 val_238 238 val_238
-238 val_238 238 val_238
-255 val_255 255 val_255
-255 val_255 255 val_255
-255 val_255 255 val_255
-255 val_255 255 val_255
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-273 val_273 273 val_273
-278 val_278 278 val_278
-278 val_278 278 val_278
-278 val_278 278 val_278
-278 val_278 278 val_278
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-311 val_311 311 val_311
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-369 val_369 369 val_369
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-401 val_401 401 val_401
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-406 val_406 406 val_406
-66 val_66 66 val_66
-98 val_98 98 val_98
-98 val_98 98 val_98
-98 val_98 98 val_98
-98 val_98 98 val_98
diff --git ql/src/test/templates/TestCliDriver.vm ql/src/test/templates/TestCliDriver.vm
index 497339b..c3d0e5e 100644
--- ql/src/test/templates/TestCliDriver.vm
+++ ql/src/test/templates/TestCliDriver.vm
@@ -36,9 +36,10 @@ public class $className extends TestCase {
static {
MiniClusterType miniMR = MiniClusterType.valueForString("$clusterMode");
+ String hiveConfDir = "$hiveConfDir";
try {
String hadoopVer = "$hadoopVersion";
- qt = new QTestUtil((HIVE_ROOT + "$resultsDir"), (HIVE_ROOT + "$logDir"), miniMR, hadoopVer);
+ qt = new QTestUtil((HIVE_ROOT + "$resultsDir"), (HIVE_ROOT + "$logDir"), miniMR, hiveConfDir, hadoopVer);
// do a one time initialization
qt.cleanUp();