Update ch10.md

功能--->函数
This commit is contained in:
cwr31 2021-08-29 18:25:24 +08:00 committed by GitHub
parent e056fe9005
commit 4d0ab37520
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -562,7 +562,7 @@ top5.each{|count, url| puts "#{count} #{url}" } # 5
由于它们将工作流显式建模为数据从几个处理阶段穿过,所以这些系统被称为**数据流引擎dataflow engines**。像MapReduce一样它们在一条线上通过反复调用用户定义的函数来一次处理一条记录它们通过输入分区来并行化载荷它们通过网络将一个函数的输出复制到另一个函数的输入。 由于它们将工作流显式建模为数据从几个处理阶段穿过,所以这些系统被称为**数据流引擎dataflow engines**。像MapReduce一样它们在一条线上通过反复调用用户定义的函数来一次处理一条记录它们通过输入分区来并行化载荷它们通过网络将一个函数的输出复制到另一个函数的输入。
与MapReduce不同这些功能不需要严格扮演交织的Map与Reduce的角色而是可以以更灵活的方式进行组合。我们称这些函数为**算子operators**,数据流引擎提供了几种不同的选项来将一个算子的输出连接到另一个算子的输入: 与MapReduce不同这些函数不需要严格扮演交织的Map与Reduce的角色而是可以以更灵活的方式进行组合。我们称这些函数为**算子operators**,数据流引擎提供了几种不同的选项来将一个算子的输出连接到另一个算子的输入:
- 一种选项是对记录按键重新分区并排序就像在MapReduce的混洗阶段一样请参阅“[分布式执行MapReduce](#分布式执行MapReduce)”。这种功能可以用于实现排序合并连接和分组就像在MapReduce中一样。 - 一种选项是对记录按键重新分区并排序就像在MapReduce的混洗阶段一样请参阅“[分布式执行MapReduce](#分布式执行MapReduce)”。这种功能可以用于实现排序合并连接和分组就像在MapReduce中一样。
- 另一种可能是接受多个输入,并以相同的方式进行分区,但跳过排序。当记录的分区重要但顺序无关紧要时,这省去了分区散列连接的工作,因为构建散列表还是会把顺序随机打乱。 - 另一种可能是接受多个输入,并以相同的方式进行分区,但跳过排序。当记录的分区重要但顺序无关紧要时,这省去了分区散列连接的工作,因为构建散列表还是会把顺序随机打乱。