草庐IT

Iterator-reducer

全部标签

hadoop - 从作业日志中查找 reducers 的数量

在mapreduce中,我想从程序日志中找出mappers和reducers的数量。作为输入,我将三个文件传递给程序,并将缩减器的数量明确设置为5(仅用于测试目的)。程序:publicclassWordCount{publicstaticclassMapextendsMapper{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,Inter

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

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

hadoop - 如果在 Hadoop Map Reduce 中定义了自定义分区程序,默认哈希分区程序是否仍然有效?

由于我是hadoop的新手,我尝试了http://www.tutorialspoint.com/map_reduce/map_reduce_partitioner.htm中的示例代码我发现该程序根据年龄组使用了3个不同的分区,并且还使用了3个reducer,这是预期的。但是在reducer代码中(这里的性别是男/女的关键)我仍然得到,我假设这个值列表创建是由散列分区程序完成的。但是正如我定义的getPartitions(),谁来创建这个列表? 最佳答案 在上面的示例代码中,我们在运行方法中有以下驱动程序代码--Configurati

java - 使用 elasticsearch-hadoop map-reduce 将 json 从 HDFS 写入 Elasticsearch

我们将一些json数据存储到HDFS中,我们正在尝试使用elasticsearch-hadoopmapreduce将数据提取到Elasticsearch中。我们使用的代码非常简单(下)publicclassTestOneFileJobextendsConfiguredimplementsTool{publicstaticclassTokenizerextendsMapReduceBaseimplementsMapper{@Overridepublicvoidmap(LongWritablearg0,Textvalue,OutputCollectoroutput,Reporterrepo

java - MAP_OUTPUT_RECORDS 值在 reducer 类中不断变化

我正在尝试使用reducer类中的MAP_OUTPUT_RECORDS计数器来计算示例wordcount程序中的单词百分比。这里是reducer中setup()方法的代码:publicstaticclassIntSumReducerextendsReducer{privateFloatWritableresult=newFloatWritable();privatelongtotal=0;@Overridepublicvoidsetup(Contextcontext)throwsIOException,InterruptedException{total=context.getCoun

hadoop - Mapside Join 和 Reduce side join 可以有不同的 O/P

以下代码存在于PROD中并且每天运行,我正在尝试对其进行优化。我看到设置hive.auto.convert.join=FALSE;正在让它执行一个Reducesidejoin,它运行2.5小时并产生2324381条记录的行数。如果我设置hive.auto.convert.join=TRUE;然后它执行Map端连接并仅运行20分钟并生成5766529条记录的行数。我需要知道为什么行数不同,这是否正确?行数不同可以吗?我的印象是,无论发生哪个连接,O/P或查询都应该保持不变。在这两种情况下,源数据都保持不变,而且对于我正在更改的配置单元设置,所有其他条件都是相同的。INSERTOVERWR

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

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

hadoop - Hadoop YARN 中的 Map 和 Reduce 任务内存设置

在YARN上的MapReduce应用程序中,Reduce任务的最大内存是否需要大于Map任务?就像下面...mapreduce.map.memory.mb=7mapreduce.reduce.memory.mb=14mapreduce.map.java.opts=0.8*7=5,6mapreduce.reduce.java.opts=0.8*2*7=11,2 最佳答案 没有硬性规定,reduce任务内存应该大于map任务内存。默认情况下,mapreduce.map.memory.mb和mapreduce.reduce.memory.

java - Map Reduce程序将多个xml文件合并为一个xml文件

我是Hindsight和Hadoopmapreduce概念的新手。我正在尝试使用mapreduce程序将多个XML文件合并为一个XML文件。我的目的是通过将文件名作为开始和结束标记添加和附加到文件名中,将每个XML文件合并到目标XML文件中。例如。以下XML应合并为如下所示的单个XML输入XML文件输出XML文件问题1:是否可以将一个XML文件映射到每个映射器并创建一个键值对,键作为文件名,值作为每个XML文件的前缀和附加文件名作为开始和结束标记以及缩减器进行合并所有XML到单个上下文并输出到如上所示的XML。问题2:如何在映射器代码中获取文件名作为键? 最

java - 使用单独的映射器、 reducer 和驱动程序类运行 MR 程序

maxtempmapper.java类:packagecom.hadoop.gskCodeBase.maxTemp;importjava.io.IOException;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Mapper;publicclassMaxTempMapperextendsMapper{privatestaticfinalintM