| --! qt:dataset:src1 |
| --! qt:dataset:src |
| set hive.stats.column.autogather=false; |
| set hive.strict.checks.bucketing=false; |
| |
| set hive.mapred.mode=nonstrict; |
| set hive.explain.user=false; |
| set hive.join.emit.interval=2; |
| explain |
| select * from src a join src1 b on a.key = b.key; |
| |
| select * from src a join src1 b on a.key = b.key; |
| |
| set hive.auto.convert.join=true; |
| set hive.auto.convert.join.noconditionaltask=true; |
| set hive.auto.convert.join.noconditionaltask.size=10000; |
| set hive.auto.convert.sortmerge.join.bigtable.selection.policy = org.apache.hadoop.hive.ql.optimizer.TableSizeBasedBigTableSelectorForAutoSMJ; |
| |
| CREATE TABLE srcbucket_mapjoin_n19(key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; |
| CREATE TABLE tab_part_n12 (key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; |
| CREATE TABLE srcbucket_mapjoin_part_n21 (key int, value string) partitioned by (ds string) CLUSTERED BY (key) INTO 4 BUCKETS STORED AS TEXTFILE; |
| |
| load data local inpath '../../data/files/bmj/000000_0' INTO TABLE srcbucket_mapjoin_n19 partition(ds='2008-04-08'); |
| load data local inpath '../../data/files/bmj1/000001_0' INTO TABLE srcbucket_mapjoin_n19 partition(ds='2008-04-08'); |
| |
| load data local inpath '../../data/files/bmj/000000_0' INTO TABLE srcbucket_mapjoin_part_n21 partition(ds='2008-04-08'); |
| load data local inpath '../../data/files/bmj/000001_0' INTO TABLE srcbucket_mapjoin_part_n21 partition(ds='2008-04-08'); |
| load data local inpath '../../data/files/bmj/000002_0' INTO TABLE srcbucket_mapjoin_part_n21 partition(ds='2008-04-08'); |
| load data local inpath '../../data/files/bmj/000003_0' INTO TABLE srcbucket_mapjoin_part_n21 partition(ds='2008-04-08'); |
| |
| |
| |
| set hive.optimize.bucketingsorting=false; |
| insert overwrite table tab_part_n12 partition (ds='2008-04-08') |
| select key,value from srcbucket_mapjoin_part_n21; |
| |
| CREATE TABLE tab_n11(key int, value string) PARTITIONED BY(ds STRING) CLUSTERED BY (key) SORTED BY (key) INTO 2 BUCKETS STORED AS TEXTFILE; |
| insert overwrite table tab_n11 partition (ds='2008-04-08') |
| select key,value from srcbucket_mapjoin_n19; |
| |
| set hive.convert.join.bucket.mapjoin.tez = true; |
| set hive.auto.convert.sortmerge.join = true; |
| |
| explain |
| select count(*) |
| from tab_n11 a join tab_part_n12 b on a.key = b.key; |
| |
| select count(*) |
| from tab_n11 a join tab_part_n12 b on a.key = b.key; |
| |
| set hive.auto.convert.join.noconditionaltask.size=4000; |
| set hive.mapjoin.hybridgrace.minwbsize=500; |
| set hive.mapjoin.hybridgrace.minnumpartitions=4; |
| explain |
| select count (*) |
| from tab_n11 a join tab_part_n12 b on a.key = b.key; |
| |
| select count(*) |
| from tab_n11 a join tab_part_n12 b on a.key = b.key; |
| |
| set hive.stats.fetch.column.stats=false; |
| set hive.auto.convert.join.noconditionaltask.size=4000; |
| set hive.mapjoin.hybridgrace.minwbsize=250; |
| set hive.mapjoin.hybridgrace.minnumpartitions=4; |
| explain |
| select count (*) |
| from tab_n11 a join tab_part_n12 b on a.key = b.key; |
| |
| select count(*) |
| from tab_n11 a join tab_part_n12 b on a.key = b.key; |
| |
| set hive.auto.convert.join.noconditionaltask.size=800; |
| set hive.mapjoin.hybridgrace.minwbsize=125; |
| set hive.mapjoin.hybridgrace.minnumpartitions=4; |
| set hive.llap.memory.oversubscription.max.executors.per.query=0; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.key = b.key join src1 c on a.value = c.value; |
| set hive.llap.memory.oversubscription.max.executors.per.query=3; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.key = b.key join src1 c on a.value = c.value; |
| select count(*) from tab_n11 a join tab_part_n12 b on a.key = b.key join src1 c on a.value = c.value; |
| |
| set hive.llap.memory.oversubscription.max.executors.per.query=0; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.value = b.value; |
| set hive.llap.memory.oversubscription.max.executors.per.query=3; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.value = b.value; |
| select count(*) from tab_n11 a join tab_part_n12 b on a.value = b.value; |
| |
| explain |
| select count(*) from (select s1.key as key, s1.value as value from tab_n11 s1 join tab_n11 s3 on s1.key=s3.key |
| UNION ALL |
| select s2.key as key, s2.value as value from tab_n11 s2 |
| ) a join tab_part_n12 b on (a.key = b.key); |
| |
| set hive.auto.convert.join.noconditionaltask.size=20000; |
| |
| set hive.llap.memory.oversubscription.max.executors.per.query=0; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.value = b.value; |
| set hive.llap.memory.oversubscription.max.executors.per.query=2; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.value = b.value; |
| select count(*) from tab_n11 a join tab_part_n12 b on a.value = b.value; |
| |
| set hive.llap.memory.oversubscription.max.executors.per.query=0; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.key = b.key join src1 c on a.value = c.value; |
| set hive.llap.memory.oversubscription.max.executors.per.query=2; |
| explain select count(*) from tab_n11 a join tab_part_n12 b on a.key = b.key join src1 c on a.value = c.value; |
| select count(*) from tab_n11 a join tab_part_n12 b on a.key = b.key join src1 c on a.value = c.value; |
| set hive.stats.fetch.column.stats=true; |
| explain |
| select count(*) from (select s1.key as key, s1.value as value from tab_n11 s1 join tab_n11 s3 on s1.key=s3.key |
| UNION ALL |
| select s2.key as key, s2.value as value from tab_n11 s2 |
| ) a join tab_part_n12 b on (a.key = b.key); |
| |
| set hive.auto.convert.join.noconditionaltask.size=5000; |
| |
| explain |
| select count(*) from |
| (select rt1.id from |
| (select t1.key as id, t1.value as od from tab_n11 t1 order by id, od) rt1) vt1 |
| join |
| (select rt2.id from |
| (select t2.key as id, t2.value as od from tab_part_n12 t2 order by id, od) rt2) vt2 |
| where vt1.id=vt2.id; |
| |
| select count(*) from |
| (select rt1.id from |
| (select t1.key as id, t1.value as od from tab_n11 t1 order by id, od) rt1) vt1 |
| join |
| (select rt2.id from |
| (select t2.key as id, t2.value as od from tab_part_n12 t2 order by id, od) rt2) vt2 |
| where vt1.id=vt2.id; |
| |