Mapreduce,Hive ,Spark处理数据的优化策略各有什么不同?

Mapreduce,Hive ,Spark处理数据的优化策略各有什么不同?

1回答

美国队长美国队长  研发工程师 , Alibaba
gossipyboyheraleign赞同了此回答
其实我更觉得他们的优化策略很相似,有错的地方还请指出1.数据倾斜,碰到小表跟大表的关联数据倾斜都是希望把小表在每个计算机器上复制一份放在内存当中只是调用的api不同,或者将倾斜的key加随机数前缀,实质也是为了数据分布均衡2.内存方面都希望最大限度的把数据放在内存中处...显示全部

其实我更觉得他们的优化策略很相似,有错的地方还请指出
1.数据倾斜,碰到小表跟大表的关联数据倾斜都是希望把小表在每个计算机器上复制一份放在内存当中只是调用的api不同,或者将倾斜的key加随机数前缀,实质也是为了数据分布均衡
2.内存方面都希望最大限度的把数据放在内存中处理,hive底层就是mapreduce做计算,无论是map端还是中间map到reduce都涉及数据临时存储在内存中但是大部分还是存放在本地磁盘里面而且这个内存大小可以调整进行优化,而spark追求的是绝大数中间数据都在内存中,所以对内存大小也有要求
3.提供处理task进程个数方面比如提高map,reduce的处理个数,spark设置每台机器的executor的进程数等

收起
 2017-07-04
浏览1342

提问者

时东南软件架构师, 外资银行

问题状态

  • 发布时间:2017-07-03
  • 关注会员:4 人
  • 问题浏览:3711
  • 最近回答:2017-07-04