| --! qt:dataset:alltypesorc |
| set hive.explain.user=false; |
| set hive.fetch.task.conversion=none; |
| |
| create table vsmb_bucket_1(key int, value string) |
| CLUSTERED BY (key) |
| SORTED BY (key) INTO 1 BUCKETS |
| STORED AS ORC; |
| create table vsmb_bucket_2(key int, value string) |
| CLUSTERED BY (key) |
| SORTED BY (key) INTO 1 BUCKETS |
| STORED AS ORC; |
| |
| create table vsmb_bucket_RC(key int, value string) |
| CLUSTERED BY (key) |
| SORTED BY (key) INTO 1 BUCKETS |
| STORED AS RCFILE; |
| |
| create table vsmb_bucket_TXT(key int, value string) |
| CLUSTERED BY (key) |
| SORTED BY (key) INTO 1 BUCKETS |
| STORED AS TEXTFILE; |
| |
| insert into table vsmb_bucket_1 select cint, cstring1 from alltypesorc limit 2; |
| insert into table vsmb_bucket_2 select cint, cstring1 from alltypesorc limit 2; |
| insert into table vsmb_bucket_RC select cint, cstring1 from alltypesorc limit 2; |
| insert into table vsmb_bucket_TXT select cint, cstring1 from alltypesorc limit 2; |
| |
| set hive.vectorized.execution.enabled=true; |
| set hive.optimize.bucketmapjoin = true; |
| set hive.optimize.bucketmapjoin.sortedmerge = true; |
| set hive.input.format = org.apache.hadoop.hive.ql.io.BucketizedHiveInputFormat; |
| set hive.cbo.enable=false; |
| explain vectorization expression |
| select /*+MAPJOIN(a)*/ * from vsmb_bucket_1 a join vsmb_bucket_2 b on a.key = b.key; |
| select /*+MAPJOIN(a)*/ * from vsmb_bucket_1 a join vsmb_bucket_2 b on a.key = b.key; |
| |
| explain vectorization expression |
| select /*+MAPJOIN(b)*/ * from vsmb_bucket_1 a join vsmb_bucket_RC b on a.key = b.key; |
| select /*+MAPJOIN(b)*/ * from vsmb_bucket_1 a join vsmb_bucket_RC b on a.key = b.key; |
| |
| -- RC file does not yet provide the vectorized CommonRCFileformat out-of-the-box |
| -- explain |
| -- select /*+MAPJOIN(b)*/ * from vsmb_bucket_RC a join vsmb_bucket_2 b on a.key = b.key; |
| -- select /*+MAPJOIN(b)*/ * from vsmb_bucket_RC a join vsmb_bucket_2 b on a.key = b.key; |
| |
| explain vectorization expression |
| select /*+MAPJOIN(b)*/ * from vsmb_bucket_1 a join vsmb_bucket_TXT b on a.key = b.key; |
| select /*+MAPJOIN(b)*/ * from vsmb_bucket_1 a join vsmb_bucket_TXT b on a.key = b.key; |