taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善、开源免费的CMS管理系统

hive mapjoin使用

今天遇到一个hive的问题,如下hive sql:select f.a,f.b from A t join B f  on ( f.a=t.a and f.ftime=20110802)  该语句中B表有30亿行记录,A表只有100行记录,而且B表中数据倾斜特别严重,有一个key上有15亿行记录,在运行过程中特别的慢,而且在reduece的过程中遇有内存不够而报错。为了解决用户的这个问题,考虑使用mapjoin,mapjoin的原理:MAPJION会把小表全部读入内存中,在map阶段直接拿另外一个表的数据和内存中表数据做匹配,由于在map是进行了join操作,省去了reduce运行的效率也会高很多这样就不会由于数据倾斜导致某个reduce上落数据太多而失败。于是原来的sql可以通过
发布时间:2015-04-01 | 类别:技术文章 | 阅读:180147 | 评论:0 | 标签:mapjoin mapjoin mapjoin

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云