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

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

参与5

2同行回答

rein07rein07  系统架构师 , 某证券
一个是现成的并行处理框架,一个是自己要控制并发,控制的内容应该都是差不多的,包括资源管理和任务管理。显示全部

一个是现成的并行处理框架,一个是自己要控制并发,控制的内容应该都是差不多的,包括资源管理和任务管理。

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

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

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

问题来自

相关问题

相关资料

问题状态

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