hive map-side join

来源:互联网 发布:手机管理淘宝商品 编辑:程序博客网 时间:2024/05/16 15:54

hive 在map端进行连接的过程叫map-side join,应为hive可以和内存中的小表进行逐一匹配,进而可以省略掉常规操作的reduce过程。

hive 启动map-side join 需要把参数hive.auto.convert.join 参数设置为ture

hive> set hive.auto.convert.join;hive.auto.convert.join=true

Time taken: 81.278 seconds, Fetched: 345 row(s)

设置 set hive.auto.convert.join=false 执行相同的HQL,发现没有启用map-side join:


Time taken: 113.87 seconds, Fetched: 345 row(s)

也可以使用 /*+MAPJOIN(table_name)*/ 指定使用map-side join

hive> select /*+MAPJOIN(sp)*/ sp.provinceid,sp.provincename,sc.cityid,sc.cityname from s_province sp join s_city sc on sp.provinceid = sc.provinceid;





0 0
原创粉丝点击