草庐IT

reduce_dim

全部标签

hadoop - 在 Hadoop Map-Reduce 中向 reducer 添加计数器

我正在尝试编写一个mapreduce作业并想向我的reducer添加一个计数器。但是,当我运行作业时,计数器似乎没有出现在输出中。目前我正在使用这条线(Java):context.getCounter(ReducerCounters.COUNTDISTINCT).increment(1);老实说,我不能100%确定是否可以在reducer上使用这样的计数器。如果有人知道这是可能的还是不可能的,请告诉我。我似乎无法在网上找到任何关于reducer计数器的可靠示例。非常感谢。 最佳答案 以下是我的导入:importorg.apache.

hadoop - mapreduce 的 Reducer 函数中的 ArrayIndexOutOfBoundException

我不明白错误是什么,当我删除job.setSortComparatorClass(LongWritable.DecreasingComparator.class);我得到了输出,但是当我尝试使用它时出现了这个异常。我试图根据值从reducer中以降序获取输出,因此我使用了setsortcomparator类,所以请帮助我packagetopten.mostviewed.movies;importjava.io.IOException;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritabl

hadoop - 如何在没有键值对的情况下保存 Mapreduce 的 Reducer 输出?

我正在编写一个Mapreduce程序来处理Dicom图像。这个Mapreduce程序的目的是处理dicom图像,从中提取元数据,索引到solr,最后在Reducer阶段它应该将原始图像保存在hdfs中。我想在HDFS中保存相同的文件作为reducer输出所以我已经实现了大部分功能,但是在reducer阶段,当在hdfs中存储相同的文件时,它不起作用。我用dicom图像查看器测试了处理过的Dicom文件,它说文件被篡改了,而且处理过的dicom文件的大小也略有增加。Ex.原始Dicom大小为628Kb,当reducer将此文件保存在hdfs中时,它的大小变为630Kb。我尝试了这些链接的

java - Apache gora,在reducer中设置新表名的位置

我有一个基本上是ApacheGora的HbaseMapreduce作业的应用程序。我想将一个Hbase表数据复制到一个新表,这是一个非常简单的案例。在哪里写新表名。我评论了thisGuide但找不到放置新表名的位置。以下是代码片段,/*MappersareinitializedwithGoraMapper.initMapper()or*GoraInputFormat.setInput()*/GoraMapper.initMapperJob(job,inStore,TextLong.class,LongWritable.class,LogAnalyticsMapper.class,tru

map - hive 有自己的 map reduce 程序吗?

我想在我的应用程序上实现hive+hadoopmapreduce程序,我仍然想知道,因为我已经尝试了很多次关于在hive中查询和查找有关mapreduce程序的信息..我的问题是,hive有自己的mapreduce程序吗?因为当我尝试一个有点复杂的查询时,日志是这样的:Jobrunningin-process(localHadoop)2011-05-2614:10:02,004nullmap=100%,reduce=100%EndedJob=job_local_0001在该查询中有mapreduce过程,然后如果我尝试在google上搜索一些在hive中实现的mapreduce程序,也

hadoop - Map reduce value list顺序问题

正如我们所知,Hadoop按键对值进行分组,并将它们发送到同一个reduce任务。假设我在hdfs上的文件中有下一行。第1行2号线3号线....亚麻在maptask中,我打印文件名和行。在reduce中,我收到了不同的订单。例如key=>{line3,line1,line2,....}现在,我有下一个问题。我想得到这个值列表,以便它们位于文件中,作为key=>{line1,line2,...linen}有什么办法吗? 最佳答案 如果您使用TextInputFormat,你会得到一个作为映射器输入。LongWritable部分(或键)

java - 重新运行 Hadoop 作业,分区的 mapoutput 是否仍会转到相同的 Reducers?

在hadoop中,假设节点的数量是固定的(在运行期间没有服务器崩溃),如果我使用相同的分区器(例如,在映射输出的键上进行哈希分区)来分区映射器输出,并且我执行读取同一个数据集两次的作业。确定同一个key的数据会去同一个reducer吗?谢谢例如,我的map输出包含两行:键|值一个|任何东西乙|任何东西假设,我有两个reducer1和2。在第一次运行中,行“A|anything”进入reducer1,“B|anything”进入reducer2。如果我再次运行,是否有可能“A|anything”进入reducer2,而“B|anything”进入reducer1?谢谢!

configuration - Hadoop 推荐素数的 map/reduce 任务?

我在模板配置文件中看到了这些:mapred.map.tasks2Thedefaultnumberofmaptasksperjob.Typicallysettoaprimeseveraltimesgreaterthannumberofavailablehosts.Ignoredwhenmapred.job.trackeris"local"....mapred.reduce.tasks1Thedefaultnumberofreducetasksperjob.Typicallysettoaprimeclosetothenumberofavailablehosts.Ignoredwhenmap

hadoop - 如何根据集群中处理节点的数量在运行时设置reducer的数量

有没有办法根据处理节点的总数在运行时设置此信息?job.setNumReduceTasks(NO_OF_REDUCERS);所以,假设我在一台刚刚配置了节点的个人笔记本电脑上编译我的代码,那么它应该将reducers的数量设置为1。但是,如果我为一个真正的大型集群编译它,那么它应该相应地设置。 最佳答案 查看org.apache.hadoop.mapreduce.ClusterMetrics;应该包含获取您正在寻找的信息的功能。我把它记在笔记里是为了别的;但这应该提供您正在寻找的集群信息以及一些其他详细信息。我正在研究它的reduc

hadoop - 为什么在一个 Hadoop 作业中只使用 1 个 map 和 1 个 reduce 任务以及 1 个节点?

我已经配置了一个3节点集群来运行wordcountmapreduce程序。我正在使用一本书,其大小为659kb(http://www.gutenberg.org/ebooks/20417)作为测试数据。有趣的是,在该作业的WebUI中,仅涉及1个map、1个reduce和1个节点。我想知道这是否是因为数据量太小。如果是,我可以手动设置将数据拆分到多个节点上的不同map吗?谢谢,艾伦 最佳答案 默认block大小为64MB。所以是的,该框架确实只为每种类型分配一项任务,因为您的输入数据较小。1)您可以提供超过64MB的输入数据,然后看