特别是来自认证机构的实践测试的这个问题对我来说没有意义。任何人都可以帮忙吗?
问题:
mapper 发出键和值对的字数问题,其中每个单词作为键,文字 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]) reducer 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)。
请帮助我,如果我在某个地方错了,或者如果不是这样?
提前感谢您的回答,Bikal Basnet