草庐IT

shift-reduce

全部标签

Python Streaming : how to reduce to multiple outputs?(尽管使用 Java 是可能的)

我读了HadoopinAction并发现在Java中使用MultipleOutputFormat和MultipleOutputs类,我们可以将数据减少到多个文件,但我不确定如何实现使用Python流式处理也是一样。例如:/out1/part-0000mapper->reducer\out2/part-0000如果有人知道,听说过,做过类似的事情,请告诉我 最佳答案 DumboFeathers,一组与Dumbo一起使用的java类(一个python库,可以轻松为hadoop编写高效的p​​ythonM/R程序),在其outputcla

hadoop - 如何根据我的映射器输出大小动态设置 reducer 的数量?

我知道可以通过将mapred.min.split.size设置为dfs.block.size来根据我的dfs拆分大小设置映射器的数量。类似地,如何根据我的映射器输出大小设置reducer的数量?PS:我知道下面的选项可以用来控制reducer的数量。mapred.tasktracker.reduce.tasks.maximummapred.reduce.tasks 最佳答案 作业提交后不能设置reducer的数量。以这种方式考虑-在映射器输出上调用分区器,它不需要知道要分区的缩减器。 关

hadoop - 在 Mapper 或 Reducer 中处理异常的 Hadoop 最佳实践是什么?

想要了解在Mapper/Reducer中处理异常的最佳实践。选项1:不进行任何try/catch,让任务失败,MR将重试最终终止作业的任务。属性ma​​preduce.map/reduce.maxattempts在这里发挥作用。选项2:使用计数器记录catchblock中的失败次数。并根据这些错误的某个阈值终止作业或仅使用计数器显示失败记录的数量。在map-reduce中处理异常的任何(其他)通用/标准做法? 最佳答案 列出的选项1和2是我们在项目中处理的一些方法。请看here.它列出了更多选项

hadoop - 是否可以在 Hadoop Mapreduce 中为单个作业打印 Mapper 和 reducer 输出

对于给定的MR作业,我需要生成两个输出文件。一个文件应该是Mapper的输出另一个文件应该是Reducer的输出(它只是上面Mapper的聚合)我能否将mapper和reducer输出都写在一个作业中?编辑:在作业1中(仅Mapper阶段)输出包含单行中的20个字段,必须将其写入hdfs(file1)。在Job2(Mappernreducer)中,Mapper从Job1的输出中获取输入,删除几个字段以使其成为标准格式(仅10个字段)并将其传递给写入file2的reducer。我需要hdfs中的file1和file2...现在我的疑问是,在Job1映射器中,我是否可以将数据作为file1

hadoop - 在用 Java 编写 MR 代码时,如何决定何时使用 Map-Side Join 或 Reduce-Side?

在用Java编写MR代码时,如何决定何时使用Map-SideJoin或Reduce-Side? 最佳答案 Mapsidejoin在数据到达Map之前执行join。在map端加入数据之前,map功能需要一个强大的先决条件。这两种方法都有一些优点和缺点。Mapsidejoin与reduceside相比效率更高,但它需要严格的格式。先决条件:数据应以特定方式进行分区和排序。每个输入数据都应划分为相同数量的分区。必须使用相同的键排序。特定键的所有记录必须位于同一分区中。Reducesidejoin也称为Repartitionedjoin或R

hadoop - 区 block 链与 HDFS 有何不同,比特币挖掘与 Map reduce 或 spark 有何不同?

我正在研究区block链技术,我发现它将文件保存在多个不同的服务器上。现在根据Hadoop文档,它还在多个服务器上存储文件并在1个主节点上保留1个主副本。它还具有动物园管理员,负责维护主节点和所有辅助节点之间的数据。现在我的问题是,是否还有用于维护主副本的区block链动物园管理员,或者我的理解方式有误? 最佳答案 这些是完全不同的动物。大多数区block链全节点完全独立运行,并花时间验证交易。事实上,比特币协议(protocol)或以太坊中的每个完整节点都有整个链的完整副本——也就是说,自区block零以来发生的每笔交易。它们在共

pdf - 在 Hadoop Map Reduce 中解析 PDF 文件

我必须在Hadoop的MapReduce程序中解析HDFS中的PDF文件。所以我从HDFS获取PDF文件作为Inputsplits,它必须被解析并发送到Mapper类。为了实现这个InputFormat,我经历了这个link.如何解析这些输入拆分并将其转换为文本格式? 最佳答案 在Hadoop中处理PDF文件可以通过扩展FileInputFormat来完成类(class)。让扩展它的类成为WholeFileInputFormat。在WholeFileInputFormat类中,您覆盖了getRecordReader()方法。现在,每

java - 为简单的 hadoop mapreduce 作业运行两个 mapper 和两个 reducer

我只是想更好地理解使用多个映射器和缩减器。我想使用一个简单的hadoopmapreduce字数统计作业来尝试这个。我想为这个字数统计作业运行两个映射器和两个缩减器。有吗我需要在配置文件上手动配置,还是仅对WordCount.java文件进行更改就足够了。我在单个节点上运行这个作业。我正在运行这个作业$hadoopjarjob.jarinputoutput我已经开始了$hadoopnamenode-format$hadoopnamenode$hadoopdatanodesbin$./yarn-daemon.sh启动资源管理器sbin$./yarn-daemon.sh启动资源管理器I'mr

java - 相同的关键不同的 reducer (HADOOP)?

是否可以在不同的reducer上使用相同的键处理值?从所有映射器中我得到了具有相同key的数据,我想用不同的reducer处理它?我的困惑是这本书说所有具有相同键的值都将转到相同的reducer......mapper1(k1,v1),mapper2(k1,v2),mapper3(k1,v3)andsoon...我不希望所有数据都到同一个reducer......它应该是这样的,reducer1(k1,v1),reducer2(k1,v2)....假设reducer1产生sum1,reducer2产生sum2,我想要那个sum=sum2+sum1我该怎么做?

hadoop - Map reduce 作业卡在 map 0% reduce 0%

我正在运行著名的wordcount示例。我有一个本地和prodhadoop设置。同样的例子在生产环境中工作,但在本地不工作。谁能告诉我应该寻找什么。工作陷入困境。任务日志是:~/tmp$hadoopjarwordcount.jarWordCount/testhistory/outputtest/testWarning:$HADOOP_HOMEisdeprecated.13/08/2916:12:34WARNmapred.JobClient:UseGenericOptionsParserforparsingthearguments.ApplicationsshouldimplementT