diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index f593d7d..73610dc 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -765,8 +765,8 @@ public void setSparkConfigUpdated(boolean isSparkConfigUpdated) { HIVEMAPJOINBUCKETCACHESIZE("hive.mapjoin.bucket.cache.size", 100, ""), HIVEMAPJOINUSEOPTIMIZEDTABLE("hive.mapjoin.optimized.hashtable", true, - "Whether Hive should use memory-optimized hash table for MapJoin. Only works on Tez,\n" + - "because memory-optimized hashtable cannot be serialized."), + "Whether Hive should use memory-optimized hash table for MapJoin.\n" + + "Only works on Tez and Spark, because memory-optimized hashtable cannot be serialized."), HIVEUSEHYBRIDGRACEHASHJOIN("hive.mapjoin.hybridgrace.hashtable", true, "Whether to use hybrid" + "grace hash join as the join method for mapjoin. Tez only."), HIVEHYBRIDGRACEHASHJOINMEMCHECKFREQ("hive.mapjoin.hybridgrace.memcheckfrequency", 1024, "For " + diff --git a/itests/src/test/resources/testconfiguration.properties b/itests/src/test/resources/testconfiguration.properties index c710b0b..b04c5d5 100644 --- a/itests/src/test/resources/testconfiguration.properties +++ b/itests/src/test/resources/testconfiguration.properties @@ -1181,7 +1181,14 @@ miniSparkOnYarn.query.files=auto_sortmerge_join_16.q,\ stats_counter_partitioned.q,\ temp_table_external.q,\ truncate_column_buckets.q,\ - uber_reduce.q + uber_reduce.q,\ + vector_inner_join.q,\ + vector_outer_join0.q,\ + vector_outer_join1.q,\ + vector_outer_join2.q,\ + vector_outer_join3.q,\ + vector_outer_join4.q,\ + vector_outer_join5.q spark.query.negative.files=groupby2_map_skew_multi_distinct.q,\ groupby2_multi_distinct.q,\ diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinTableContainerSerDe.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinTableContainerSerDe.java index e97a9f0..d6deabe 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinTableContainerSerDe.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/MapJoinTableContainerSerDe.java @@ -32,7 +32,9 @@ import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.common.JavaUtils; import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.ql.exec.vector.mapjoin.fast.VectorMapJoinFastTableContainer; import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.plan.MapJoinDesc; import org.apache.hadoop.hive.serde2.SerDe; import org.apache.hadoop.hive.serde2.SerDeException; import org.apache.hadoop.hive.shims.ShimLoader; @@ -195,6 +197,74 @@ private void loadOptimized(MapJoinBytesTableContainer container, ObjectInputStre } } + /** + * Loads the small table into a VectorMapJoinFastTableContainer. Only used on Spark path. + * @param mapJoinDesc The descriptor for the map join + * @param fs FileSystem of the folder. + * @param folder The folder to load table container. + * @param hconf The hive configuration + * @return Loaded table. + */ + @SuppressWarnings("unchecked") + public MapJoinTableContainer loadFastContainer(MapJoinDesc mapJoinDesc, + FileSystem fs, Path folder, Configuration hconf) throws HiveException { + try { + if (!fs.isDirectory(folder)) { + throw new HiveException("Error, not a directory: " + folder); + } + FileStatus[] fileStatuses = fs.listStatus(folder); + if (fileStatuses == null || fileStatuses.length == 0) { + return null; + } + + SerDe keySerDe = keyContext.getSerDe(); + SerDe valueSerDe = valueContext.getSerDe(); + Writable key = keySerDe.getSerializedClass().newInstance(); + Writable value = valueSerDe.getSerializedClass().newInstance(); + + VectorMapJoinFastTableContainer tableContainer = + new VectorMapJoinFastTableContainer(mapJoinDesc, hconf, -1); + + for (FileStatus fileStatus : fileStatuses) { + Path filePath = fileStatus.getPath(); + if (ShimLoader.getHadoopShims().isDirectory(fileStatus)) { + throw new HiveException("Error, not a file: " + filePath); + } + InputStream is = null; + ObjectInputStream in = null; + try { + is = fs.open(filePath, 4096); + in = new ObjectInputStream(is); + // skip the name and metadata + in.readUTF(); + in.readObject(); + int numKeys = in.readInt(); + for (int keyIndex = 0; keyIndex < numKeys; keyIndex++) { + key.readFields(in); + long numRows = in.readLong(); + for (long rowIndex = 0L; rowIndex < numRows; rowIndex++) { + value.readFields(in); + tableContainer.putRow(null, key, null, value); + } + } + } finally { + if (in != null) { + in.close(); + } else if (is != null) { + is.close(); + } + } + } + + tableContainer.seal(); + return tableContainer; + } catch (IOException e) { + throw new HiveException("IO error while trying to create table container", e); + } catch (Exception e) { + throw new HiveException("Error while trying to create table container", e); + } + } + public void persist(ObjectOutputStream out, MapJoinPersistableTableContainer tableContainer) throws HiveException { int numKeys = tableContainer.size(); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HashTableLoader.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HashTableLoader.java index 10e3497..c2462a0 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HashTableLoader.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/spark/HashTableLoader.java @@ -46,6 +46,7 @@ import org.apache.hadoop.hive.ql.plan.MapredLocalWork; import org.apache.hadoop.hive.ql.plan.OperatorDesc; import org.apache.hadoop.hive.ql.plan.SparkBucketMapJoinContext; +import org.apache.hadoop.hive.ql.plan.VectorMapJoinDesc; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hadoop.mapred.JobConf; @@ -62,6 +63,8 @@ private MapJoinOperator joinOp; private MapJoinDesc desc; + private boolean useFastContainer = false; + @Override public void init(ExecMapperContext context, MapredContext mrContext, Configuration hconf, MapJoinOperator joinOp) { @@ -69,6 +72,12 @@ public void init(ExecMapperContext context, MapredContext mrContext, Configurati this.hconf = hconf; this.joinOp = joinOp; this.desc = joinOp.getConf(); + if (desc.getVectorMode() && HiveConf.getBoolVar( + hconf, HiveConf.ConfVars.HIVE_VECTORIZATION_MAPJOIN_NATIVE_FAST_HASHTABLE_ENABLED)) { + VectorMapJoinDesc vectorDesc = desc.getVectorDesc(); + useFastContainer = vectorDesc != null && vectorDesc.hashTableImplementationType() == + VectorMapJoinDesc.HashTableImplementationType.FAST; + } } @Override @@ -98,7 +107,7 @@ public void load(MapJoinTableContainer[] mapJoinTables, FileSystem fs = FileSystem.get(baseDir.toUri(), hconf); BucketMapJoinContext mapJoinCtx = localWork.getBucketMapjoinContext(); boolean firstContainer = true; - boolean useOptimizedContainer = HiveConf.getBoolVar( + boolean useOptimizedContainer = !useFastContainer && HiveConf.getBoolVar( hconf, HiveConf.ConfVars.HIVEMAPJOINUSEOPTIMIZEDTABLE); for (int pos = 0; pos < mapJoinTables.length; pos++) { if (pos == desc.getPosBigTable() || mapJoinTables[pos] != null) { @@ -146,14 +155,17 @@ private MapJoinTableContainer load(FileSystem fs, Path path, MapJoinTableContainerSerDe mapJoinTableSerde) throws HiveException { LOG.info("\tLoad back all hashtable files from tmp folder uri:" + path); if (!SparkUtilities.isDedicatedCluster(hconf)) { - return mapJoinTableSerde.load(fs, path, hconf); + return useFastContainer ? mapJoinTableSerde.loadFastContainer(desc, fs, path, hconf) : + mapJoinTableSerde.load(fs, path, hconf); } MapJoinTableContainer mapJoinTable = SmallTableCache.get(path); if (mapJoinTable == null) { synchronized (path.toString().intern()) { mapJoinTable = SmallTableCache.get(path); if (mapJoinTable == null) { - mapJoinTable = mapJoinTableSerde.load(fs, path, hconf); + mapJoinTable = useFastContainer ? + mapJoinTableSerde.loadFastContainer(desc, fs, path, hconf) : + mapJoinTableSerde.load(fs, path, hconf); SmallTableCache.cache(path, mapJoinTable); } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java index 87ebcf2..efad421 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/VectorMapJoinCommonOperator.java @@ -541,7 +541,9 @@ protected HashTableLoader getHashTableLoader(Configuration hconf) { break; case FAST: // Use our specialized hash table loader. - hashTableLoader = new VectorMapJoinFastHashTableLoader(); + hashTableLoader = HiveConf.getVar( + hconf, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE).equals("spark") ? + HashTableLoaderFactory.getLoader(hconf) : new VectorMapJoinFastHashTableLoader(); break; default: throw new RuntimeException("Unknown vector map join hash table implementation type " + hashTableImplementationType.name()); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastTableContainer.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastTableContainer.java index f2080f4..cf6c0e3 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastTableContainer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/VectorMapJoinFastTableContainer.java @@ -195,7 +195,7 @@ public ReusableGetAdaptor createGetter(MapJoinKey keyTypeFromLoader) { @Override public void clear() { - throw new RuntimeException("Not applicable"); + // Do nothing } @Override diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java index 82c3e50..4f66cd6 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java @@ -157,6 +157,7 @@ private PhysicalContext physicalContext = null; private HiveConf hiveConf; + private boolean isSpark; public Vectorizer() { @@ -873,6 +874,7 @@ public PhysicalContext resolve(PhysicalContext physicalContext) throws SemanticE LOG.info("Vectorization is disabled"); return physicalContext; } + isSpark = (HiveConf.getVar(hiveConf, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE).equals("spark")); // create dispatcher and graph walker Dispatcher disp = new VectorizationDispatcher(physicalContext); TaskGraphWalker ogw = new TaskGraphWalker(disp); @@ -1444,8 +1446,6 @@ private boolean isBigTableOnlyResults(MapJoinDesc desc) { Operator vectorOp = null; Class> opClass = null; - boolean isOuterJoin = !desc.getNoOuterJoin(); - VectorMapJoinDesc.HashTableImplementationType hashTableImplementationType = HashTableImplementationType.NONE; VectorMapJoinDesc.HashTableKind hashTableKind = HashTableKind.NONE; VectorMapJoinDesc.HashTableKeyType hashTableKeyType = HashTableKeyType.NONE; @@ -1666,7 +1666,7 @@ private boolean canSpecializeMapJoin(Operator op, MapJoi case MAPJOIN: { MapJoinDesc desc = (MapJoinDesc) op.getConf(); - boolean specialize = canSpecializeMapJoin(op, desc, isTez); + boolean specialize = canSpecializeMapJoin(op, desc, isTez || isSpark); if (!specialize) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkMapJoinOptimizer.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkMapJoinOptimizer.java index 39d1f18..46eab65 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkMapJoinOptimizer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkMapJoinOptimizer.java @@ -46,6 +46,8 @@ import org.apache.hadoop.hive.ql.plan.OpTraits; import org.apache.hadoop.hive.ql.plan.OperatorDesc; import org.apache.hadoop.hive.ql.plan.Statistics; +import org.apache.hadoop.hive.serde.serdeConstants; +import org.apache.hadoop.hive.serde2.binarysortable.BinarySortableSerDe; /** * SparkMapJoinOptimizer cloned from ConvertJoinMapJoin is an optimization that replaces a common join @@ -89,6 +91,14 @@ LOG.info("Convert to non-bucketed map join"); MapJoinOperator mapJoinOp = convertJoinMapJoin(joinOp, context, mapJoinConversionPos); + // For native vectorized map join, we require the key SerDe to be BinarySortableSerDe + // Note: the MJ may not really get natively-vectorized later, + // but changing SerDe won't hurt correctness + if (conf.getBoolVar(HiveConf.ConfVars.HIVE_VECTORIZATION_MAPJOIN_NATIVE_ENABLED) && + conf.getBoolVar(HiveConf.ConfVars.HIVE_VECTORIZATION_ENABLED)) { + mapJoinOp.getConf().getKeyTblDesc().getProperties().setProperty( + serdeConstants.SERIALIZATION_LIB, BinarySortableSerDe.class.getName()); + } if (conf.getBoolVar(HiveConf.ConfVars.HIVEOPTBUCKETMAPJOIN)) { LOG.info("Check if it can be converted to bucketed map join"); numBuckets = convertJoinBucketMapJoin(joinOp, mapJoinOp, diff --git a/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out b/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out new file mode 100644 index 0000000..d1b775f --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_inner_join.q.out @@ -0,0 +1,853 @@ +PREHOOK: query: CREATE TABLE orc_table_1a(a INT) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_1a +POSTHOOK: query: CREATE TABLE orc_table_1a(a INT) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_1a +PREHOOK: query: CREATE TABLE orc_table_2a(c INT) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_2a +POSTHOOK: query: CREATE TABLE orc_table_2a(c INT) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_2a +PREHOOK: query: insert into table orc_table_1a values(1),(1), (2),(3) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@orc_table_1a +POSTHOOK: query: insert into table orc_table_1a values(1),(1), (2),(3) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@orc_table_1a +POSTHOOK: Lineage: orc_table_1a.a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: insert into table orc_table_2a values(0),(2), (3),(null),(4) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__2 +PREHOOK: Output: default@orc_table_2a +POSTHOOK: query: insert into table orc_table_2a values(0),(2), (3),(null),(4) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__2 +POSTHOOK: Output: default@orc_table_2a +POSTHOOK: Lineage: orc_table_2a.c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: explain +select t1.a from orc_table_2a t2 join orc_table_1a t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.a from orc_table_2a t2 join orc_table_1a t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 c (type: int) + 1 a (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 c (type: int) + 1 a (type: int) + outputColumnNames: _col4 + input vertices: + 0 Map 1 + Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col4 (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.a from orc_table_2a t2 join orc_table_1a t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1a +PREHOOK: Input: default@orc_table_2a +#### A masked pattern was here #### +POSTHOOK: query: select t1.a from orc_table_2a t2 join orc_table_1a t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1a +POSTHOOK: Input: default@orc_table_2a +#### A masked pattern was here #### +3 +PREHOOK: query: explain +select t2.c from orc_table_2a t2 left semi join orc_table_1a t1 on t1.a = t2.c where t2.c > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t2.c from orc_table_2a t2 left semi join orc_table_1a t1 on t1.a = t2.c where t2.c > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: a is not null (type: boolean) + Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: a (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int) + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: c (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Semi Join 0 to 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + outputColumnNames: _col0 + input vertices: + 1 Map 2 + Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t2.c from orc_table_2a t2 left semi join orc_table_1a t1 on t1.a = t2.c where t2.c > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1a +PREHOOK: Input: default@orc_table_2a +#### A masked pattern was here #### +POSTHOOK: query: select t2.c from orc_table_2a t2 left semi join orc_table_1a t1 on t1.a = t2.c where t2.c > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1a +POSTHOOK: Input: default@orc_table_2a +#### A masked pattern was here #### +3 +PREHOOK: query: CREATE TABLE orc_table_1b(v1 STRING, a INT) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_1b +POSTHOOK: query: CREATE TABLE orc_table_1b(v1 STRING, a INT) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_1b +PREHOOK: query: CREATE TABLE orc_table_2b(c INT, v2 STRING) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_2b +POSTHOOK: query: CREATE TABLE orc_table_2b(c INT, v2 STRING) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_2b +PREHOOK: query: insert into table orc_table_1b values("one", 1),("one", 1), ("two", 2),("three", 3) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__3 +PREHOOK: Output: default@orc_table_1b +POSTHOOK: query: insert into table orc_table_1b values("one", 1),("one", 1), ("two", 2),("three", 3) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__3 +POSTHOOK: Output: default@orc_table_1b +POSTHOOK: Lineage: orc_table_1b.a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: orc_table_1b.v1 SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: insert into table orc_table_2b values(0, "ZERO"),(2, "TWO"), (3, "THREE"),(null, ""),(4, "FOUR") +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__4 +PREHOOK: Output: default@orc_table_2b +POSTHOOK: query: insert into table orc_table_2b values(0, "ZERO"),(2, "TWO"), (3, "THREE"),(null, ""),(4, "FOUR") +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__4 +POSTHOOK: Output: default@orc_table_2b +POSTHOOK: Lineage: orc_table_2b.c EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: orc_table_2b.v2 SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +PREHOOK: query: explain +select t1.v1, t1.a from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t1.a from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 c (type: int) + 1 a (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 c (type: int) + 1 a (type: int) + outputColumnNames: _col5, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col5 (type: string), _col6 (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.v1, t1.a from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.v1, t1.a from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +three 3 +PREHOOK: query: explain +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 c (type: int) + 1 a (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 c (type: int) + 1 a (type: int) + outputColumnNames: _col0, _col1, _col5, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col5 (type: string), _col6 (type: int), _col0 (type: int), _col1 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.v1, t1.a, t2.c, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.v1, t1.a, t2.c, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +three 3 3 THREE +PREHOOK: query: explain +select t1.v1, t1.a*2, t2.c*5, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t1.a*2, t2.c*5, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 c (type: int) + 1 a (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 c (type: int) + 1 a (type: int) + outputColumnNames: _col0, _col1, _col5, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col5 (type: string), (_col6 * 2) (type: int), (_col0 * 5) (type: int), _col1 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.v1, t1.a*2, t2.c*5, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.v1, t1.a*2, t2.c*5, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +three 6 15 THREE +PREHOOK: query: explain +select t1.v1, t2.v2, t2.c from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t2.v2, t2.c from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 c (type: int) + 1 a (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 c (type: int) + 1 a (type: int) + outputColumnNames: _col0, _col1, _col5 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col5 (type: string), _col1 (type: string), _col0 (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.v1, t2.v2, t2.c from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.v1, t2.v2, t2.c from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +three THREE 3 +PREHOOK: query: explain +select t1.a, t1.v1, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.a, t1.v1, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 c (type: int) + 1 a (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 c (type: int) + 1 a (type: int) + outputColumnNames: _col1, _col5, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col6 (type: int), _col5 (type: string), _col1 (type: string) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.a, t1.v1, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.a, t1.v1, t2.v2 from orc_table_2b t2 join orc_table_1b t1 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +3 three THREE +PREHOOK: query: explain +select t1.v1, t2.v2, t2.c from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t2.v2, t2.c from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 a (type: int) + 1 c (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 a (type: int) + 1 c (type: int) + outputColumnNames: _col0, _col5, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col6 (type: string), _col5 (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.v1, t2.v2, t2.c from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.v1, t2.v2, t2.c from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +three THREE 3 +PREHOOK: query: explain +select t1.a, t1.v1, t2.v2 from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.a, t1.v1, t2.v2 from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 5 Data size: 456 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (c > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 a (type: int) + 1 c (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 4 Data size: 364 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (a > 2) (type: boolean) + Statistics: Num rows: 1 Data size: 91 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Inner Join 0 to 1 + keys: + 0 a (type: int) + 1 c (type: int) + outputColumnNames: _col0, _col1, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: int), _col0 (type: string), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 100 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select t1.a, t1.v1, t2.v2 from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1b +PREHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +POSTHOOK: query: select t1.a, t1.v1, t2.v2 from orc_table_1b t1 join orc_table_2b t2 on t1.a = t2.c where t1.a > 2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1b +POSTHOOK: Input: default@orc_table_2b +#### A masked pattern was here #### +3 three THREE diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out b/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out new file mode 100644 index 0000000..cc66db5 --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_outer_join0.q.out @@ -0,0 +1,242 @@ +PREHOOK: query: CREATE TABLE orc_table_1(v1 STRING, a INT) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_1 +POSTHOOK: query: CREATE TABLE orc_table_1(v1 STRING, a INT) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_1 +PREHOOK: query: CREATE TABLE orc_table_2(c INT, v2 STRING) STORED AS ORC +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@orc_table_2 +POSTHOOK: query: CREATE TABLE orc_table_2(c INT, v2 STRING) STORED AS ORC +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@orc_table_2 +PREHOOK: query: insert into table orc_table_1 values ("", null),("one", 1),("one", 1),("two", 2),("three", 3),("", null) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@orc_table_1 +POSTHOOK: query: insert into table orc_table_1 values ("", null),("one", 1),("one", 1),("two", 2),("three", 3),("", null) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@orc_table_1 +POSTHOOK: Lineage: orc_table_1.a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: orc_table_1.v1 SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: insert into table orc_table_2 values (0, "ZERO"),(2, "TWO"), (3, "THREE"),(null, ""),(4, "FOUR"),(null, "") +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__2 +PREHOOK: Output: default@orc_table_2 +POSTHOOK: query: insert into table orc_table_2 values (0, "ZERO"),(2, "TWO"), (3, "THREE"),(null, ""),(4, "FOUR"),(null, "") +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__2 +POSTHOOK: Output: default@orc_table_2 +POSTHOOK: Lineage: orc_table_2.c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: orc_table_2.v2 SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +PREHOOK: query: select * from orc_table_1 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1 +#### A masked pattern was here #### +POSTHOOK: query: select * from orc_table_1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1 +#### A masked pattern was here #### + NULL + NULL +one 1 +one 1 +three 3 +two 2 +PREHOOK: query: select * from orc_table_2 +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_2 +#### A masked pattern was here #### +POSTHOOK: query: select * from orc_table_2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_2 +#### A masked pattern was here #### +0 ZERO +2 TWO +3 THREE +4 FOUR +NULL +NULL +PREHOOK: query: explain +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 6 Data size: 550 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 a (type: int) + 1 c (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 6 Data size: 544 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 a (type: int) + 1 c (type: int) + outputColumnNames: _col0, _col1, _col5, _col6 + input vertices: + 1 Map 2 + Statistics: Num rows: 6 Data size: 598 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: int), _col5 (type: int), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 6 Data size: 598 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 6 Data size: 598 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1 +PREHOOK: Input: default@orc_table_2 +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 left outer join orc_table_2 t2 on t1.a = t2.c +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1 +POSTHOOK: Input: default@orc_table_2 +#### A masked pattern was here #### + NULL NULL NULL + NULL NULL NULL +one 1 NULL NULL +one 1 NULL NULL +three 3 3 THREE +two 2 2 TWO +PREHOOK: query: explain +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 right outer join orc_table_2 t2 on t1.a = t2.c +PREHOOK: type: QUERY +POSTHOOK: query: explain +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 right outer join orc_table_2 t2 on t1.a = t2.c +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: t1 + Statistics: Num rows: 6 Data size: 544 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 a (type: int) + 1 c (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: t2 + Statistics: Num rows: 6 Data size: 550 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Right Outer Join0 to 1 + keys: + 0 a (type: int) + 1 c (type: int) + outputColumnNames: _col0, _col1, _col5, _col6 + input vertices: + 0 Map 1 + Statistics: Num rows: 6 Data size: 598 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col0 (type: string), _col1 (type: int), _col5 (type: int), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 6 Data size: 598 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 6 Data size: 598 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 right outer join orc_table_2 t2 on t1.a = t2.c +PREHOOK: type: QUERY +PREHOOK: Input: default@orc_table_1 +PREHOOK: Input: default@orc_table_2 +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select t1.v1, t1.a, t2.c, t2.v2 from orc_table_1 t1 right outer join orc_table_2 t2 on t1.a = t2.c +POSTHOOK: type: QUERY +POSTHOOK: Input: default@orc_table_1 +POSTHOOK: Input: default@orc_table_2 +#### A masked pattern was here #### +NULL NULL 0 ZERO +NULL NULL 4 FOUR +NULL NULL NULL +NULL NULL NULL +three 3 3 THREE +two 2 2 TWO diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out b/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out new file mode 100644 index 0000000..cfc4753 --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_outer_join1.q.out @@ -0,0 +1,631 @@ +PREHOOK: query: -- Using cint and ctinyint in test queries +create table small_alltypesorc1a as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc1a +POSTHOOK: query: -- Using cint and ctinyint in test queries +create table small_alltypesorc1a as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc1a +PREHOOK: query: create table small_alltypesorc2a as select * from alltypesorc where cint is null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc2a +POSTHOOK: query: create table small_alltypesorc2a as select * from alltypesorc where cint is null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc2a +PREHOOK: query: create table small_alltypesorc3a as select * from alltypesorc where cint is not null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc3a +POSTHOOK: query: create table small_alltypesorc3a as select * from alltypesorc where cint is not null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc3a +PREHOOK: query: create table small_alltypesorc4a as select * from alltypesorc where cint is null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc4a +POSTHOOK: query: create table small_alltypesorc4a as select * from alltypesorc where cint is null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc4a +PREHOOK: query: select * from small_alltypesorc1a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc1a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc1a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc1a +#### A masked pattern was here #### +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +PREHOOK: query: select * from small_alltypesorc2a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc2a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc2a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc2a +#### A masked pattern was here #### +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +PREHOOK: query: select * from small_alltypesorc3a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc3a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc3a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc3a +#### A masked pattern was here #### +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: select * from small_alltypesorc4a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc4a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc4a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc4a +#### A masked pattern was here #### +PREHOOK: query: create table small_alltypesorc_a stored as orc as select * from +(select * from (select * from small_alltypesorc1a) sq1 + union all + select * from (select * from small_alltypesorc2a) sq2 + union all + select * from (select * from small_alltypesorc3a) sq3 + union all + select * from (select * from small_alltypesorc4a) sq4) q +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@small_alltypesorc1a +PREHOOK: Input: default@small_alltypesorc2a +PREHOOK: Input: default@small_alltypesorc3a +PREHOOK: Input: default@small_alltypesorc4a +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc_a +POSTHOOK: query: create table small_alltypesorc_a stored as orc as select * from +(select * from (select * from small_alltypesorc1a) sq1 + union all + select * from (select * from small_alltypesorc2a) sq2 + union all + select * from (select * from small_alltypesorc3a) sq3 + union all + select * from (select * from small_alltypesorc4a) sq4) q +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@small_alltypesorc1a +POSTHOOK: Input: default@small_alltypesorc2a +POSTHOOK: Input: default@small_alltypesorc3a +POSTHOOK: Input: default@small_alltypesorc4a +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc_a +PREHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +PREHOOK: Output: default@small_alltypesorc_a +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +POSTHOOK: Output: default@small_alltypesorc_a +PREHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +PREHOOK: query: select * from small_alltypesorc_a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc_a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: explain +select * +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +PREHOOK: type: QUERY +POSTHOOK: query: explain +select * +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col2 (type: int) + 1 _col2 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col2 (type: int) + 1 _col2 (type: int) + 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 + input vertices: + 1 Map 2 + Statistics: Num rows: 16 Data size: 4306 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 16 Data size: 4306 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select * +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select * +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL -64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL -64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL -64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL -64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL -64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL -64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL -64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL -64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL -64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: explain +select c.ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +PREHOOK: type: QUERY +POSTHOOK: query: explain +select c.ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + outputColumnNames: _col0 + input vertices: + 1 Map 2 + Statistics: Num rows: 16 Data size: 4306 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 16 Data size: 4306 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select c.ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select c.ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +NULL +NULL +NULL +NULL +NULL +PREHOOK: query: explain +select count(*), sum(t1.c_ctinyint) from (select c.ctinyint as c_ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*), sum(t1.c_ctinyint) from (select c.ctinyint as c_ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col1 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), cint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 15 Data size: 3915 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col1 (type: int) + 1 _col0 (type: int) + outputColumnNames: _col0 + input vertices: + 1 Map 3 + Statistics: Num rows: 16 Data size: 4306 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + outputColumnNames: _col0 + input vertices: + 1 Map 4 + Statistics: Num rows: 17 Data size: 4736 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count(), sum(_col0) + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint), _col1 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0), sum(VALUE._col1) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select count(*), sum(t1.c_ctinyint) from (select c.ctinyint as c_ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select count(*), sum(t1.c_ctinyint) from (select c.ctinyint as c_ctinyint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.ctinyint = c.ctinyint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +145 -8960 diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out b/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out new file mode 100644 index 0000000..0015708 --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_outer_join2.q.out @@ -0,0 +1,327 @@ +PREHOOK: query: -- Using cint and cbigint in test queries +create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cbigint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc1a +POSTHOOK: query: -- Using cint and cbigint in test queries +create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cbigint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc1a +PREHOOK: query: create table small_alltypesorc2a as select * from alltypesorc where cint is null and cbigint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc2a +POSTHOOK: query: create table small_alltypesorc2a as select * from alltypesorc where cint is null and cbigint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc2a +PREHOOK: query: create table small_alltypesorc3a as select * from alltypesorc where cint is not null and cbigint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc3a +POSTHOOK: query: create table small_alltypesorc3a as select * from alltypesorc where cint is not null and cbigint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc3a +PREHOOK: query: create table small_alltypesorc4a as select * from alltypesorc where cint is null and cbigint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc4a +POSTHOOK: query: create table small_alltypesorc4a as select * from alltypesorc where cint is null and cbigint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc4a +PREHOOK: query: select * from small_alltypesorc1a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc1a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc1a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc1a +#### A masked pattern was here #### +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: select * from small_alltypesorc2a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc2a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc2a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc2a +#### A masked pattern was here #### +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +PREHOOK: query: select * from small_alltypesorc3a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc3a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc3a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc3a +#### A masked pattern was here #### +NULL -13166 626923679 NULL NULL -13166.0 821UdmGbkEf4j NULL 1969-12-31 15:59:55.089 1969-12-31 16:00:15.69 true NULL +NULL -14426 626923679 NULL NULL -14426.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.505 1969-12-31 16:00:13.309 true NULL +NULL -14847 626923679 NULL NULL -14847.0 821UdmGbkEf4j NULL 1969-12-31 16:00:00.612 1969-12-31 15:59:43.704 true NULL +NULL -15632 528534767 NULL NULL -15632.0 cvLH6Eat2yFsyy7p NULL NULL 1969-12-31 15:59:53.593 true NULL +NULL -15830 253665376 NULL NULL -15830.0 1cGVWH7n1QU NULL 1969-12-31 16:00:02.582 1969-12-31 16:00:00.518 true NULL +PREHOOK: query: select * from small_alltypesorc4a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc4a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc4a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc4a +#### A masked pattern was here #### +-60 -200 NULL NULL -60.0 -200.0 NULL NULL 1969-12-31 16:00:11.996 1969-12-31 15:59:55.451 NULL NULL +-61 -7196 NULL NULL -61.0 -7196.0 NULL 8Mlns2Tl6E0g 1969-12-31 15:59:44.823 1969-12-31 15:59:58.174 NULL false +-61 -7196 NULL NULL -61.0 -7196.0 NULL fUJIN 1969-12-31 16:00:11.842 1969-12-31 15:59:58.174 NULL false +-62 -7196 NULL NULL -62.0 -7196.0 NULL jf1Cw6qhkNToQuud 1969-12-31 16:00:12.388 1969-12-31 15:59:58.174 NULL false +-62 -7196 NULL NULL -62.0 -7196.0 NULL yLiOchx5PfDTFdcMduBTg 1969-12-31 16:00:02.373 1969-12-31 15:59:58.174 NULL false +PREHOOK: query: create table small_alltypesorc_a stored as orc as select * from +(select * from (select * from small_alltypesorc1a) sq1 + union all + select * from (select * from small_alltypesorc2a) sq2 + union all + select * from (select * from small_alltypesorc3a) sq3 + union all + select * from (select * from small_alltypesorc4a) sq4) q +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@small_alltypesorc1a +PREHOOK: Input: default@small_alltypesorc2a +PREHOOK: Input: default@small_alltypesorc3a +PREHOOK: Input: default@small_alltypesorc4a +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc_a +POSTHOOK: query: create table small_alltypesorc_a stored as orc as select * from +(select * from (select * from small_alltypesorc1a) sq1 + union all + select * from (select * from small_alltypesorc2a) sq2 + union all + select * from (select * from small_alltypesorc3a) sq3 + union all + select * from (select * from small_alltypesorc4a) sq4) q +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@small_alltypesorc1a +POSTHOOK: Input: default@small_alltypesorc2a +POSTHOOK: Input: default@small_alltypesorc3a +POSTHOOK: Input: default@small_alltypesorc4a +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc_a +PREHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +PREHOOK: Output: default@small_alltypesorc_a +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +POSTHOOK: Output: default@small_alltypesorc_a +PREHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +PREHOOK: query: select * from small_alltypesorc_a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc_a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +-60 -200 NULL NULL -60.0 -200.0 NULL NULL 1969-12-31 16:00:11.996 1969-12-31 15:59:55.451 NULL NULL +-61 -7196 NULL NULL -61.0 -7196.0 NULL 8Mlns2Tl6E0g 1969-12-31 15:59:44.823 1969-12-31 15:59:58.174 NULL false +-61 -7196 NULL NULL -61.0 -7196.0 NULL fUJIN 1969-12-31 16:00:11.842 1969-12-31 15:59:58.174 NULL false +-62 -7196 NULL NULL -62.0 -7196.0 NULL jf1Cw6qhkNToQuud 1969-12-31 16:00:12.388 1969-12-31 15:59:58.174 NULL false +-62 -7196 NULL NULL -62.0 -7196.0 NULL yLiOchx5PfDTFdcMduBTg 1969-12-31 16:00:02.373 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +NULL -13166 626923679 NULL NULL -13166.0 821UdmGbkEf4j NULL 1969-12-31 15:59:55.089 1969-12-31 16:00:15.69 true NULL +NULL -14426 626923679 NULL NULL -14426.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.505 1969-12-31 16:00:13.309 true NULL +NULL -14847 626923679 NULL NULL -14847.0 821UdmGbkEf4j NULL 1969-12-31 16:00:00.612 1969-12-31 15:59:43.704 true NULL +NULL -15632 528534767 NULL NULL -15632.0 cvLH6Eat2yFsyy7p NULL NULL 1969-12-31 15:59:53.593 true NULL +NULL -15830 253665376 NULL NULL -15830.0 1cGVWH7n1QU NULL 1969-12-31 16:00:02.582 1969-12-31 16:00:00.518 true NULL +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: explain +select count(*), sum(t1.c_cbigint) from (select c.cbigint as c_cbigint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cbigint = c.cbigint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*), sum(t1.c_cbigint) from (select c.cbigint as c_cbigint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cbigint = c.cbigint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5056 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 20 Data size: 5056 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5056 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cbigint (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 20 Data size: 5056 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col1 (type: bigint) + 1 _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5056 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int), cbigint (type: bigint) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 20 Data size: 5056 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + outputColumnNames: _col1 + input vertices: + 1 Map 3 + Statistics: Num rows: 22 Data size: 5561 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col1 (type: bigint) + 1 _col0 (type: bigint) + outputColumnNames: _col1 + input vertices: + 1 Map 4 + Statistics: Num rows: 24 Data size: 6117 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 24 Data size: 6117 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count(), sum(_col0) + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint), _col1 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0), sum(VALUE._col1) + mode: mergepartial + outputColumnNames: _col0, _col1 + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select count(*), sum(t1.c_cbigint) from (select c.cbigint as c_cbigint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cbigint = c.cbigint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select count(*), sum(t1.c_cbigint) from (select c.cbigint as c_cbigint +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cbigint = c.cbigint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +34 -26289186744 diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join3.q.out b/ql/src/test/results/clientpositive/spark/vector_outer_join3.q.out new file mode 100644 index 0000000..b029e1c --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_outer_join3.q.out @@ -0,0 +1,630 @@ +PREHOOK: query: -- Using cint and cstring1 in test queries +create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cstring1 is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc1a +POSTHOOK: query: -- Using cint and cstring1 in test queries +create table small_alltypesorc1a as select * from alltypesorc where cint is not null and cstring1 is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc1a +PREHOOK: query: create table small_alltypesorc2a as select * from alltypesorc where cint is null and cstring1 is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc2a +POSTHOOK: query: create table small_alltypesorc2a as select * from alltypesorc where cint is null and cstring1 is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc2a +PREHOOK: query: create table small_alltypesorc3a as select * from alltypesorc where cint is not null and cstring1 is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc3a +POSTHOOK: query: create table small_alltypesorc3a as select * from alltypesorc where cint is not null and cstring1 is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc3a +PREHOOK: query: create table small_alltypesorc4a as select * from alltypesorc where cint is null and cstring1 is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc4a +POSTHOOK: query: create table small_alltypesorc4a as select * from alltypesorc where cint is null and cstring1 is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 5 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc4a +PREHOOK: query: select * from small_alltypesorc1a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc1a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc1a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc1a +#### A masked pattern was here #### +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: select * from small_alltypesorc2a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc2a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc2a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc2a +#### A masked pattern was here #### +-51 NULL NULL -1731061911 -51.0 NULL Pw53BBJ yL443x2437PO5Hv1U3lCjq2D 1969-12-31 16:00:08.451 NULL true false +-51 NULL NULL -1846191223 -51.0 NULL Ul085f84S33Xd32u x1JC58g0Ukp 1969-12-31 16:00:08.451 NULL true true +-51 NULL NULL -1874052220 -51.0 NULL c61B47I604gymFJ sjWQS78 1969-12-31 16:00:08.451 NULL false false +-51 NULL NULL -1927203921 -51.0 NULL 45ja5suO 42S0I0 1969-12-31 16:00:08.451 NULL true true +-51 NULL NULL -1970551565 -51.0 NULL r2uhJH3 loXMWyrHjVeK 1969-12-31 16:00:08.451 NULL false false +PREHOOK: query: select * from small_alltypesorc3a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc3a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc3a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc3a +#### A masked pattern was here #### +-51 NULL -31312632 1086455747 -51.0 NULL NULL Bc7xt12568c451o64LF5 1969-12-31 16:00:08.451 NULL NULL true +-51 NULL -337975743 608681041 -51.0 NULL NULL Ih2r28o6 1969-12-31 16:00:08.451 NULL NULL true +-51 NULL -413196097 -306198070 -51.0 NULL NULL F53QcSDPpxYF1Ub 1969-12-31 16:00:08.451 NULL NULL false +-51 NULL -591488718 803603078 -51.0 NULL NULL X616UtmmA3FHan 1969-12-31 16:00:08.451 NULL NULL true +-51 NULL -738306196 -460430946 -51.0 NULL NULL dBOqv 1969-12-31 16:00:08.451 NULL NULL false +PREHOOK: query: select * from small_alltypesorc4a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc4a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc4a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc4a +#### A masked pattern was here #### +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +PREHOOK: query: create table small_alltypesorc_a stored as orc as select * from +(select * from (select * from small_alltypesorc1a) sq1 + union all + select * from (select * from small_alltypesorc2a) sq2 + union all + select * from (select * from small_alltypesorc3a) sq3 + union all + select * from (select * from small_alltypesorc4a) sq4) q +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@small_alltypesorc1a +PREHOOK: Input: default@small_alltypesorc2a +PREHOOK: Input: default@small_alltypesorc3a +PREHOOK: Input: default@small_alltypesorc4a +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc_a +POSTHOOK: query: create table small_alltypesorc_a stored as orc as select * from +(select * from (select * from small_alltypesorc1a) sq1 + union all + select * from (select * from small_alltypesorc2a) sq2 + union all + select * from (select * from small_alltypesorc3a) sq3 + union all + select * from (select * from small_alltypesorc4a) sq4) q +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@small_alltypesorc1a +POSTHOOK: Input: default@small_alltypesorc2a +POSTHOOK: Input: default@small_alltypesorc3a +POSTHOOK: Input: default@small_alltypesorc4a +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc_a +PREHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +PREHOOK: Output: default@small_alltypesorc_a +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +POSTHOOK: Output: default@small_alltypesorc_a +PREHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_a COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +PREHOOK: query: select * from small_alltypesorc_a +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc_a +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +-51 NULL -31312632 1086455747 -51.0 NULL NULL Bc7xt12568c451o64LF5 1969-12-31 16:00:08.451 NULL NULL true +-51 NULL -337975743 608681041 -51.0 NULL NULL Ih2r28o6 1969-12-31 16:00:08.451 NULL NULL true +-51 NULL -413196097 -306198070 -51.0 NULL NULL F53QcSDPpxYF1Ub 1969-12-31 16:00:08.451 NULL NULL false +-51 NULL -591488718 803603078 -51.0 NULL NULL X616UtmmA3FHan 1969-12-31 16:00:08.451 NULL NULL true +-51 NULL -738306196 -460430946 -51.0 NULL NULL dBOqv 1969-12-31 16:00:08.451 NULL NULL false +-51 NULL NULL -1731061911 -51.0 NULL Pw53BBJ yL443x2437PO5Hv1U3lCjq2D 1969-12-31 16:00:08.451 NULL true false +-51 NULL NULL -1846191223 -51.0 NULL Ul085f84S33Xd32u x1JC58g0Ukp 1969-12-31 16:00:08.451 NULL true true +-51 NULL NULL -1874052220 -51.0 NULL c61B47I604gymFJ sjWQS78 1969-12-31 16:00:08.451 NULL false false +-51 NULL NULL -1927203921 -51.0 NULL 45ja5suO 42S0I0 1969-12-31 16:00:08.451 NULL true true +-51 NULL NULL -1970551565 -51.0 NULL r2uhJH3 loXMWyrHjVeK 1969-12-31 16:00:08.451 NULL false false +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: explain +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cstring1 (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col1 (type: string) + 1 _col0 (type: string) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int), cstring1 (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + outputColumnNames: _col1 + input vertices: + 1 Map 3 + Statistics: Num rows: 22 Data size: 5544 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col1 (type: string) + 1 _col0 (type: string) + input vertices: + 1 Map 4 + Statistics: Num rows: 24 Data size: 6098 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cint = c.cint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +20 +PREHOOK: query: explain +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cstring2 (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col1 (type: string) + 1 _col0 (type: string) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cstring1 (type: string) + outputColumnNames: _col0 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cstring1 (type: string), cstring2 (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col1 (type: string) + 1 _col0 (type: string) + outputColumnNames: _col0 + input vertices: + 1 Map 3 + Statistics: Num rows: 22 Data size: 5544 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: string) + 1 _col0 (type: string) + input vertices: + 1 Map 4 + Statistics: Num rows: 24 Data size: 6098 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +28 +PREHOOK: query: explain +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 and cd.cbigint = c.cbigint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 and hd.cint = c.cint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 and cd.cbigint = c.cbigint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 and hd.cint = c.cint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cbigint (type: bigint), cstring2 (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col3 (type: string), _col1 (type: bigint) + 1 _col1 (type: string), _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int), cstring1 (type: string) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col2 (type: string), _col0 (type: int) + 1 _col1 (type: string), _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int), cbigint (type: bigint), cstring1 (type: string), cstring2 (type: string) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 20 Data size: 5040 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col3 (type: string), _col1 (type: bigint) + 1 _col1 (type: string), _col0 (type: bigint) + outputColumnNames: _col0, _col2 + input vertices: + 1 Map 3 + Statistics: Num rows: 22 Data size: 5544 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col2 (type: string), _col0 (type: int) + 1 _col1 (type: string), _col0 (type: int) + input vertices: + 1 Map 4 + Statistics: Num rows: 24 Data size: 6098 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 and cd.cbigint = c.cbigint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 and hd.cint = c.cint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.cstring1 +from small_alltypesorc_a c +left outer join small_alltypesorc_a cd + on cd.cstring2 = c.cstring2 and cd.cbigint = c.cbigint +left outer join small_alltypesorc_a hd + on hd.cstring1 = c.cstring1 and hd.cint = c.cint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_a +#### A masked pattern was here #### +28 diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join4.q.out b/ql/src/test/results/clientpositive/spark/vector_outer_join4.q.out new file mode 100644 index 0000000..182dbb0 --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_outer_join4.q.out @@ -0,0 +1,1000 @@ +PREHOOK: query: -- Using cint and ctinyint in test queries +create table small_alltypesorc1b as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc1b +POSTHOOK: query: -- Using cint and ctinyint in test queries +create table small_alltypesorc1b as select * from alltypesorc where cint is not null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc1b +PREHOOK: query: create table small_alltypesorc2b as select * from alltypesorc where cint is null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc2b +POSTHOOK: query: create table small_alltypesorc2b as select * from alltypesorc where cint is null and ctinyint is not null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc2b +PREHOOK: query: create table small_alltypesorc3b as select * from alltypesorc where cint is not null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc3b +POSTHOOK: query: create table small_alltypesorc3b as select * from alltypesorc where cint is not null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc3b +PREHOOK: query: create table small_alltypesorc4b as select * from alltypesorc where cint is null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc4b +POSTHOOK: query: create table small_alltypesorc4b as select * from alltypesorc where cint is null and ctinyint is null order by ctinyint, csmallint, cint, cbigint, cfloat, cdouble, cstring1, cstring2, ctimestamp1, ctimestamp2, cboolean1, cboolean2 limit 10 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc4b +PREHOOK: query: select * from small_alltypesorc1b +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc1b +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc1b +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc1b +#### A masked pattern was here #### +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL +-64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL +-64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL +-64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL +-64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +PREHOOK: query: select * from small_alltypesorc2b +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc2b +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc2b +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc2b +#### A masked pattern was here #### +-64 -200 NULL -1809444706 -64.0 -200.0 NULL B87YVb3UASqg 1969-12-31 16:00:10.858 1969-12-31 15:59:55.451 NULL true +-64 -200 NULL 2118653994 -64.0 -200.0 NULL ONHGSDy1U4Ft431DfQp15 1969-12-31 16:00:03.944 1969-12-31 15:59:55.451 NULL true +-64 -200 NULL 927647669 -64.0 -200.0 NULL DhxkBT 1969-12-31 16:00:00.199 1969-12-31 15:59:55.451 NULL false +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 1090418478 -64.0 -7196.0 NULL 3E06w2 1969-12-31 16:00:00.29 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 1805860756 -64.0 -7196.0 NULL 4aOn4s2ATygu0476eD 1969-12-31 16:00:12.339 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +PREHOOK: query: select * from small_alltypesorc3b +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc3b +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc3b +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc3b +#### A masked pattern was here #### +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -609074876 -1887561756 NULL NULL EcM71 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:55.061 true false +NULL NULL -700300206 -1887561756 NULL NULL kdqQE010 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:58.384 false false +NULL NULL -726473298 1864027286 NULL NULL OFy1a1xf37f75b5N 4KWs6gw7lv2WYd66P NULL 1969-12-31 16:00:11.799 true true +NULL NULL -738747840 -1645852809 NULL NULL vmAT10eeE47fgH20pLi xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:11.55 true false +NULL NULL -838810013 1864027286 NULL NULL N016jPED08o 4KWs6gw7lv2WYd66P NULL 1969-12-31 15:59:44.252 false true +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: select * from small_alltypesorc4b +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc4b +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc4b +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc4b +#### A masked pattern was here #### +PREHOOK: query: create table small_alltypesorc_b stored as orc as select * from +(select * from (select * from small_alltypesorc1b) sq1 + union all + select * from (select * from small_alltypesorc2b) sq2 + union all + select * from (select * from small_alltypesorc3b) sq3 + union all + select * from (select * from small_alltypesorc4b) sq4) q +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@small_alltypesorc1b +PREHOOK: Input: default@small_alltypesorc2b +PREHOOK: Input: default@small_alltypesorc3b +PREHOOK: Input: default@small_alltypesorc4b +PREHOOK: Output: database:default +PREHOOK: Output: default@small_alltypesorc_b +POSTHOOK: query: create table small_alltypesorc_b stored as orc as select * from +(select * from (select * from small_alltypesorc1b) sq1 + union all + select * from (select * from small_alltypesorc2b) sq2 + union all + select * from (select * from small_alltypesorc3b) sq3 + union all + select * from (select * from small_alltypesorc4b) sq4) q +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@small_alltypesorc1b +POSTHOOK: Input: default@small_alltypesorc2b +POSTHOOK: Input: default@small_alltypesorc3b +POSTHOOK: Input: default@small_alltypesorc4b +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_alltypesorc_b +PREHOOK: query: ANALYZE TABLE small_alltypesorc_b COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_b +PREHOOK: Output: default@small_alltypesorc_b +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_b COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_b +POSTHOOK: Output: default@small_alltypesorc_b +PREHOOK: query: ANALYZE TABLE small_alltypesorc_b COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE small_alltypesorc_b COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +PREHOOK: query: select * from small_alltypesorc_b +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +POSTHOOK: query: select * from small_alltypesorc_b +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -200 NULL -1809444706 -64.0 -200.0 NULL B87YVb3UASqg 1969-12-31 16:00:10.858 1969-12-31 15:59:55.451 NULL true +-64 -200 NULL 2118653994 -64.0 -200.0 NULL ONHGSDy1U4Ft431DfQp15 1969-12-31 16:00:03.944 1969-12-31 15:59:55.451 NULL true +-64 -200 NULL 927647669 -64.0 -200.0 NULL DhxkBT 1969-12-31 16:00:00.199 1969-12-31 15:59:55.451 NULL false +-64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL +-64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL +-64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL +-64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL +-64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 1090418478 -64.0 -7196.0 NULL 3E06w2 1969-12-31 16:00:00.29 1969-12-31 15:59:58.174 NULL true +-64 -7196 NULL 1805860756 -64.0 -7196.0 NULL 4aOn4s2ATygu0476eD 1969-12-31 16:00:12.339 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -609074876 -1887561756 NULL NULL EcM71 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:55.061 true false +NULL NULL -700300206 -1887561756 NULL NULL kdqQE010 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:58.384 false false +NULL NULL -726473298 1864027286 NULL NULL OFy1a1xf37f75b5N 4KWs6gw7lv2WYd66P NULL 1969-12-31 16:00:11.799 true true +NULL NULL -738747840 -1645852809 NULL NULL vmAT10eeE47fgH20pLi xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:11.55 true false +NULL NULL -838810013 1864027286 NULL NULL N016jPED08o 4KWs6gw7lv2WYd66P NULL 1969-12-31 15:59:44.252 false true +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: explain +select * +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +PREHOOK: type: QUERY +POSTHOOK: query: explain +select * +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col2 (type: int) + 1 _col2 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean) + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col2 (type: int) + 1 _col2 (type: int) + 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 + input vertices: + 1 Map 2 + Statistics: Num rows: 33 Data size: 4727 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 33 Data size: 4727 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select * +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select * +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL -64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL -64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL -64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL +-64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL -64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL -64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL -64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL +-64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL -64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -200 NULL -1809444706 -64.0 -200.0 NULL B87YVb3UASqg 1969-12-31 16:00:10.858 1969-12-31 15:59:55.451 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -200 NULL 2118653994 -64.0 -200.0 NULL ONHGSDy1U4Ft431DfQp15 1969-12-31 16:00:03.944 1969-12-31 15:59:55.451 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -200 NULL 927647669 -64.0 -200.0 NULL DhxkBT 1969-12-31 16:00:00.199 1969-12-31 15:59:55.451 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL -64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL +-64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL -64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL -64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +-64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL -64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL -64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL +-64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL -64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL +-64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL -64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL +-64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL -64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL -64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL +-64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL -64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL +-64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL -64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL +-64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL -64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL -64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL +-64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL -64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL -64 -10462 626923679 NULL -64.0 -10462.0 821UdmGbkEf4j NULL 1969-12-31 16:00:02.496 1969-12-31 16:00:00.164 true NULL +-64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL -64 -3586 626923679 NULL -64.0 -3586.0 821UdmGbkEf4j NULL 1969-12-31 16:00:11.952 1969-12-31 15:59:51.131 true NULL +-64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL -64 -4018 626923679 NULL -64.0 -4018.0 821UdmGbkEf4j NULL 1969-12-31 15:59:58.959 1969-12-31 16:00:07.803 true NULL +-64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL -64 -4803 626923679 NULL -64.0 -4803.0 821UdmGbkEf4j NULL 1969-12-31 16:00:04.662 1969-12-31 16:00:01.609 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL -64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL -64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL -64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +-64 -7196 NULL -1615920595 -64.0 -7196.0 NULL X5rDjl 1969-12-31 16:00:11.912 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL -1639157869 -64.0 -7196.0 NULL IJ0Oj7qAiqNGsN7gn 1969-12-31 16:00:01.785 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL -527203677 -64.0 -7196.0 NULL JBE4H5RoK412Cs260I72 1969-12-31 15:59:50.184 1969-12-31 15:59:58.174 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL 1090418478 -64.0 -7196.0 NULL 3E06w2 1969-12-31 16:00:00.29 1969-12-31 15:59:58.174 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL 1805860756 -64.0 -7196.0 NULL 4aOn4s2ATygu0476eD 1969-12-31 16:00:12.339 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL 406535485 -64.0 -7196.0 NULL E011i 1969-12-31 15:59:56.048 1969-12-31 15:59:58.174 NULL false NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -7196 NULL 658026952 -64.0 -7196.0 NULL 4tAur 1969-12-31 15:59:53.866 1969-12-31 15:59:58.174 NULL true NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL -64 -15920 528534767 NULL -64.0 -15920.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:51.859 1969-12-31 16:00:14.468 true NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL -64 -4040 528534767 NULL -64.0 -4040.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:47.733 1969-12-31 15:59:46.044 true NULL +-64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL -64 -8080 528534767 NULL -64.0 -8080.0 cvLH6Eat2yFsyy7p NULL 1969-12-31 15:59:58.044 1969-12-31 15:59:48.655 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL -64 -3097 253665376 NULL -64.0 -3097.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.013 1969-12-31 16:00:06.097 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL -64 -6907 253665376 NULL -64.0 -6907.0 1cGVWH7n1QU NULL NULL 1969-12-31 15:59:53.66 true NULL +-64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL -64 -9842 253665376 NULL -64.0 -9842.0 1cGVWH7n1QU NULL 1969-12-31 16:00:00.631 1969-12-31 16:00:01.781 true NULL +NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false NULL NULL -1015272448 -1887561756 NULL NULL jTQ68531mP 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:45.854 false false +NULL NULL -609074876 -1887561756 NULL NULL EcM71 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:55.061 true false NULL NULL -609074876 -1887561756 NULL NULL EcM71 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:55.061 true false +NULL NULL -700300206 -1887561756 NULL NULL kdqQE010 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:58.384 false false NULL NULL -700300206 -1887561756 NULL NULL kdqQE010 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 15:59:58.384 false false +NULL NULL -726473298 1864027286 NULL NULL OFy1a1xf37f75b5N 4KWs6gw7lv2WYd66P NULL 1969-12-31 16:00:11.799 true true NULL NULL -726473298 1864027286 NULL NULL OFy1a1xf37f75b5N 4KWs6gw7lv2WYd66P NULL 1969-12-31 16:00:11.799 true true +NULL NULL -738747840 -1645852809 NULL NULL vmAT10eeE47fgH20pLi xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:11.55 true false NULL NULL -738747840 -1645852809 NULL NULL vmAT10eeE47fgH20pLi xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:11.55 true false +NULL NULL -838810013 1864027286 NULL NULL N016jPED08o 4KWs6gw7lv2WYd66P NULL 1969-12-31 15:59:44.252 false true NULL NULL -838810013 1864027286 NULL NULL N016jPED08o 4KWs6gw7lv2WYd66P NULL 1969-12-31 15:59:44.252 false true +NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false NULL NULL -850295959 -1887561756 NULL NULL WMIgGA73 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:00.348 false false +NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false NULL NULL -886426182 -1887561756 NULL NULL 0i88xYq3gx1nW4vKjp7vBp3 4hA4KQj2vD3fI6gX82220d NULL 1969-12-31 16:00:04.472 true false +NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false NULL NULL -899422227 -1645852809 NULL NULL 73xdw4X xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:07.395 false false +NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false NULL NULL -971543377 -1645852809 NULL NULL uN803aW xH7445Rals48VOulSyR5F NULL 1969-12-31 16:00:05.43 false false +PREHOOK: query: explain +select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +PREHOOK: type: QUERY +POSTHOOK: query: explain +select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 2 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + outputColumnNames: _col0 + input vertices: + 1 Map 2 + Statistics: Num rows: 33 Data size: 4727 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 33 Data size: 4727 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +-64 +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +NULL +PREHOOK: query: explain +select count(*) from (select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col1 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: c + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), cint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 30 Data size: 4298 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col1 (type: int) + 1 _col0 (type: int) + outputColumnNames: _col0 + input vertices: + 1 Map 3 + Statistics: Num rows: 33 Data size: 4727 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + input vertices: + 1 Map 4 + Statistics: Num rows: 36 Data size: 5199 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +POSTHOOK: query: -- SORT_QUERY_RESULTS + +select count(*) from (select c.ctinyint +from small_alltypesorc_b c +left outer join small_alltypesorc_b cd + on cd.cint = c.cint +left outer join small_alltypesorc_b hd + on hd.ctinyint = c.ctinyint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_alltypesorc_b +#### A masked pattern was here #### +890 diff --git a/ql/src/test/results/clientpositive/spark/vector_outer_join5.q.out b/ql/src/test/results/clientpositive/spark/vector_outer_join5.q.out new file mode 100644 index 0000000..2c7cd5b --- /dev/null +++ b/ql/src/test/results/clientpositive/spark/vector_outer_join5.q.out @@ -0,0 +1,1406 @@ +PREHOOK: query: -- SORT_QUERY_RESULTS + +create table sorted_mod_4 stored as orc +as select ctinyint, pmod(cint, 4) as cmodint from alltypesorc +where cint is not null and ctinyint is not null +order by ctinyint +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@sorted_mod_4 +POSTHOOK: query: -- SORT_QUERY_RESULTS + +create table sorted_mod_4 stored as orc +as select ctinyint, pmod(cint, 4) as cmodint from alltypesorc +where cint is not null and ctinyint is not null +order by ctinyint +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@sorted_mod_4 +PREHOOK: query: ANALYZE TABLE sorted_mod_4 COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@sorted_mod_4 +PREHOOK: Output: default@sorted_mod_4 +POSTHOOK: query: ANALYZE TABLE sorted_mod_4 COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@sorted_mod_4 +POSTHOOK: Output: default@sorted_mod_4 +PREHOOK: query: ANALYZE TABLE sorted_mod_4 COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE sorted_mod_4 COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +PREHOOK: query: create table small_table stored +as orc as select ctinyint, cbigint from alltypesorc limit 100 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_table +POSTHOOK: query: create table small_table stored +as orc as select ctinyint, cbigint from alltypesorc limit 100 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_table +PREHOOK: query: ANALYZE TABLE small_table COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +PREHOOK: Output: default@small_table +POSTHOOK: query: ANALYZE TABLE small_table COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +POSTHOOK: Output: default@small_table +PREHOOK: query: ANALYZE TABLE small_table COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE small_table COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +#### A masked pattern was here #### +PREHOOK: query: explain +select count(*) from (select s.*, st.* +from sorted_mod_4 s +left outer join small_table st +on s.ctinyint = st.ctinyint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.*, st.* +from sorted_mod_4 s +left outer join small_table st +on s.ctinyint = st.ctinyint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: st + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 2219 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.*, st.* +from sorted_mod_4 s +left outer join small_table st +on s.ctinyint = st.ctinyint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +PREHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.*, st.* +from sorted_mod_4 s +left outer join small_table st +on s.ctinyint = st.ctinyint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +POSTHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +6876 +PREHOOK: query: explain +select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.cmodint = 2 +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.cmodint = 2 +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + filter predicates: + 0 {(_col1 = 2)} + 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), cmodint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + filter predicates: + 0 {(_col1 = 2)} + 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 2219 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.cmodint = 2 +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +PREHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.cmodint = 2 +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +POSTHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +6058 +PREHOOK: query: explain +select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and pmod(s.ctinyint, 4) = s.cmodint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and pmod(s.ctinyint, 4) = s.cmodint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + filter predicates: + 0 {((UDFToInteger(_col0) pmod 4) = _col1)} + 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), cmodint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + filter predicates: + 0 {((UDFToInteger(_col0) pmod 4) = _col1)} + 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 2219 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and pmod(s.ctinyint, 4) = s.cmodint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +PREHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and pmod(s.ctinyint, 4) = s.cmodint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +POSTHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +6248 +PREHOOK: query: explain +select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.ctinyint < 100 +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.ctinyint < 100 +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + filter predicates: + 0 {(_col0 < 100)} + 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + filter predicates: + 0 {(_col0 < 100)} + 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 2219 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.ctinyint < 100 +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +PREHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.ctinyint, s.cmodint, sm.cbigint +from sorted_mod_4 s +left outer join small_table sm +on s.ctinyint = sm.ctinyint and s.ctinyint < 100 +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +POSTHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +6876 +PREHOOK: query: explain +select count(*) from (select s.*, sm.*, s2.* +from sorted_mod_4 s +left outer join small_table sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join sorted_mod_4 s2 + on s2.ctinyint = s.ctinyint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.*, sm.*, s2.* +from sorted_mod_4 s +left outer join small_table sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join sorted_mod_4 s2 + on s2.ctinyint = s.ctinyint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cbigint (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 372 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 UDFToLong(_col1) (type: bigint) + 1 (_col0 pmod UDFToLong(8)) (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint) + outputColumnNames: _col0 + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: ctinyint (type: tinyint), cmodint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 6058 Data size: 2018 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 UDFToLong(_col1) (type: bigint) + 1 (_col0 pmod UDFToLong(8)) (type: bigint) + outputColumnNames: _col0 + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 2219 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: tinyint) + 1 _col0 (type: tinyint) + input vertices: + 1 Map 4 + Statistics: Num rows: 7329 Data size: 2440 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.*, sm.*, s2.* +from sorted_mod_4 s +left outer join small_table sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join sorted_mod_4 s2 + on s2.ctinyint = s.ctinyint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table +PREHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.*, sm.*, s2.* +from sorted_mod_4 s +left outer join small_table sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join sorted_mod_4 s2 + on s2.ctinyint = s.ctinyint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table +POSTHOOK: Input: default@sorted_mod_4 +#### A masked pattern was here #### +3268334 +PREHOOK: query: create table mod_8_mod_4 stored as orc +as select pmod(ctinyint, 8) as cmodtinyint, pmod(cint, 4) as cmodint from alltypesorc +where cint is not null and ctinyint is not null +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@mod_8_mod_4 +POSTHOOK: query: create table mod_8_mod_4 stored as orc +as select pmod(ctinyint, 8) as cmodtinyint, pmod(cint, 4) as cmodint from alltypesorc +where cint is not null and ctinyint is not null +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@mod_8_mod_4 +PREHOOK: query: ANALYZE TABLE mod_8_mod_4 COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +PREHOOK: Output: default@mod_8_mod_4 +POSTHOOK: query: ANALYZE TABLE mod_8_mod_4 COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +POSTHOOK: Output: default@mod_8_mod_4 +PREHOOK: query: ANALYZE TABLE mod_8_mod_4 COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE mod_8_mod_4 COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +#### A masked pattern was here #### +PREHOOK: query: create table small_table2 stored +as orc as select pmod(ctinyint, 16) as cmodtinyint, cbigint from alltypesorc limit 100 +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: default@alltypesorc +PREHOOK: Output: database:default +PREHOOK: Output: default@small_table2 +POSTHOOK: query: create table small_table2 stored +as orc as select pmod(ctinyint, 16) as cmodtinyint, cbigint from alltypesorc limit 100 +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: default@alltypesorc +POSTHOOK: Output: database:default +POSTHOOK: Output: default@small_table2 +PREHOOK: query: ANALYZE TABLE small_table2 COMPUTE STATISTICS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table2 +PREHOOK: Output: default@small_table2 +POSTHOOK: query: ANALYZE TABLE small_table2 COMPUTE STATISTICS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table2 +POSTHOOK: Output: default@small_table2 +PREHOOK: query: ANALYZE TABLE small_table2 COMPUTE STATISTICS FOR COLUMNS +PREHOOK: type: QUERY +PREHOOK: Input: default@small_table2 +#### A masked pattern was here #### +POSTHOOK: query: ANALYZE TABLE small_table2 COMPUTE STATISTICS FOR COLUMNS +POSTHOOK: type: QUERY +POSTHOOK: Input: default@small_table2 +#### A masked pattern was here #### +PREHOOK: query: explain +select count(*) from (select s.*, st.* +from mod_8_mod_4 s +left outer join small_table2 st +on s.cmodtinyint = st.cmodtinyint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.*, st.* +from mod_8_mod_4 s +left outer join small_table2 st +on s.cmodtinyint = st.cmodtinyint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: st + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 3063 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.*, st.* +from mod_8_mod_4 s +left outer join small_table2 st +on s.cmodtinyint = st.cmodtinyint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +PREHOOK: Input: default@small_table2 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.*, st.* +from mod_8_mod_4 s +left outer join small_table2 st +on s.cmodtinyint = st.cmodtinyint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +POSTHOOK: Input: default@small_table2 +#### A masked pattern was here #### +39112 +PREHOOK: query: explain +select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodint = 2 +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodint = 2 +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + filter predicates: + 0 {(_col1 = 2)} + 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int), cmodint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + filter predicates: + 0 {(_col1 = 2)} + 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 3063 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodint = 2 +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +PREHOOK: Input: default@small_table2 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodint = 2 +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +POSTHOOK: Input: default@small_table2 +#### A masked pattern was here #### +11171 +PREHOOK: query: explain +select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and pmod(s.cmodtinyint, 4) = s.cmodint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and pmod(s.cmodtinyint, 4) = s.cmodint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + filter predicates: + 0 {((_col0 pmod 4) = _col1)} + 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int), cmodint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + filter predicates: + 0 {((_col0 pmod 4) = _col1)} + 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 3063 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and pmod(s.cmodtinyint, 4) = s.cmodint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +PREHOOK: Input: default@small_table2 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and pmod(s.cmodtinyint, 4) = s.cmodint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +POSTHOOK: Input: default@small_table2 +#### A masked pattern was here #### +14371 +PREHOOK: query: explain +select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodtinyint < 3 +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodtinyint < 3 +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + filter predicates: + 0 {(_col0 < 3)} + 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + filter predicates: + 0 {(_col0 < 3)} + 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 3063 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodtinyint < 3 +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +PREHOOK: Input: default@small_table2 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.cmodtinyint, s.cmodint, sm.cbigint +from mod_8_mod_4 s +left outer join small_table2 sm +on s.cmodtinyint = sm.cmodtinyint and s.cmodtinyint < 3 +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +POSTHOOK: Input: default@small_table2 +#### A masked pattern was here #### +17792 +PREHOOK: query: explain +select count(*) from (select s.*, sm.*, s2.* +from mod_8_mod_4 s +left outer join small_table2 sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join mod_8_mod_4 s2 + on s2.cmodtinyint = s.cmodtinyint +) t1 +PREHOOK: type: QUERY +POSTHOOK: query: explain +select count(*) from (select s.*, sm.*, s2.* +from mod_8_mod_4 s +left outer join small_table2 sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join mod_8_mod_4 s2 + on s2.cmodtinyint = s.cmodtinyint +) t1 +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-2 is a root stage + Stage-1 depends on stages: Stage-2 + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-2 + Spark +#### A masked pattern was here #### + Vertices: + Map 3 + Map Operator Tree: + TableScan + alias: sm + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cbigint (type: bigint) + outputColumnNames: _col0 + Statistics: Num rows: 100 Data size: 352 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 UDFToLong(_col1) (type: bigint) + 1 (_col0 pmod UDFToLong(8)) (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Map 4 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int) + outputColumnNames: _col0 + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Spark HashTable Sink Operator + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + + Stage: Stage-1 + Spark + Edges: + Reducer 2 <- Map 1 (GROUP, 1) +#### A masked pattern was here #### + Vertices: + Map 1 + Map Operator Tree: + TableScan + alias: s + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: cmodtinyint (type: int), cmodint (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 6058 Data size: 2785 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 UDFToLong(_col1) (type: bigint) + 1 (_col0 pmod UDFToLong(8)) (type: bigint) + outputColumnNames: _col0 + input vertices: + 1 Map 3 + Statistics: Num rows: 6663 Data size: 3063 Basic stats: COMPLETE Column stats: NONE + Map Join Operator + condition map: + Left Outer Join0 to 1 + keys: + 0 _col0 (type: int) + 1 _col0 (type: int) + input vertices: + 1 Map 4 + Statistics: Num rows: 7329 Data size: 3369 Basic stats: COMPLETE Column stats: NONE + Group By Operator + aggregations: count() + mode: hash + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + sort order: + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + value expressions: _col0 (type: bigint) + Local Work: + Map Reduce Local Work + Execution mode: vectorized + Reducer 2 + Reduce Operator Tree: + Group By Operator + aggregations: count(VALUE._col0) + mode: mergepartial + outputColumnNames: _col0 + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + Execution mode: vectorized + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select count(*) from (select s.*, sm.*, s2.* +from mod_8_mod_4 s +left outer join small_table2 sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join mod_8_mod_4 s2 + on s2.cmodtinyint = s.cmodtinyint +) t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@mod_8_mod_4 +PREHOOK: Input: default@small_table2 +#### A masked pattern was here #### +POSTHOOK: query: select count(*) from (select s.*, sm.*, s2.* +from mod_8_mod_4 s +left outer join small_table2 sm + on pmod(sm.cbigint, 8) = s.cmodint +left outer join mod_8_mod_4 s2 + on s2.cmodtinyint = s.cmodtinyint +) t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@mod_8_mod_4 +POSTHOOK: Input: default@small_table2 +#### A masked pattern was here #### +6524438