gpt4 book ai didi

hadoop - 如何检查 sort merge bucket join 是否在 HIVE 中工作?

转载 作者:可可西里 更新时间:2023-11-01 15:01:02 24 4
gpt4 key购买 nike

我想验证我的 SMB 连接是否有效。我可以通过日志验证映射连接,但不能通过 SMB。我也通过了解释计划,但没有得到任何提示。请帮助我。

最佳答案

您可以对查询使用 EXPLAIN EXTENDED。到目前为止,我只能生成一个带有 map-reduce 的 SMB 映射连接。当 hive 正在执行 SMB map join 时,您可以在 explain 的输出中的阶段计划下看到“Sorted Merge Bucket Map Join Operator”。

这是在我的设置中使用 map-reduce 生成 SMB 映射连接的代码片段:

set hive.execution.engine=mr;
set hive.auto.convert.sortmerge.join=true;
set hive.optimize.bucketmapjoin=true;
set hive.optimize.bucketmapjoin.sortedmerge=true;
set hive.enforce.bucketing=true;
set hive.enforce.sorting=true;
set hive.auto.convert.join=true;

drop table key_value_large;
drop table key_value_small;

create table key_value_large (
key int,
value string
)
partitioned by (ds string)
CLUSTERED BY (key) SORTED BY (key ASC) INTO 8 BUCKETS
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE;

create table key_value_small (
key int,
value string
)
partitioned by (ds string)
CLUSTERED BY (key) SORTED BY (key ASC) INTO 4 BUCKETS
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE;


insert into table key_value_large partition(ds='2008-04-08') select key, value from key_value_large_src;
insert into table key_value_small partition(ds='2008-04-08') select key, value from key_value_small_src;

explain extended select count(*) from key_value_large a JOIN key_value_small b ON a.key = b.key;
select count(*) from key_value_large a JOIN key_value_small b ON a.key = b.key;

希望这可能对某人有所帮助。

关于hadoop - 如何检查 sort merge bucket join 是否在 HIVE 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24932305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com