2
0
Fork 0
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:
Feng Ruohang 2021-01-07 18:15:23 +08:00 committed by GitHub
commit 42002faaeb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

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