From 4d0ab375204a3b5312ba131872e12cb2b775f82b Mon Sep 17 00:00:00 2001 From: cwr31 <59834457+cwr31@users.noreply.github.com> Date: Sun, 29 Aug 2021 18:25:24 +0800 Subject: [PATCH] Update ch10.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 功能--->函数 --- ch10.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ch10.md b/ch10.md index 8f791af..a7e790b 100644 --- a/ch10.md +++ b/ch10.md @@ -562,7 +562,7 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5 ​ 由于它们将工作流显式建模为数据从几个处理阶段穿过,所以这些系统被称为**数据流引擎(dataflow engines)**。像MapReduce一样,它们在一条线上通过反复调用用户定义的函数来一次处理一条记录,它们通过输入分区来并行化载荷,它们通过网络将一个函数的输出复制到另一个函数的输入。 -​ 与MapReduce不同,这些功能不需要严格扮演交织的Map与Reduce的角色,而是可以以更灵活的方式进行组合。我们称这些函数为**算子(operators)**,数据流引擎提供了几种不同的选项来将一个算子的输出连接到另一个算子的输入: +​ 与MapReduce不同,这些函数不需要严格扮演交织的Map与Reduce的角色,而是可以以更灵活的方式进行组合。我们称这些函数为**算子(operators)**,数据流引擎提供了几种不同的选项来将一个算子的输出连接到另一个算子的输入: - 一种选项是对记录按键重新分区并排序,就像在MapReduce的混洗阶段一样(请参阅“[分布式执行MapReduce](#分布式执行MapReduce)”)。这种功能可以用于实现排序合并连接和分组,就像在MapReduce中一样。 - 另一种可能是接受多个输入,并以相同的方式进行分区,但跳过排序。当记录的分区重要但顺序无关紧要时,这省去了分区散列连接的工作,因为构建散列表还是会把顺序随机打乱。