草庐IT

reducer-combiner

全部标签

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

hadoop - 是否存在无法通过 map/reduce 解决的典型问题?

我正在尝试了解hadoop和map/reduce的界限,这将有助于了解一个我们知道map/reduce无法解决的重要问题或一类问题。如果改变问题的一个因素可以简化map/reduce,那肯定会很有趣。谢谢 最佳答案 我想到了两件事:任何需要实时/交互式/低延迟响应时间的东西。提交到Hadoop的任何作业都会产生固定成本。任何不是embarrassinglyparallel的问题.Hadoop可以处理许多需要数据之间存在一些简单相互依赖性的问题,因为记录是在减少阶段连接的。然而,某些图形处理和机器学习算法很难用Hadoop编写,因为有

java - Hadoop 中的 Mappers 和 Reducers 必须是静态类吗?

我试图在Hadoop中做一些简单的事情,发现在编写映射器和缩减器时,到处都被定义为静态的。我的任务将被分解成几个map零件和一个finalreduce.如果我想在其他工作中重用我的一个映射器怎么办?如果我将映射器类定义为内部static我可以在其他工作中使用它吗?此外,重要的问题可能需要更多和复杂的映射器,因此在维护时将它们全部放在一个巨大的文件中会变得很糟糕。有什么方法可以让映射器和缩减器作为常规类(甚至可能在单独的jar中)而不是作业本身? 最佳答案 您的问题是类必须是静态的,可以是静态的,还是可以是内部的,或者应该是内部的?H

java - 如何在 Hadoop Reduce 中获取当前文件名

我正在使用WordCount例如,在Reduce函数中,我需要获取文件名。publicstaticclassReduceextendsMapReduceBaseimplementsReducer{publicvoidreduce(Textkey,Iteratorvalues,OutputCollectoroutput,Reporterreporter)throwsIOException{intsum=0;while(values.hasNext()){sum+=values.next().get();}Stringfilename=((FileSplit)(.getContext())

java - 第一次使用Hadoop,MapReduce Job没有运行Reduce Phase

我编写了一个简单的mapreduce作业,它会从DFS中读取数据并在其上运行一个简单的算法。在尝试调试它时,我决定简单地让映射器输出一组键和值,而缩减器输出一组完全不同的键和值。我在单节点Hadoop20.2集群上运行这个作业。作业完成后,输出仅包含映射器输出的值,让我相信reducer没有运行。如果有人对我的代码产生这种输出的原因提供任何见解,我将不胜感激。我已经尝试将outputKeyClass和outputValueClass设置为不同的东西,以及将setMapOutputKeyClass和setMapOutputValueClass设置为不同的东西。目前注释我们的代码部分是我正

java - 如何访问 Reducer 中的 Mapper Counter 值?

我想访问reducer中的myCounter.my值:publicstaticclassMapextendsMapper{publicstaticenummyCounter{my};@Overridepublicvoidmap(LongWritablekey,Textvalue,Contextcontext){context.getCounter(myCounter.my).increment(1);context.write(newImmutableBytesWritable(),newImmutableBytesWritable());}}publicstaticclassRedu