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