草庐IT

y-combinator

全部标签

hadoop - MapReduce什么时候调用Exactly Combiner?

Combiners是使用与reducer相同的类和大部分相同的代码制作的。但是问题是什么时候在sort和shuffle之前或reduce之前调用它?如果在排序和洗牌之前i.即,在mapper之后它将如何获得输入[key,list]?因为这是由排序和随机播放给出的。现在,如果它在sortandshufflei之后被调用。即,就在reducer之前,然后输出到组合器是[key,value]像reducer那么reducer如何将输入作为[key,list]? 最佳答案 组合器的输出类型必须与映射器的输出类型匹配。Hadoop不保证组合器

hadoop - Combiner 实现和内部工作

我想在我的MR代码中使用组合器,比如WordCount。我应该如何实现?什么类型的数据从组合器传递到缩减器?如果你们中的任何人能提供给我Combiner和Reducer的代码,那就太好了。如果能解释一下combiner的工作原理就更好了我是mapreduce的新手,正处于学习阶段。提前致谢:) 最佳答案 combiner与reducer做同样的工作,它可以实现reducer接口(interface)并覆盖它的reduce方法。如果你使用combiner,较小的网络带宽就足以将中间(映射器的o/p)传输到reducer。如果您在red

java - Hadoop MapReduce 中 Map/Combine 之后和 Reduce 阶段之前的数据保存在哪里?

在Spark中,我们可以随时将数据保存在内存中,但我想知道在HadoopMapReduce的Map和Reduce阶段之间数据保存在哪里。它是保存在HDFS、磁盘还是RAM中?我的意思是,当数据被洗牌时(即在Map/Combiner之后和Reduce之前),它保存在哪里? 最佳答案 根据我在HadoopMapreduce方面的知识。1)Map任务输出写入本地磁盘。(在Map/Combiner之后和Reduce任务之前)2)Reducer任务输出写入HDFS。如果Mapreduce作业只有Mapper任务输出写在HDFS中希望这有帮助!

java - Combiner 逻辑是否始终与 Reducer 逻辑相同?

HadoopMapReduce中的Combiner逻辑和Reducer逻辑总是一样的吗?或者是否存在Combiner逻辑与Reducer逻辑不同的场景? 最佳答案 Combiner类和Reducer类可能相同也可能不同,具体取决于您的要求。但是Combiner和Reducer都必须通过扩展Reducer来实现reduce()方法例如publicvoidreduce(Keykey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{如果Combine

java - 缺少 Map/Combine/Reduce 的逻辑,关于如何跟踪某些东西

我正在尝试使用map/reducer来处理与我之前使用的不同的staff。我现在有一个这样的输入文件:1500002015pctechnology2154241998mousetechnology3784202010pentechnology484522000penstationery541252000penstationeryid、价格、年份、项目、类型我正在尝试做的是计算特定类型的特定商品的平均价格、每种类型以及该特定商品售出的每一年的平均价格。所以,举个例子,我开始为钢笔做这些东西。2000年钢笔的平均价格是多少?在我的示例中,有两种笔(用于PC的数字笔和标准笔),所以我喜欢这样

Java Hadoop - Reducer 在使用 Combiner 类时多次接收同一个键的不同值

我在HadoopJavaAPI(1.0.3)中编写了一个MapReduce作业。这项工作包括对我的数据中特定字段(X)的所有值求和,并创建其他字段的加权分布。输入:1field1_1field2_1field3_1...fieldX_12field1_2field2_2field3_2...fieldX_23field1_3field2_3field3_3...fieldX_3由于我的数据中的任何行都会发出一对,并且我需要使用单个reducer来汇总所有值,因此我想将相同的Reduce类设置为Combiner。总X求和:map输出:XfieldX_1XfieldX_2XfieldX_3

hadoop - Mapper Combiner patitioner shuffle/sort 顺序

我在DefiniteGuide:Hadoopinpg206中有以下文字。在写入磁盘之前,线程首先将数据划分为对应的分区到他们最终将被发送到的reducer。在每个分区内,后台线程按键执行内存中排序,如果有组合器功能,它在排序的输出上运行。运行combiner函数可以得到更多紧凑的map输出,因此写入本地磁盘和传输到的数据较少reducer。那么有了这个理解,我可以排序为Mapper,partitioner,shuffle/sort,Combiner的顺序吗? 最佳答案 我写了一篇关于此的好文章:http://0x0fff.com/h

hadoop - hadoop把mapper、partitioner、combiner的输出文件存放在哪里?

我在伪分布式hadoop设置上运行mapreduce作业。我在哪里可以找到映射器、分区器和组合器的输出文件?有没有办法检查每个操作的输出? 最佳答案 MapReduce中的中间输出存储在运行任务的节点上的本地临时存储中(而不是在HDFS中)。您可以在Hadoopconf中查找本地临时目录所在的位置,然后逐个节点地手动检查它们。一般来说,可能有更好的方法通过日志消息或计数器来完成您认为您想做的事情。您可以做的另一件事是关闭reducer,以便您的Mappers直接写入HDFS,以便您可以检查它。

hadoop - shuffle阶段和combiner阶段有什么区别?

我对MapReduce框架感到很困惑。我对从不同来源阅读的内容感到困惑。顺便说一下,这是我对MapReduce作业的想法1.Map()-->emit2.Partitioner(OPTIONAL)-->divideintermediateoutputfrommapperandassignthemtodifferentreducers3.Shufflephaseusedtomake:4.Combiner,componentusedlikeaminireducerwichperformsomeoperationsondatasandthenpassthosedatatothereducer.

Hadoop combiner 在 reducer 上执行

我有一个长时间运行的MapReduce作业,其中一些映射器比其他映射器花费更多的时间。检查Web界面上的统计数据,我看到我的组合器也启动了reducer(其中大部分空闲,因为只有2个映射器仍在运行)。虽然在所有映射器完成之前不浪费时间并进行一些预聚合似乎是合理的,但我找不到有关此行为的任何文档。谁能确认这确实是Hadoop的一个特性,或者只是在Web界面上显示错误? 最佳答案 组合器在映射器发出合理数量的数据时启动。请注意,组合器作为映射器输出的聚合(通常)运行(而不是在减少端)。可以找到更多详细信息here.此外,reducer可