reduce任务和reducer的区别
Difference between reduce task and a reducer
"a reducer is different than a reduce task. A reducer can run multiple reduce tasks"。有人可以用下面的例子解释一下吗?
foo.txt:亲爱的,这是 foo 文件
bar.txt: 这是条文件
我正在使用 2 个减速器。什么是 reduce 任务以及基于什么在 reducer 中生成多个 reduce 任务?
根据我的理解,Reducer是一个计算资源槽,可以用来完成reduce任务。 reducer 可以分配给一个任务,它执行到 completion/failure,一旦任务达到结束状态,它就可用于处理另一个 reduce 任务,post-cleanup。
在 Yarn 中,概念有点不同。
reducer 是您正在编写(或重用)的代码来处理传入的数据。
reduce 任务是在集群中的节点上运行的 reducer 代码的实际实例化。此任务有一个状态机,可能会失败。如果失败,另一个 reduce 任务将启动以重新启动计算。这称为减少任务 attempt。重新开始计算的重试次数有限 ("maximum amount of attempts")。
您可以配置 n
个 reducer(如在 reduce 任务中),这是在作业执行的任何时间点可能发生的最大并行 reduce 任务数量(抛开推测执行)。
Reducer 是一个 class,其中包含 reduce 函数,如下所示
protected void reduce(KEYIN key, Iterable<VALUEIN> values, Context context
) throws IOException, InterruptedException {
Reduce task是一个节点上的程序运行,正在执行reduce Reducer class.
函数
你可以认为Reduce task是Reducer的一个实例
查看 Apache MapReduce 教程页面了解更多详细信息(Payload 部分)。
"a reducer is different than a reduce task. A reducer can run multiple reduce tasks"。有人可以用下面的例子解释一下吗?
foo.txt:亲爱的,这是 foo 文件 bar.txt: 这是条文件
我正在使用 2 个减速器。什么是 reduce 任务以及基于什么在 reducer 中生成多个 reduce 任务?
根据我的理解,Reducer是一个计算资源槽,可以用来完成reduce任务。 reducer 可以分配给一个任务,它执行到 completion/failure,一旦任务达到结束状态,它就可用于处理另一个 reduce 任务,post-cleanup。
在 Yarn 中,概念有点不同。
reducer 是您正在编写(或重用)的代码来处理传入的数据。
reduce 任务是在集群中的节点上运行的 reducer 代码的实际实例化。此任务有一个状态机,可能会失败。如果失败,另一个 reduce 任务将启动以重新启动计算。这称为减少任务 attempt。重新开始计算的重试次数有限 ("maximum amount of attempts")。
您可以配置 n
个 reducer(如在 reduce 任务中),这是在作业执行的任何时间点可能发生的最大并行 reduce 任务数量(抛开推测执行)。
Reducer 是一个 class,其中包含 reduce 函数,如下所示
protected void reduce(KEYIN key, Iterable<VALUEIN> values, Context context
) throws IOException, InterruptedException {
Reduce task是一个节点上的程序运行,正在执行reduce Reducer class.
函数你可以认为Reduce task是Reducer的一个实例
查看 Apache MapReduce 教程页面了解更多详细信息(Payload 部分)。