草庐IT

reducer-combiner

全部标签

map - 在没有 Hdfs 的情况下运行 jar 文件 map reduce

我已经从我的eclipse项目中捆绑了一个jar。我想将参数传递给jar。基本上是jar的输入文件。我想知道如何提供不在Hdfs中的输入文件。我知道那不是现在hadoop的作品,但这是为了测试目的。Eclipse具有本地文件的功能。有没有办法通过命令行来做到这一点? 最佳答案 您可以通过从命令行覆盖作业跟踪器和文件系统属性,以“本地”模式运行hadoop:hadoopjar-fslocal-jtlocal您需要使用GenricOptionsParser(如果您使用ToolRunner来启动您的工作,这是常态。

hadoop - 如何中止映射器(或 reducer )内的 MR 作业

我试图在map方法中抛出IOExceptions,但MR作业没有停止。在抛出大量IOException后,作业将停止。有没有办法通过抛出异常或一些简单的调用来停止整个工作?谢谢。 最佳答案 这不是Hadoop的理想用例,也不是好的做法,但您可以直接从代码内部扼杀您的工作。因此,每当您达到希望工作停止的状态时,记录需要的内容并终止您的工作。这可以使用旧的mapredAPI或使用Job.killJob()来完成RunningJob.killjob()。您应该分别在configure()或setup()中获取对RunningJob或Job

java - 用于散列的 Hadoop Map Reduce 程序

我在Hadoop中编写了一个MapReduce程序,用于对文件的所有记录进行哈希处理,并将哈希值作为附加属性附加到每条记录,然后输出到Hadoop文件系统这是我写的代码publicclassHashByMapReduce{publicstaticclassLineMapperextendsMapper{privateTextword=newText();publicvoidmap(Textkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{key.set("single")Stringline=valu

Hadoop Map Reduce,如何将第一个reducer输出和第一个map输入结合起来,作为第二个mapper的输入?

我需要使用mapreduce实现一个功能。要求如下。映射器的输入是一个包含两列productId和Salescount的文件Reducersoutput,salescount总和要求是我需要计算salescount/sum(salescount)。为此,我打算使用嵌套的mapreduce。但是对于第二个映射器,我需要使用第一个reducer输出和第一个映射的输入。我怎样才能实现这个。或者有什么替代方法吗?问候维努 最佳答案 您可以按照自己的方式使用ChainMapper和ChainReducer到PIPEMappers和Reduce

hadoop - 使用 map reduce 在 cassandra 中执行批量加载

我没有太多使用cassandra的经验,所以如果我采用了错误的方法,请原谅。我正在尝试使用mapreduce在cassandra中进行批量加载基本上是字数统计的例子引用:http://henning.kropponline.de/2012/11/15/using-cassandra-hadoopbulkoutputformat/我已经放置了简单的HadoopWordcountMapper示例,并根据上面的示例稍微修改了驱动程序代码和reducer。我也成功生成了输出文件。现在我的疑问是如何执行加载到cassandra部分?我的方法有什么不同吗?请指教。这是驱动代码的一部分Jobjob=

java - 在 hadoop 中使用 Combiner 和 Reducer 类

我有以下格式的特定类(class)学生分数的数据StudentId@CourseId@Marks1@Marks2@Marks3@Marks4@Marks501001@104@13@18@25@86@2301001@106@58@30@10@12@5901001@108@60@81@97@83@2601001@110@68@95@11@73@6301001@112@55@22@74@71@2201002@104@20@72@76@28@9901002@106@52@17@20@67@9101002@108@18@46@61@73@1401002@110@86@59@50@35@65010

java - hadoop - map reduce 任务和静态变量

我刚开始处理一些hadoop/hbaseMapReduce作业(使用cloudera),我有以下问题:比方说,我们有一个带有main和静态变量的java类。该类定义了对应于Mapper和Reducer任务的内部类。在启Action业之前,主要初始化静态变量。该变量在Mapper类中读取。然后在集群上使用“hadoopjar”启动该类。我的问题:我没有看到其他节点上的Map和Reduce任务如何看到该静态变量。是否有任何允许节点共享jvm或静态变量的“hadoop魔法”?这怎么行?我必须在一个类(class)上做这件事,但我无法弄清楚在非单节点集群中这是怎么回事。谢谢

hadoop - hadoop map reduce 中的错误处理

根据文档,有几种方法可以在mapreduce中执行错误处理。以下是一些:一个。使用枚举的自定义计数器-每条失败的记录都会递增。记录错误并稍后分析。计数器给出失败记录的数量。但是要获取失败记录的标识符(可能是它的唯一键),以及发生异常的详细信息,发生错误的节点——我们需要进行集中的日志分析,并且有很多节点在运行。Logstash在其上可用。除此之外,是否还有其他方法可以在无需人工干预的情况下处理错误场景。欢迎任何工具、引用、最佳实践。我认为相同的技术适用于任何分布式应用程序,只需稍作改动即可。 最佳答案 在处理错误时要问的几个问题:如

algorithm - map-reduce如何用于倒排索引搜索?

很容易理解如何使用map-reduce来收集文本并构建一个大的倒排索引。但是map-reduce如何用于倒排索引搜索呢? 最佳答案 建立一个大的倒排索引,对吧。但不是用于搜索。MapReduce是批处理。我很确定您不想等到MapReduce作业在2mio上运行。项目并对它们进行评分,之后必须运行另一个作业并对分数进行降序排序。但这只是Hadoop的情况。也许如果您在MongoDB中使用MapReduce,这可能是准确的。但是仍然有很多开销。 关于algorithm-map-reduce如

java - 链接 Map Reduce 作业时出错

我的MapReduce结构publicclassChainingMapReduce{publicstaticclassChainingMapReduceMapperextendsMapper{publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{//code}}}publicstaticclassChainingMapReduceReducerextendsReducer{publicvoidreduce(Textkey,Iterablevalues,Context