mirror of
https://github.com/Vonng/ddia.git
synced 2026-06-21 00:47:05 +08:00
Merge pull request #105 from LiminCode/chronicle-error
Chronicle translation error
This commit is contained in:
commit
42002faaeb
1 changed files with 2 additions and 1 deletions
3
ch10.md
3
ch10.md
|
|
@ -1,7 +1,7 @@
|
|||
# 10. 批处理
|
||||
|
||||

|
||||
z
|
||||
|
||||
> 带有太强个人色彩的系统无法成功。当最初的设计完成并且相对稳定时,不同的人们以自己的方式进行测试,真正的考验才开始。
|
||||
>
|
||||
> ——高德纳
|
||||
|
|
@ -531,6 +531,7 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
|
|||
|
||||
虽然MapReduce在2000年代后期变得非常流行,并受到大量的炒作,但它只是分布式系统的许多可能的编程模型之一。对于不同的数据量,数据结构和处理类型,其他工具可能更适合表示计算。
|
||||
|
||||
|
||||
不管如何,我们在这一章花了大把时间来讨论MapReduce,因为它是一种有用的学习工具,它是分布式文件系统的一种相当简单明晰的抽象。在这里,**简单**意味着我们能理解它在做什么,而不是意味着使用它很简单。恰恰相反:使用原始的MapReduce API来实现复杂的处理工作实际上是非常困难和费力的 —— 例如,任意一种连接算法都需要你从头开始实现【37】。
|
||||
|
||||
针对直接使用MapReduce的困难,在MapReduce上有很多高级编程模型(Pig,Hive,Cascading,Crunch)被创造出来,作为建立在MapReduce之上的抽象。如果你了解MapReduce的原理,那么它们学起来相当简单。而且它们的高级结构能显著简化许多常见批处理任务的实现。
|
||||
|
|
|
|||
Loading…
Reference in a new issue