Skip to content

Commit 0bdbdc4

Browse files
authored
Merge pull request #63 from haifeiWu/patch-2
Update ch10.md
2 parents 79c4a34 + a140842 commit 0bdbdc4

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

ch10.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
281281

282282
​ Hadoop的各种高级工具(如Pig 【30】,Hive 【31】,Cascading 【32】,Crunch 【33】和FlumeJava 【34】)也能自动布线组装多个MapReduce阶段,生成合适的工作流。
283283

284-
### Reduce端连接与分组
284+
### Reduce侧连接与分组
285285

286286
​ 我们在[第2章](ch2.md)中讨论了数据模型和查询语言的联接,但是我们还没有深入探讨连接是如何实现的。现在是我们再次捡起这条线索的时候了。
287287

@@ -363,7 +363,7 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
363363

364364

365365

366-
### Map端连接
366+
### Map侧连接
367367

368368
​ 上一节描述的连接算法在Reducer中执行实际的连接逻辑,因此被称为Reduce端连接。Mapper扮演着预处理输入数据的角色:从每个输入记录中提取键值,将键值对分配给Reducer分区,并按键排序。
369369

@@ -395,13 +395,13 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
395395

396396
​ 分区散列连接在Hive中称为**Map端桶连接(bucketed map joins)【37】**
397397

398-
#### Map端合并连接
398+
#### Map侧合并连接
399399

400400
​ 如果输入数据集不仅以相同的方式进行分区,而且还基于相同的键进行**排序**,则可适用另一种Map端联接的变体。在这种情况下,输入是否小到能放入内存并不重要,因为这时候Mapper同样可以执行归并操作(通常由Reducer执行)的归并操作:按键递增的顺序依次读取两个输入文件,将具有相同键的记录配对。
401401

402402
​ 如果能进行Map端合并连接,这通常意味着前一个MapReduce作业可能一开始就已经把输入数据做了分区并进行了排序。原则上这个连接就可以在前一个作业的Reduce阶段进行。但使用独立的仅Map作业有时也是合适的,例如,分好区且排好序的中间数据集可能还会用于其他目的。
403403

404-
#### MapReduce工作流与Map端连接
404+
#### MapReduce工作流与Map侧连接
405405

406406
​ 当下游作业使用MapReduce连接的输出时,选择Map端连接或Reduce端连接会影响输出的结构。Reduce端连接的输出是按照**连接键**进行分区和排序的,而Map端连接的输出则按照与较大输入相同的方式进行分区和排序(因为无论是使用分区连接还是广播连接,连接较大输入端的每个文件块都会启动一个Map任务)。
407407

@@ -909,4 +909,4 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
909909

910910
| 上一章 | 目录 | 下一章 |
911911
| --------------------------------- | ------------------------------- | ------------------------ |
912-
| [第三部分:派生数据](part-iii.md) | [设计数据密集型应用](README.md) | [第十一章:流处理](ch11.md) |
912+
| [第三部分:派生数据](part-iii.md) | [设计数据密集型应用](README.md) | [第十一章:流处理](ch11.md) |

0 commit comments

Comments
 (0)