Author: xuefu
Date: Sat Dec 20 14:55:13 2014
New Revision: 1646998
URL: http://svn.apache.org/r1646998
Log:
HIVE-8640: Support hints of SMBJoin [Spark Branch] (Szehon via Xuefu)
Added:
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkJoinHintOptimizer.java
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSMBJoinHintOptimizer.java
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_11.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_12.q.out
Modified:
hive/branches/spark/itests/src/test/resources/testconfiguration.properties
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSortMergeJoinOptimizer.java
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin1.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin11.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin12.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin13.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin2.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin3.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin4.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin5.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin7.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin8.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative2.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative3.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin9.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_1.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_10.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_13.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_14.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_15.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_16.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_17.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_2.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_3.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_4.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_5.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_6.q.out
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin_7.q.out
Modified:
hive/branches/spark/itests/src/test/resources/testconfiguration.properties
URL:
http://svn.apache.org/viewvc/hive/branches/spark/itests/src/test/resources/testconfiguration.properties?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
--- hive/branches/spark/itests/src/test/resources/testconfiguration.properties
(original)
+++ hive/branches/spark/itests/src/test/resources/testconfiguration.properties
Sat Dec 20 14:55:13 2014
@@ -459,14 +459,6 @@ spark.query.files=add_part_multiple.q, \
authorization_admin_almighty1.q, \
auto_join0.q, \
auto_join1.q, \
- auto_join2.q, \
- auto_join3.q, \
- auto_join4.q, \
- auto_join5.q, \
- auto_join6.q, \
- auto_join7.q, \
- auto_join8.q, \
- auto_join9.q, \
auto_join10.q, \
auto_join11.q, \
auto_join12.q, \
@@ -478,6 +470,7 @@ spark.query.files=add_part_multiple.q, \
auto_join18.q, \
auto_join18_multi_distinct.q, \
auto_join19.q, \
+ auto_join2.q, \
auto_join20.q, \
auto_join21.q, \
auto_join22.q, \
@@ -487,9 +480,16 @@ spark.query.files=add_part_multiple.q, \
auto_join27.q, \
auto_join28.q, \
auto_join29.q, \
+ auto_join3.q, \
auto_join30.q, \
auto_join31.q, \
auto_join32.q, \
+ auto_join4.q, \
+ auto_join5.q, \
+ auto_join6.q, \
+ auto_join7.q, \
+ auto_join8.q, \
+ auto_join9.q, \
auto_join_filters.q, \
auto_join_nulls.q, \
auto_join_reordering_values.q, \
@@ -498,6 +498,12 @@ spark.query.files=add_part_multiple.q, \
auto_join_without_localtask.q, \
auto_smb_mapjoin_14.q, \
auto_sortmerge_join_1.q, \
+ auto_sortmerge_join_10.q, \
+ auto_sortmerge_join_12.q, \
+ auto_sortmerge_join_13.q, \
+ auto_sortmerge_join_14.q, \
+ auto_sortmerge_join_15.q, \
+ auto_sortmerge_join_16.q, \
auto_sortmerge_join_2.q, \
auto_sortmerge_join_3.q, \
auto_sortmerge_join_4.q, \
@@ -506,12 +512,6 @@ spark.query.files=add_part_multiple.q, \
auto_sortmerge_join_7.q, \
auto_sortmerge_join_8.q, \
auto_sortmerge_join_9.q, \
- auto_sortmerge_join_10.q, \
- auto_sortmerge_join_12.q, \
- auto_sortmerge_join_13.q, \
- auto_sortmerge_join_14.q, \
- auto_sortmerge_join_15.q, \
- auto_sortmerge_join_16.q, \
avro_compression_enabled_native.q, \
avro_decimal_native.q, \
avro_joins.q, \
@@ -519,7 +519,19 @@ spark.query.files=add_part_multiple.q, \
bucket2.q, \
bucket3.q, \
bucket4.q, \
+ bucket_map_join_1.q, \
+ bucket_map_join_2.q, \
+ bucket_map_join_spark1.q, \
+ bucket_map_join_spark2.q, \
+ bucket_map_join_spark3.q, \
+ bucket_map_join_spark4.q, \
+ bucket_map_join_tez1.q, \
+ bucket_map_join_tez2.q, \
bucketmapjoin1.q, \
+ bucketmapjoin10.q, \
+ bucketmapjoin11.q, \
+ bucketmapjoin12.q, \
+ bucketmapjoin13.q, \
bucketmapjoin2.q, \
bucketmapjoin3.q, \
bucketmapjoin4.q, \
@@ -527,10 +539,6 @@ spark.query.files=add_part_multiple.q, \
bucketmapjoin7.q, \
bucketmapjoin8.q, \
bucketmapjoin9.q, \
- bucketmapjoin10.q, \
- bucketmapjoin11.q, \
- bucketmapjoin12.q, \
- bucketmapjoin13.q, \
bucketmapjoin_negative.q, \
bucketmapjoin_negative2.q, \
bucketmapjoin_negative3.q, \
@@ -539,14 +547,6 @@ spark.query.files=add_part_multiple.q, \
bucketsortoptimize_insert_6.q, \
bucketsortoptimize_insert_7.q, \
bucketsortoptimize_insert_8.q, \
- bucket_map_join_1.q, \
- bucket_map_join_2.q, \
- bucket_map_join_spark1.q \
- bucket_map_join_spark2.q \
- bucket_map_join_spark3.q \
- bucket_map_join_spark4.q \
- bucket_map_join_tez1.q, \
- bucket_map_join_tez2.q, \
column_access_stats.q, \
count.q, \
create_merge_compressed.q, \
@@ -567,6 +567,8 @@ spark.query.files=add_part_multiple.q, \
filter_join_breaktask.q, \
filter_join_breaktask2.q, \
groupby1.q, \
+ groupby10.q, \
+ groupby11.q, \
groupby2.q, \
groupby3.q, \
groupby3_map.q, \
@@ -586,8 +588,6 @@ spark.query.files=add_part_multiple.q, \
groupby8_map_skew.q, \
groupby8_noskew.q, \
groupby9.q, \
- groupby10.q, \
- groupby11.q, \
groupby_bigdata.q, \
groupby_complex_types.q, \
groupby_complex_types_multi_single_reducer.q, \
@@ -606,12 +606,12 @@ spark.query.files=add_part_multiple.q, \
having.q, \
index_auto_self_join.q, \
innerjoin.q, \
- input1_limit.q, \
input12.q, \
input13.q, \
input14.q, \
input17.q, \
input18.q, \
+ input1_limit.q, \
input_part2.q, \
insert1.q, \
insert_into1.q, \
@@ -619,14 +619,6 @@ spark.query.files=add_part_multiple.q, \
insert_into3.q, \
join0.q, \
join1.q, \
- join2.q, \
- join3.q, \
- join4.q, \
- join5.q, \
- join6.q, \
- join7.q, \
- join8.q, \
- join9.q, \
join10.q, \
join11.q, \
join12.q, \
@@ -638,6 +630,7 @@ spark.query.files=add_part_multiple.q, \
join18.q, \
join18_multi_distinct.q, \
join19.q, \
+ join2.q, \
join20.q, \
join21.q, \
join22.q, \
@@ -648,6 +641,7 @@ spark.query.files=add_part_multiple.q, \
join27.q, \
join28.q, \
join29.q, \
+ join3.q, \
join30.q, \
join31.q, \
join32.q, \
@@ -658,8 +652,14 @@ spark.query.files=add_part_multiple.q, \
join36.q, \
join37.q, \
join39.q, \
+ join4.q, \
join40.q, \
join41.q, \
+ join5.q, \
+ join6.q, \
+ join7.q, \
+ join8.q, \
+ join9.q, \
join_1to1.q, \
join_alt_syntax.q, \
join_array.q, \
@@ -672,7 +672,7 @@ spark.query.files=add_part_multiple.q, \
join_cond_pushdown_unqual2.q, \
join_cond_pushdown_unqual3.q, \
join_cond_pushdown_unqual4.q, \
- join_empty.q \
+ join_empty.q, \
join_filters_overlap.q, \
join_hive_626.q, \
join_map_ppr.q, \
@@ -693,6 +693,12 @@ spark.query.files=add_part_multiple.q, \
limit_pushdown.q, \
list_bucket_dml_2.q, \
load_dyn_part1.q, \
+ load_dyn_part10.q, \
+ load_dyn_part11.q, \
+ load_dyn_part12.q, \
+ load_dyn_part13.q, \
+ load_dyn_part14.q, \
+ load_dyn_part15.q, \
load_dyn_part2.q, \
load_dyn_part3.q, \
load_dyn_part4.q, \
@@ -701,12 +707,6 @@ spark.query.files=add_part_multiple.q, \
load_dyn_part7.q, \
load_dyn_part8.q, \
load_dyn_part9.q, \
- load_dyn_part10.q, \
- load_dyn_part11.q, \
- load_dyn_part12.q, \
- load_dyn_part13.q, \
- load_dyn_part14.q, \
- load_dyn_part15.q, \
louter_join_ppr.q, \
mapjoin1.q, \
mapjoin_addjar.q, \
@@ -726,7 +726,6 @@ spark.query.files=add_part_multiple.q, \
mergejoins_mixed.q, \
metadata_only_queries.q, \
metadata_only_queries_with_filters.q, \
- multigroupby_singlemr.q, \
multi_insert.q, \
multi_insert_gby.q, \
multi_insert_gby2.q, \
@@ -735,6 +734,7 @@ spark.query.files=add_part_multiple.q, \
multi_insert_mixed.q, \
multi_insert_move_tasks_share_dependencies.q, \
multi_join_union.q, \
+ multigroupby_singlemr.q, \
optimize_nullscan.q, \
order.q, \
order2.q, \
@@ -769,6 +769,7 @@ spark.query.files=add_part_multiple.q, \
reduce_deduplicate_exclude_join.q, \
router_join_ppr.q, \
sample1.q, \
+ sample10.q, \
sample2.q, \
sample3.q, \
sample4.q, \
@@ -777,22 +778,16 @@ spark.query.files=add_part_multiple.q, \
sample7.q, \
sample8.q, \
sample9.q, \
- sample10.q, \
- scriptfile1.q, \
script_env_var1.q, \
script_env_var2.q, \
script_pipe.q, \
+ scriptfile1.q, \
semijoin.q, \
skewjoin.q, \
+ skewjoin_noskew.q, \
+ skewjoin_union_remove_1.q, \
+ skewjoin_union_remove_2.q, \
skewjoinopt1.q, \
- skewjoinopt2.q, \
- skewjoinopt3.q, \
- skewjoinopt4.q, \
- skewjoinopt5.q, \
- skewjoinopt6.q, \
- skewjoinopt7.q, \
- skewjoinopt8.q, \
- skewjoinopt9.q, \
skewjoinopt10.q, \
skewjoinopt11.q, \
skewjoinopt12.q, \
@@ -803,24 +798,40 @@ spark.query.files=add_part_multiple.q, \
skewjoinopt17.q, \
skewjoinopt18.q, \
skewjoinopt19.q, \
+ skewjoinopt2.q, \
skewjoinopt20.q, \
- skewjoin_noskew.q, \
- skewjoin_union_remove_1.q, \
- skewjoin_union_remove_2.q, \
+ skewjoinopt3.q, \
+ skewjoinopt4.q, \
+ skewjoinopt5.q, \
+ skewjoinopt6.q, \
+ skewjoinopt7.q, \
+ skewjoinopt8.q, \
+ skewjoinopt9.q, \
+ smb_mapjoin_1.q, \
+ smb_mapjoin_10.q, \
+ smb_mapjoin_11.q, \
+ smb_mapjoin_12.q, \
+ smb_mapjoin_13.q, \
+ smb_mapjoin_14.q, \
+ smb_mapjoin_15.q, \
+ smb_mapjoin_16.q, \
+ smb_mapjoin_17.q, \
smb_mapjoin_18.q, \
smb_mapjoin_19.q, \
+ smb_mapjoin_2.q, \
smb_mapjoin_20.q, \
smb_mapjoin_21.q, \
smb_mapjoin_22.q, \
smb_mapjoin_25.q, \
+ smb_mapjoin_3.q, \
+ smb_mapjoin_4.q, \
+ smb_mapjoin_5.q, \
+ smb_mapjoin_6.q, \
+ smb_mapjoin_7.q, \
+ smb_mapjoin_8.q, \
+ smb_mapjoin_9.q, \
sort.q, \
spark_test.q, \
- stats_counter.q, \
- stats_counter_partitioned.q, \
- stats_noscan_1.q, \
- stats_noscan_2.q, \
- stats_only_null.q, \
- stats_partscan_1_23.q, \
stats0.q, \
stats1.q, \
stats10.q, \
@@ -838,14 +849,20 @@ spark.query.files=add_part_multiple.q, \
stats7.q, \
stats8.q, \
stats9.q, \
+ stats_counter.q, \
+ stats_counter_partitioned.q, \
+ stats_noscan_1.q, \
+ stats_noscan_2.q, \
+ stats_only_null.q, \
+ stats_partscan_1_23.q, \
statsfs.q, \
subquery_exists.q, \
subquery_multiinsert.q, \
table_access_keys_stats.q, \
temp_table.q, \
temp_table_join1.q, \
- tez_joins_explain.q, \
tez_join_tests.q, \
+ tez_joins_explain.q, \
timestamp_1.q, \
timestamp_2.q, \
timestamp_3.q, \
@@ -858,14 +875,6 @@ spark.query.files=add_part_multiple.q, \
transform_ppr1.q, \
transform_ppr2.q, \
union.q, \
- union2.q, \
- union3.q, \
- union4.q, \
- union5.q, \
- union6.q, \
- union7.q, \
- union8.q, \
- union9.q, \
union10.q, \
union11.q, \
union13.q, \
@@ -874,23 +883,23 @@ spark.query.files=add_part_multiple.q, \
union16.q, \
union18.q, \
union19.q, \
+ union2.q, \
union23.q, \
union25.q, \
union28.q, \
union29.q, \
+ union3.q, \
union30.q, \
union33.q, \
+ union4.q, \
+ union5.q, \
+ union6.q, \
+ union7.q, \
+ union8.q, \
+ union9.q, \
union_null.q, \
union_ppr.q, \
union_remove_1.q, \
- union_remove_2.q, \
- union_remove_3.q, \
- union_remove_4.q, \
- union_remove_5.q, \
- union_remove_6.q, \
- union_remove_7.q, \
- union_remove_8.q, \
- union_remove_9.q, \
union_remove_10.q, \
union_remove_11.q, \
union_remove_15.q, \
@@ -898,20 +907,37 @@ spark.query.files=add_part_multiple.q, \
union_remove_17.q, \
union_remove_18.q, \
union_remove_19.q, \
+ union_remove_2.q, \
union_remove_20.q, \
union_remove_21.q, \
union_remove_24.q, \
union_remove_25.q, \
+ union_remove_3.q, \
+ union_remove_4.q, \
+ union_remove_5.q, \
+ union_remove_6.q, \
+ union_remove_7.q, \
+ union_remove_8.q, \
+ union_remove_9.q, \
uniquejoin.q, \
varchar_join1.q, \
+ vector_between_in.q, \
+ vector_cast_constant.q, \
+ vector_char_4.q, \
+ vector_count_distinct.q, \
+ vector_data_types.q, \
+ vector_decimal_aggregate.q, \
+ vector_decimal_mapjoin.q, \
+ vector_distinct_2.q, \
+ vector_elt.q, \
+ vector_groupby_3.q, \
+ vector_left_outer_join.q, \
+ vector_mapjoin_reduce.q, \
+ vector_orderby_5.q, \
+ vector_string_concat.q, \
+ vector_varchar_4.q, \
vectorization_0.q, \
vectorization_1.q, \
- vectorization_2.q, \
- vectorization_3.q, \
- vectorization_4.q, \
- vectorization_5.q, \
- vectorization_6.q, \
- vectorization_9.q, \
vectorization_10.q, \
vectorization_11.q, \
vectorization_12.q, \
@@ -919,6 +945,12 @@ spark.query.files=add_part_multiple.q, \
vectorization_14.q, \
vectorization_15.q, \
vectorization_16.q, \
+ vectorization_2.q, \
+ vectorization_3.q, \
+ vectorization_4.q, \
+ vectorization_5.q, \
+ vectorization_6.q, \
+ vectorization_9.q, \
vectorization_decimal_date.q, \
vectorization_div0.q, \
vectorization_nested_udf.q, \
@@ -936,19 +968,4 @@ spark.query.files=add_part_multiple.q, \
vectorized_shufflejoin.q, \
vectorized_string_funcs.q, \
vectorized_timestamp_funcs.q, \
- vector_between_in.q, \
- vector_cast_constant.q, \
- vector_char_4.q, \
- vector_count_distinct.q, \
- vector_data_types.q, \
- vector_decimal_aggregate.q, \
- vector_decimal_mapjoin.q, \
- vector_distinct_2.q, \
- vector_elt.q, \
- vector_groupby_3.q, \
- vector_left_outer_join.q, \
- vector_mapjoin_reduce.q, \
- vector_orderby_5.q, \
- vector_string_concat.q, \
- vector_varchar_4.q, \
- windowing.q.q
+ windowing.q
Added:
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkJoinHintOptimizer.java
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkJoinHintOptimizer.java?rev=1646998&view=auto
==============================================================================
---
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkJoinHintOptimizer.java
(added)
+++
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkJoinHintOptimizer.java
Sat Dec 20 14:55:13 2014
@@ -0,0 +1,72 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.optimizer.spark;
+
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.exec.MapJoinOperator;
+import org.apache.hadoop.hive.ql.lib.Node;
+import org.apache.hadoop.hive.ql.lib.NodeProcessor;
+import org.apache.hadoop.hive.ql.lib.NodeProcessorCtx;
+import org.apache.hadoop.hive.ql.optimizer.BucketJoinProcCtx;
+import org.apache.hadoop.hive.ql.optimizer.BucketMapjoinProc;
+import org.apache.hadoop.hive.ql.optimizer.SortBucketJoinProcCtx;
+import org.apache.hadoop.hive.ql.parse.ParseContext;
+import org.apache.hadoop.hive.ql.parse.SemanticException;
+import org.apache.hadoop.hive.ql.parse.spark.OptimizeSparkProcContext;
+
+import java.util.Stack;
+
+/**
+ * This processes joins in which user specified a hint to identify the
small-table.
+ * Currently it takes a mapjoin already converted from hints, and converts it
further to BucketMapJoin or SMBMapJoin
+ * using same small-table identification.
+ *
+ * The idea is eventually to process even hinted Mapjoin hints here, but due
to code complexity in refactoring, that is still
+ * in Optimizer.
+ */
+public class SparkJoinHintOptimizer implements NodeProcessor {
+
+ private BucketMapjoinProc bucketMapJoinOptimizer;
+ private SparkSMBJoinHintOptimizer smbMapJoinOptimizer;
+
+ public SparkJoinHintOptimizer(ParseContext parseCtx) {
+ bucketMapJoinOptimizer = new BucketMapjoinProc(parseCtx);
+ smbMapJoinOptimizer = new SparkSMBJoinHintOptimizer(parseCtx);
+ }
+
+ @Override
+ public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
Object... nodeOutputs) throws SemanticException {
+ MapJoinOperator mapJoinOp = (MapJoinOperator) nd;
+ OptimizeSparkProcContext context = (OptimizeSparkProcContext) procCtx;
+ HiveConf hiveConf = context.getParseContext().getConf();
+
+ // Convert from mapjoin to bucket map join if enabled.
+ if (hiveConf.getBoolVar(HiveConf.ConfVars.HIVEOPTBUCKETMAPJOIN) ||
hiveConf.getBoolVar(HiveConf.ConfVars.HIVEOPTSORTMERGEBUCKETMAPJOIN)) {
+ BucketJoinProcCtx bjProcCtx = new BucketJoinProcCtx(hiveConf);
+ bucketMapJoinOptimizer.process(nd, stack, bjProcCtx, nodeOutputs);
+ }
+
+ // Convert from bucket map join to sort merge bucket map join if enabled.
+ if (hiveConf.getBoolVar(HiveConf.ConfVars.HIVEOPTSORTMERGEBUCKETMAPJOIN)) {
+ SortBucketJoinProcCtx smbJoinCtx = new SortBucketJoinProcCtx(hiveConf);
+ smbMapJoinOptimizer.process(nd, stack, smbJoinCtx, nodeOutputs);
+ }
+ return null;
+ }
+}
\ No newline at end of file
Added:
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSMBJoinHintOptimizer.java
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSMBJoinHintOptimizer.java?rev=1646998&view=auto
==============================================================================
---
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSMBJoinHintOptimizer.java
(added)
+++
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSMBJoinHintOptimizer.java
Sat Dec 20 14:55:13 2014
@@ -0,0 +1,83 @@
+package org.apache.hadoop.hive.ql.optimizer.spark;
+
+import com.clearspring.analytics.util.Preconditions;
+import org.apache.hadoop.hive.conf.HiveConf;
+import org.apache.hadoop.hive.ql.ErrorMsg;
+import org.apache.hadoop.hive.ql.exec.MapJoinOperator;
+import org.apache.hadoop.hive.ql.exec.Operator;
+import org.apache.hadoop.hive.ql.exec.ReduceSinkOperator;
+import org.apache.hadoop.hive.ql.exec.SMBMapJoinOperator;
+import org.apache.hadoop.hive.ql.exec.Utilities;
+import org.apache.hadoop.hive.ql.lib.Node;
+import org.apache.hadoop.hive.ql.lib.NodeProcessor;
+import org.apache.hadoop.hive.ql.lib.NodeProcessorCtx;
+import org.apache.hadoop.hive.ql.optimizer.AbstractSMBJoinProc;
+import org.apache.hadoop.hive.ql.optimizer.SortBucketJoinProcCtx;
+import org.apache.hadoop.hive.ql.parse.ParseContext;
+import org.apache.hadoop.hive.ql.parse.SemanticException;
+import org.apache.hadoop.hive.ql.plan.OperatorDesc;
+import org.apache.hadoop.hive.ql.plan.SMBJoinDesc;
+
+import java.util.List;
+import java.util.Stack;
+
+/**
+ * Converts from a bucket-mapjoin created from hints to SMB mapjoin.
+ */
+public class SparkSMBJoinHintOptimizer extends AbstractSMBJoinProc implements
NodeProcessor {
+
+ public SparkSMBJoinHintOptimizer(ParseContext pctx) {
+ super(pctx);
+ }
+
+ public SparkSMBJoinHintOptimizer() {
+ }
+
+ @Override
+ public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procCtx,
+ Object... nodeOutputs) throws SemanticException {
+ MapJoinOperator mapJoinOp = (MapJoinOperator) nd;
+ SortBucketJoinProcCtx smbJoinContext = (SortBucketJoinProcCtx) procCtx;
+
+ boolean convert =
+ canConvertBucketMapJoinToSMBJoin(mapJoinOp, stack, smbJoinContext,
nodeOutputs);
+
+ // Throw an error if the user asked for sort merge bucketed mapjoin to be
enforced
+ // and sort merge bucketed mapjoin cannot be performed
+ if (!convert &&
+ pGraphContext.getConf().getBoolVar(
+ HiveConf.ConfVars.HIVEENFORCESORTMERGEBUCKETMAPJOIN)) {
+ throw new SemanticException(ErrorMsg.SORTMERGE_MAPJOIN_FAILED.getMsg());
+ }
+
+ if (convert) {
+ removeSmallTableReduceSink(mapJoinOp);
+ convertBucketMapJoinToSMBJoin(mapJoinOp, smbJoinContext, pGraphContext);
+ }
+ return null;
+ }
+
+ /**
+ * In bucket mapjoin, there are ReduceSinks that mark a small table parent
(Reduce Sink are removed from big-table).
+ * In SMB join these are not expected for any parents, either from small or
big tables.
+ * @param mapJoinOp
+ */
+ private void removeSmallTableReduceSink(MapJoinOperator mapJoinOp) {
+ SMBJoinDesc smbJoinDesc = new SMBJoinDesc(mapJoinOp.getConf());
+ List<Operator<? extends OperatorDesc>> parentOperators =
mapJoinOp.getParentOperators();
+ for (int i = 0; i < parentOperators.size(); i++) {
+ Operator<? extends OperatorDesc> par = parentOperators.get(i);
+ if (i != smbJoinDesc.getPosBigTable()) {
+ if (par instanceof ReduceSinkOperator) {
+ List<Operator<? extends OperatorDesc>> grandParents =
par.getParentOperators();
+ Preconditions.checkArgument(grandParents.size() == 1,
+ "AssertionError: expect # of parents to be 1, but was " +
grandParents.size());
+ Operator<? extends OperatorDesc> grandParent = grandParents.get(0);
+ grandParent.removeChild(par);
+ grandParent.setChildOperators(Utilities.makeList(mapJoinOp));
+ mapJoinOp.getParentOperators().set(i, grandParent);
+ }
+ }
+ }
+ }
+}
Modified:
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSortMergeJoinOptimizer.java
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSortMergeJoinOptimizer.java?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSortMergeJoinOptimizer.java
(original)
+++
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/optimizer/spark/SparkSortMergeJoinOptimizer.java
Sat Dec 20 14:55:13 2014
@@ -36,7 +36,7 @@ import org.apache.hadoop.hive.ql.plan.Op
import java.util.Stack;
/**
- * Converts a join operator to an SMB join if eligible.
+ * Converts a common join operator to an SMB join if eligible. Handles auto
SMB conversion.
*/
public class SparkSortMergeJoinOptimizer extends AbstractSMBJoinProc
implements NodeProcessor {
Modified:
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java
(original)
+++
hive/branches/spark/ql/src/java/org/apache/hadoop/hive/ql/parse/spark/SparkCompiler.java
Sat Dec 20 14:55:13 2014
@@ -67,6 +67,7 @@ import org.apache.hadoop.hive.ql.optimiz
import org.apache.hadoop.hive.ql.optimizer.physical.StageIDsRearranger;
import org.apache.hadoop.hive.ql.optimizer.physical.Vectorizer;
import org.apache.hadoop.hive.ql.optimizer.spark.SetSparkReducerParallelism;
+import org.apache.hadoop.hive.ql.optimizer.spark.SparkJoinHintOptimizer;
import org.apache.hadoop.hive.ql.optimizer.spark.SparkJoinOptimizer;
import org.apache.hadoop.hive.ql.optimizer.spark.SparkReduceSinkMapJoinProc;
import org.apache.hadoop.hive.ql.optimizer.spark.SparkSkewJoinResolver;
@@ -123,8 +124,9 @@ public class SparkCompiler extends TaskC
ReduceSinkOperator.getOperatorName() + "%"),
new SetSparkReducerParallelism());
- opRules.put(new RuleRegExp(new String("Convert Join to Map-join"),
- JoinOperator.getOperatorName() + "%"), new SparkJoinOptimizer(pCtx));
+ opRules.put(new TypeRule(JoinOperator.class), new
SparkJoinOptimizer(pCtx));
+
+ opRules.put(new TypeRule(MapJoinOperator.class), new
SparkJoinHintOptimizer(pCtx));
// The dispatcher fires the processor corresponding to the closest matching
// rule and passes the context along
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin1.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin1.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin1.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin1.q.out
Sat Dec 20 14:55:13 2014
@@ -103,6 +103,9 @@ STAGE PLANS:
Map 2
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+ b {}
Stage: Stage-1
Spark
@@ -111,6 +114,9 @@ STAGE PLANS:
Map 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+ b {}
Stage: Stage-0
Fetch Operator
@@ -211,6 +217,9 @@ STAGE PLANS:
Map 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+ a {}
Stage: Stage-1
Spark
@@ -219,6 +228,9 @@ STAGE PLANS:
Map 2
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+ a {}
Stage: Stage-0
Fetch Operator
@@ -430,6 +442,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -511,6 +528,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 30 Data size: 3253 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -543,6 +561,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -818,6 +841,11 @@ STAGE PLANS:
Position of Big Table: 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -894,6 +922,7 @@ STAGE PLANS:
0 Map 1
Position of Big Table: 1
Statistics: Num rows: 30 Data size: 3253 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -931,6 +960,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin11.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin11.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin11.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin11.q.out
Sat Dec 20 14:55:13 2014
@@ -231,6 +231,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -361,6 +366,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 1177 Data size: 4709 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -374,6 +380,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -638,6 +649,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -768,6 +784,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 1177 Data size: 4709 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -781,6 +798,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin12.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin12.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin12.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin12.q.out
Sat Dec 20 14:55:13 2014
@@ -190,6 +190,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -271,6 +276,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 378 Data size: 1514 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -284,6 +290,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin13.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin13.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin13.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin13.q.out
Sat Dec 20 14:55:13 2014
@@ -493,6 +493,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -575,6 +580,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -588,6 +594,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -788,6 +799,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -870,6 +886,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -883,6 +900,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1085,6 +1107,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1167,6 +1194,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -1180,6 +1208,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin2.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin2.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin2.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin2.q.out
Sat Dec 20 14:55:13 2014
@@ -188,6 +188,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -269,6 +274,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 30 Data size: 3253 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col7 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -301,6 +307,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -585,6 +596,11 @@ STAGE PLANS:
Position of Big Table: 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -666,6 +682,7 @@ STAGE PLANS:
0 Map 1
Position of Big Table: 1
Statistics: Num rows: 30 Data size: 3253 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col7 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -703,6 +720,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1004,6 +1026,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1133,6 +1160,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 31 Data size: 3368 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col7 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -1170,6 +1198,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin3.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin3.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin3.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin3.q.out
Sat Dec 20 14:55:13 2014
@@ -219,6 +219,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -300,6 +305,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 30 Data size: 3253 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col7 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -332,6 +338,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -623,6 +634,11 @@ STAGE PLANS:
Position of Big Table: 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -704,6 +720,7 @@ STAGE PLANS:
0 Map 1
Position of Big Table: 1
Statistics: Num rows: 30 Data size: 3253 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col7 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -741,6 +758,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin4.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin4.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin4.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin4.q.out
Sat Dec 20 14:55:13 2014
@@ -205,6 +205,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -281,6 +286,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 14 Data size: 1512 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -313,6 +319,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -573,6 +584,11 @@ STAGE PLANS:
Position of Big Table: 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -649,6 +665,7 @@ STAGE PLANS:
0 Map 1
Position of Big Table: 1
Statistics: Num rows: 14 Data size: 1512 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -686,6 +703,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin5.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin5.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin5.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin5.q.out
Sat Dec 20 14:55:13 2014
@@ -255,6 +255,11 @@ STAGE PLANS:
Position of Big Table: 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -331,6 +336,7 @@ STAGE PLANS:
0 Map 1
Position of Big Table: 1
Statistics: Num rows: 60 Data size: 6393 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -363,6 +369,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -688,6 +699,11 @@ STAGE PLANS:
Position of Big Table: 1
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -764,6 +780,7 @@ STAGE PLANS:
0 Map 1
Position of Big Table: 1
Statistics: Num rows: 31 Data size: 3368 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -801,6 +818,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin7.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin7.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin7.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin7.q.out
Sat Dec 20 14:55:13 2014
@@ -169,6 +169,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -253,6 +258,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 378 Data size: 1514 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col8 (type: string)
outputColumnNames: _col0, _col1
@@ -265,6 +271,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin8.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin8.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin8.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin8.q.out
Sat Dec 20 14:55:13 2014
@@ -155,6 +155,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -237,6 +242,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 378 Data size: 1514 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -250,6 +256,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -464,6 +475,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -546,6 +562,7 @@ STAGE PLANS:
1 Map 3
Position of Big Table: 0
Statistics: Num rows: 378 Data size: 1514 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Group By Operator
aggregations: count()
mode: hash
@@ -559,6 +576,11 @@ STAGE PLANS:
auto parallelism: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative2.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative2.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative2.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative2.q.out
Sat Dec 20 14:55:13 2014
@@ -165,6 +165,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -294,6 +299,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 31 Data size: 3368 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: int), _col1 (type: string),
_col6 (type: string)
outputColumnNames: _col0, _col1, _col2
@@ -326,6 +332,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative3.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative3.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative3.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/bucketmapjoin_negative3.q.out
Sat Dec 20 14:55:13 2014
@@ -224,6 +224,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -302,6 +307,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 6 Data size: 1320 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: string), _col1 (type:
string), _col5 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
@@ -329,6 +335,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -465,6 +476,11 @@ STAGE PLANS:
Position of Big Table: 0
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -543,6 +559,7 @@ STAGE PLANS:
1 Map 2
Position of Big Table: 0
Statistics: Num rows: 6 Data size: 1320 Basic stats:
COMPLETE Column stats: NONE
+ BucketMapJoin: true
Select Operator
expressions: _col0 (type: string), _col1 (type:
string), _col5 (type: string), _col6 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
@@ -570,6 +587,11 @@ STAGE PLANS:
MultiFileSpray: false
Local Work:
Map Reduce Local Work
+ Bucket Mapjoin Context:
+ Alias Bucket File Name Mapping:
+#### A masked pattern was here ####
+ Alias Bucket Output File Name Mapping:
+#### A masked pattern was here ####
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
Modified:
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin9.q.out
URL:
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin9.q.out?rev=1646998&r1=1646997&r2=1646998&view=diff
==============================================================================
---
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin9.q.out
(original)
+++
hive/branches/spark/ql/src/test/results/clientpositive/spark/smb_mapjoin9.q.out
Sat Dec 20 14:55:13 2014
@@ -112,48 +112,9 @@ STAGE DEPENDENCIES:
STAGE PLANS:
Stage: Stage-1
Spark
- Edges:
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 3 (PARTITION-LEVEL
SORT, 1)
#### A masked pattern was here ####
Vertices:
Map 1
- Map 3
- Reducer 2
- Needs Tagging: true
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- condition expressions:
- 0 {KEY.reducesinkkey0}
- 1 {KEY.reducesinkkey0} {VALUE._col0}
- outputColumnNames: _col0, _col6, _col7
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
- Select Operator
- expressions: _col6 (type: int), _col7 (type: string),
'2010-10-15' (type: string), _col0 (type: int)
- outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE
Column stats: NONE
- File Output Operator
- compressed: false
- GlobalTableId: 0
-#### A masked pattern was here ####
- NumFilesPerFileSink: 1
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE
Column stats: NONE
-#### A masked pattern was here ####
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format:
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- properties:
- columns _col0,_col1,_col2,_col3
- columns.types int:string:string:int
- escape.delim \
- hive.serialization.extend.nesting.levels true
- serialization.format 1
- serialization.lib
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- serde:
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- TotalFiles: 1
- GatherStats: false
- MultiFileSpray: false
Stage: Stage-0
Fetch Operator
@@ -273,48 +234,9 @@ STAGE DEPENDENCIES:
STAGE PLANS:
Stage: Stage-1
Spark
- Edges:
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 3), Map 3 (PARTITION-LEVEL
SORT, 3)
#### A masked pattern was here ####
Vertices:
Map 1
- Map 3
- Reducer 2
- Needs Tagging: true
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- condition expressions:
- 0 {KEY.reducesinkkey0}
- 1 {KEY.reducesinkkey0} {VALUE._col0}
- outputColumnNames: _col0, _col6, _col7
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column
stats: NONE
- Select Operator
- expressions: _col6 (type: int), _col7 (type: string),
'2010-10-15' (type: string), _col0 (type: int)
- outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE
Column stats: NONE
- File Output Operator
- compressed: false
- GlobalTableId: 0
-#### A masked pattern was here ####
- NumFilesPerFileSink: 1
- Statistics: Num rows: 0 Data size: 0 Basic stats: NONE
Column stats: NONE
-#### A masked pattern was here ####
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format:
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- properties:
- columns _col0,_col1,_col2,_col3
- columns.types int:string:string:int
- escape.delim \
- hive.serialization.extend.nesting.levels true
- serialization.format 1
- serialization.lib
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- serde:
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- TotalFiles: 1
- GatherStats: false
- MultiFileSpray: false
Stage: Stage-0
Fetch Operator
@@ -381,8 +303,6 @@ STAGE DEPENDENCIES:
STAGE PLANS:
Stage: Stage-1
Spark
- Edges:
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 3), Map 3 (PARTITION-LEVEL
SORT, 3)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -393,47 +313,29 @@ STAGE PLANS:
Filter Operator
predicate: key is not null (type: boolean)
Statistics: Num rows: 250 Data size: 2656 Basic stats:
COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: key (type: int)
- sort order: +
- Map-reduce partition columns: key (type: int)
- Statistics: Num rows: 250 Data size: 2656 Basic stats:
COMPLETE Column stats: NONE
- Map 3
- Map Operator Tree:
- TableScan
- alias: b
- Statistics: Num rows: 500 Data size: 5312 Basic stats:
COMPLETE Column stats: NONE
- Filter Operator
- predicate: key is not null (type: boolean)
- Statistics: Num rows: 250 Data size: 2656 Basic stats:
COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: key (type: int)
- sort order: +
- Map-reduce partition columns: key (type: int)
- Statistics: Num rows: 250 Data size: 2656 Basic stats:
COMPLETE Column stats: NONE
- value expressions: value (type: string)
- Reducer 2
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- condition expressions:
- 0 {KEY.reducesinkkey0}
- 1 {KEY.reducesinkkey0} {VALUE._col0}
- outputColumnNames: _col0, _col6, _col7
- Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
- Select Operator
- expressions: _col6 (type: int), _col7 (type: string),
'2010-10-15' (type: string), _col0 (type: int)
- outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format:
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- serde:
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.smb_mapjoin9_results
+ Sorted Merge Bucket Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ condition expressions:
+ 0 {key}
+ 1 {key} {value}
+ keys:
+ 0 key (type: int)
+ 1 key (type: int)
+ outputColumnNames: _col0, _col6, _col7
+ Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col6 (type: int), _col7 (type: string),
'2010-10-15' (type: string), _col0 (type: int)
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Statistics: Num rows: 275 Data size: 2921 Basic stats:
COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 275 Data size: 2921 Basic
stats: COMPLETE Column stats: NONE
+ table:
+ input format:
org.apache.hadoop.mapred.TextInputFormat
+ output format:
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ serde:
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.smb_mapjoin9_results
Stage: Stage-0
Move Operator