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

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

参与7

1同行回答

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

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

收起
互联网服务 · 2017-07-04
浏览2372

提问者

时东南
软件架构师外资银行
擅长领域: 人工智能大数据机器学习

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-07-03
  • 关注会员:4 人
  • 问题浏览:4746
  • 最近回答:2017-07-04
  • X社区推广