Skip to content

Commit 42002fa

Browse files
authored
Merge pull request #105 from LiminCode/chronicle-error
Chronicle translation error
2 parents 40a1872 + 0d22426 commit 42002fa

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

ch10.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# 10. 批处理
22

33
![](img/ch10.png)
4-
z
4+
55
> 带有太强个人色彩的系统无法成功。当最初的设计完成并且相对稳定时,不同的人们以自己的方式进行测试,真正的考验才开始。
66
>
77
> ——高德纳
@@ -531,6 +531,7 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
531531

532532
​ 虽然MapReduce在2000年代后期变得非常流行,并受到大量的炒作,但它只是分布式系统的许多可能的编程模型之一。对于不同的数据量,数据结构和处理类型,其他工具可能更适合表示计算。
533533

534+
534535
​ 不管如何,我们在这一章花了大把时间来讨论MapReduce,因为它是一种有用的学习工具,它是分布式文件系统的一种相当简单明晰的抽象。在这里,**简单**意味着我们能理解它在做什么,而不是意味着使用它很简单。恰恰相反:使用原始的MapReduce API来实现复杂的处理工作实际上是非常困难和费力的 —— 例如,任意一种连接算法都需要你从头开始实现【37】。
535536

536537
​ 针对直接使用MapReduce的困难,在MapReduce上有很多高级编程模型(Pig,Hive,Cascading,Crunch)被创造出来,作为建立在MapReduce之上的抽象。如果你了解MapReduce的原理,那么它们学起来相当简单。而且它们的高级结构能显著简化许多常见批处理任务的实现。

0 commit comments

Comments
 (0)