Mapreduce跟手动编写多进程的并发处理文件程序的区别有哪些?

Mapreduce跟手动编写多进程的并发处理文件程序的区别有哪些?

参与5

2同行回答

美国队长美国队长研发工程师Alibaba
Mapreduce底层帮我们已经封装了多并发访问资源造成比如死锁,数据的不一致,资源的利用等问题,对于进行并发编程的编码门槛降低了,让我们有更多的精力去考虑业务,而如果我们手动编写多线程并发处理文件要考虑的很多,举个简单的例子给你100G的文件,让你统计文件中包括字母A的行数,考...显示全部

Mapreduce底层帮我们已经封装了多并发访问资源造成比如死锁,数据的不一致,资源的利用等问题,对于进行并发编程的编码门槛降低了,让我们有更多的精力去考虑业务,而如果我们手动编写多线程并发处理文件要考虑的很多,举个简单的例子给你100G的文件,让你统计文件中包括字母A的行数,考虑到我们的处理文件日常方式直接加载到内存逐行遍历,显然很容易内存崩溃,换个方式将文件拆开,但是这个拆开得我们手动去拆,拆成多少也要考虑等,所以Mapreduce的方式使用成本比较低

收起
互联网服务 · 2017-07-25
浏览1221

问题来自

相关资料

问题状态

  • 发布时间:2017-07-21
  • 关注会员:3 人
  • 问题浏览:3745
  • 最近回答:2017-07-27
  • X社区推广