【发布时间】:2014-03-07 00:28:13
【问题描述】:
这个来自认证机构的实践测试的问题对我来说没有意义。有人可以帮忙吗?
问题:
映射器发出键和值对的字数问题,其中对于每个作为键的单词,文字 1 作为值发出。然后,reducer 为它收到的每个文字“1”增加一个计数器。 qn 是“我们可以使用现有的 reducer 代码作为组合器吗”?
正确答案如图所示。 "YES" ,我们可以,因为 sum 任务是可交换的和关联的。
但我的理解是,答案应该是“否”,因为这两种情况会导致两个不同的答案。而且我相信相同的 reducer 和 combiner 代码只有在我们使用另一种方法来增加计数器的值时才能使用,而不是“为它收到的每个字面量 1 增加一个计数器”。
举个例子 让我们先考虑一个没有组合器的假设情况 例如假设 map1 o/p 是 (to,1), (to,1) 和 map2 o/p 是 (to,1) 然后 i/p 到 reducer 变为 (to, [1,1,1]) 然后减速器 o/p 变为 (to,3)
但是对于组合器,当 map1 o/p 被馈送到组合器时,组合器 o/p 变为 (to,2)。减速器 i /p 现在变为 (to, [2,1])。然后在 reducer 中,我们只增加计数器,并且只为每个字面量 1 值增加,即我们丢弃字面量 2,然后 o/p 变为 (to,1)
使用组合器时,o/p 为 (to,1),而没有组合器时,o/p 为 (to,3)。
请帮助我,如果我在某处有问题或其他方面有问题?
提前感谢您的回答, 比卡尔篮子
【问题讨论】:
-
听起来写模拟测试的人需要自己练习一下
-
我认为你是对的
标签: hadoop word-count combiners