草庐IT

glass-mapper

全部标签

hadoop - 亚马逊电子病历 : Set unique number of mappers and reducers per EMR instance

我正在运行一个具有M个核心实例和N个任务实例的AmazonEMR集群。我的作业每天运行多次并且对时间敏感,因此我保持M核心实例24/7全天候运行,这样我就没有与S3之间的数据传输开销。N个任务节点正在根据需要动态启动和终止。M个核心节点为c1.mediums,N个任务节点为m2.xlarge。有没有办法为每个实例配置mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum?对于我想要的核心节点:mapred.tasktracker.map.tasks.maximum=2mapred.task

Hadoop mapper任务详细执行时间

对于某个HadoopMapReducemapper任务,我已经有了mapper任务的完整执行时间。一般来说,映射器有三个步骤:(1)从HDFS或其他来源(如AmazonS3)读取输入;(2)处理输入数据;(3)将中间结果写入本地磁盘。现在,我想知道是否有可能知道每一步花费的时间。我的目的是得到(1)映射器从HDFS或S3读取输入需要多长时间的结果。结果仅表明映射器的读取速度。它更像是映射器的I/O性能;(2)mapper处理这些数据需要多长时间,更像是task的计算能力。有人知道如何获得这些结果吗?谢谢。 最佳答案 只需实现一个不发

file - 为什么在hadoop mapper生成的文件中生成tab space

我写了一个这样的映射器:@Overrideprotectedvoidmap(VarLongWritableuserId,RecommendedItemsWritablerecommendations,Contextctx)throwsIOException,InterruptedException{Listitems=recommendations.getRecommendedItems();for(RecommendedItemitem:items){longuserID=Long.valueOf(userId.toString().trim());System.out.printl

hadoop - 如何获取 Reducer 中 Mappers 输出的记录数

我需要知道Mappers在Reducer中输出的记录数。只有一个Reducer,所以我想这可以简化事情。我的第一个想法是在mappers中增加一个计数器并在reducer中获取它,后来我发现这样的计数器已经存在,但它似乎“不应该”从reducer中读取,而只能从驱动程序中读取.我应该使用计数器以及如何正确使用,还是有其他方法? 最佳答案 是的,您可以利用一些固有的计数器,这些计数器甚至会在MR作业结束时被丢弃。在https://martin.atlassian.net/wiki/x/SYBmAQ上搜索“map输出记录”查看读取记录总

hadoop - 在 Mapper 类中检索到的键和值的空白/空值

我已经编写了一个MapReduce代码用于在CDH4集群上运行它。我的要求是读取完整的文件作为值,文件名作为键。为此,我编写了自定义InputFormat和RecordReader类。自定义输入格式类:FullFileInputFormat.javaimportjava.io.*;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapred.*;importFullFileRecordReader;publicclassFullFileInputFormatextendsFileInputFormat{@Overridep

hadoop - 如何在 Hadoop 2 + YARN 中计算并发#mappers 和#reducers?

我搜索了一段时间,发现使用hadoop2+yarn的MapReduce集群每个节点具有以下数量的并发映射和减少:并发映射#=yarn.nodemanager.resource.memory-mb/mapreduce.map.memory.mb并发减少#=yarn.nodemanager.resource.memory-mb/mapreduce.reduce.memory.mb但是,我设置了一个包含10台机器的集群,配置如下:'yarn_site'=>{'yarn.nodemanager.resource.cpu-vcores'=>'32','yarn.nodemanager.resou

java - Mapper 的意外输出

我试图同时处理一个数据集的四行。为此,我在映射器中使用了一个变量lineCount。但是我没有正确获得部分输出。这是我的映射器类:-publicclassGC_MapperextendsMapper{intlineCount=0;publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringline=value.toString();if(lineCount%4==0){context.write(newText("#Reads"),newIntWr

xml - Hadoop:XML文件如何存储到HDFS并被Mappers处理?

我刚刚开始学习Hadoop,我想确认我对“XML文件如何存储在HDFS中并由Mappers处理”相关的理解。我有一个XML格式的XML文件,如下所示。其简单的客户列表XML示例。此文件的大小为1GB。现在,如果我将这个文件移动到HDFS中,它将被分成16个block(如果我们将每个分割的默认block大小保持为64MB)。因此将执行16个映射器来处理此文件,每个block一个。......现在,如果我理解正确的话,MappReduce作业的Mapper会考虑每个完整的用于处理的标记可能会失败,因为使用-put将这种XML文件放入HDFS。或-copyFromLocal不保证HDFS中的

java - Hadoop Mapper参数说明

这个问题在这里已经有了答案:Keyofobjecttypeinthehadoopmapper(1个回答)关闭7年前。我是Hadoop的新手,对Mapper感到困惑参数。以众所周知的WordCount为例:classTokenizerMapperextendsMapper{privateTextoutputKey;privateIntWritableoutputVal;@Overridepublicvoidsetup(Contextcontext){outputKey=newText();outputVal=newIntWritable(1);}@Overridepublicvoidma

hadoop - 为整个 Mapper/Reducer 定义一个可写的

我在某处读到如果我们在创建Mapper/Reducer时定义输出可写项可能会提高性能,并且在Mapper/Reducer中我们应该只设置可写项的值而不是为每个输出记录创建可写项。例如(伪代码):IntWritableidWritable=newIntWritable();map(){idWritable.setValue(outputValue);emit(idWritable);}比以下更优化:map(){IntWritableidWritable=newIntWritable(outputValue);emit(idWritable);}这是真的吗?在创建将用于所有输出记录的Map