Impala 的广播式关联 和 分区后散列关联 , Impala 如何计划并执行分布式关联查询

本文深入探讨了Impala中的两种关联查询方式:广播式关联和分区后散列关联。广播式关联通过网络传输小表数据至各节点,利用内存哈希表加速匹配;分区后散列关联则对数据进行分区,减少网络传输次数。文章对比了两种方式在网络传输和内存使用上的区别。

Impala 的广播式关联 和 分区后散列关联

Impala 如何计划并执行分布式关联查询

广播式关联:

Impala 默认的关联方式就是广播式关联,它的原理是 在多张表进行关联时,将最小的数据集发送到执行sql 计划的 Impalad 中,Impalad接收到数据以后,按照哈希表的方式存放到内存中,在就近读取大的表数据,进行匹配。

分区后散列关联:

这个关联方式,会将sql 中涉及的表按照相同的散列函数形成不同的分区,将数据发送到各个Impalad 中,然后每个Impalad 在进行关联操作。

总结:

网络传输: 广播式关联只使用小表进行网络传输一次, 分区后散列关联则需要进行多次网络传输。

内存:广播式关联明显要使用更多的内存

我们可以在sql 中自定义关联的方式,但是我们一般不建议这么做,因为现在的小表以后不一定是小表,让程序自己判断就好了。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值