impala shuffle和BROADCAST的优化方法

网友投稿 1123 2022-09-07

impala shuffle和BROADCAST的优化方法

impala shuffle和BROADCAST的优化方法

9.join 的算法1. hash join: 对于等值join, impala将采用hash的方式处理, 具体又分两种策略, broadcast 和 Shuffle.broadcast join 非常适合右表是小表的情形, impala 先将右表复制到各个节点, 再和左表做join.shuffle join, 也叫做partitioned join, 适合大表和大表关联. 注意 partitioned join 和右表的 partition 没有直接关系, impala 会将右表打散成N份, 发送到左表所在的节点, 然后作join.2. nested loop join: 针对非等值join, impala将使用 nested loop join, 这时我们不能设置 SHUFFLE/BROADCAST hint, 也不能使用 spill disk 功能. impala的非等值join的效率较低, Vertica的效率非常高, Hive直接不支持.SELECT STRAIGHT_JOIN select_list FROMjoin_left_hand_tableJOIN [{ /* +BROADCAST */ | /* +SHUFFLE */ }]join_right_hand_tableremainder_of_query;/* +SHUFFLE */ 即 partitioned join, 是将要关联的两个表按照/* +BROADCAST */

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:多个表inner join的语法
下一篇:windows10定时调起系统通知,每一个小时提醒该喝水了...(win10定时提醒休息)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~