草庐IT

hadoop - 在 MapReduce 中,reduce 任务与 reducer 有何不同

在Mapreduce中,Reduce任务与Reducer有何不同?reducetask和reducer有什么关系?Reducer是否执行reduce任务?非常感谢 最佳答案 Reducetask只是Reducer的一个实例。reduce任务的数量是可配置的。也可以通过在作业配置对象中设置属性mapred.reduce.tasks来指定或org.apache.hadoop.mapreduce.Job#setNumReduceTasks(intreducerCount);方法可以使用。 关于

hadoop - 如何在hadoop map reduce程序中的mapper代码中获取输入文件名

我编写了一个带有两个输入参数的驱动程序代码:args[0]和args[1]。我想使用args[0]即输入文件路径,作为我在映射器代码中的文件路径之一,这样我的缓冲区读取器就可以读取文件,如下所示:{publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsjava.io.IOException,InterruptedException{ArrayListal=newArrayList();ArrayListnl=newArrayList();Stringline=null;StringfilePath=args[0];St

hadoop - Hadoop Map 和 Reduce 框架如何

我有一个1GB的文件。它是一个简单的文本文件。我有一个3节点集群。如果我编写一个JavaMapReduce程序来计算每个单词的出现次数,MappersMap()将被调用多少次,Reducersreduce方法将被调用多少次? 最佳答案 首先,集群的大小并不重要。它会导致一些冗余调用,只是为了容错,但我想这不是你的问题。因此,如果您有一个1节点集群或100节点集群,map和reduce任务的数量将相同,结果也将相同。现在,对于maptask的数量,这取决于一些因素,例如block的大小和输入的格式。您可以在thisarticle中找到

java - 无法在 hadoop 2.7 中运行 map reduce 作业 - 类型不匹配

在运行程序时出现错误:java.io.IOException:映射中的键类型不匹配:预期的org.apache.hadoop.io.Text,收到org.apache.hadoop.io.LongWritable我尝试了来自google/stack站点的更多建议。但没有运气。仍然有同样的异常(exception)。知道我错过了什么吗?我的导入importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.

java - 在 Map-reduce 输出文件中获取未知整数值

我正在开发一个hadoopmap-reduce程序,我没有设置映射器和缩减器,也没有为我的程序的作业配置设置任何其他参数。我这样做是假设作业会将与输入相同的输出发送到输出文件。但是我发现它在输出文件中打印了一些虚拟整数值,每一行都用制表符分隔(我猜)。这是我的代码:importorg.apache.hadoop.conf.Configured;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.lib.input.FileInput

java - word.set()方法在map reduce hadoop中抛出空指针异常

我是mapreduce编程的新手,我的类(class)是从简单的字数统计示例开始的。但是,我正在尝试一种不同的方法。我的hdfs输入文件夹中有两个输入文件。我正在尝试生成类似的输出anyword1-->filename12anyword2-->filename23我编写了一个映射器类以在键处将单词和文件名连接在一起,但是当我在文本中设置键值时,它会抛出空指针异常。有人可以提供帮助并建议我哪里做错了吗?我的映射器类publicstaticclassTokenizerMapperextendsMapper{privatefinalstaticIntWritableone=newIntWri

hadoop - 在 Google Cloud Dataproc 环境中使用 Hadoop 流运行 python map reduce 作业时出错

我想使用hadoop流方法在GoogleCloudDataproc中运行pythonmapreduce作业。我的mapreducepython脚本、输入文件和作业结果输出位于Google云存储中。我试着运行这个命令hadoopjar/usr/lib/hadoop-mapreduce/hadoop-streaming.jar-filegs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py-mappergs://bucket-name/intro_to_mapreduce/mapper_prod_cat.py-filegs://buck

hadoop - Hadoop 中的作业历史服务器是什么?为什么在 Map Reduce 模式下启动 Pig 之前必须启动历史服务器?

在以mapreduce模式启动Pig之前,您始终必须启动历史服务器,否则在尝试执行PigLatin语句时会生成以下日志:2018-10-1815:59:13,709[main]INFOorg.apache.hadoop.mapred.ClientServiceDelegate-Applicationstateiscompleted.FinalApplicationStatus=SUCCEEDED.**Redirectingtojobhistoryserver**2018-10-1815:59:14,713[main]INFOorg.apache.hadoop.ipc.Client-Re

amazon-s3 - 将单个 Hadoop map reduce 输出写入多个 S3 对象

我正在实现需要在多个S3对象中创建输出的HadoopMapreduce作业。Hadoop本身只创建一个输出文件(一个S3对象),但我需要将输出分成多个文件。我如何实现这一目标? 最佳答案 我通过使用S3工具包将我的reducer方法的输出直接写入S3来做到这一点。因为我在EC2上运行,所以这是快速且免费的。一般来说,您希望Hadoop尽可能多地处理您的输入和输出,以获得更清晰的映射器和缩减器;当然,您希望在管道的最后写入S3,让Hadoop的代码移动在HDFS上完成它的工作。无论如何,我建议进行所有数据分区,并在最终归约任务中将整个

hadoop - reduce任务输入不平衡如何处理?

最近有人问我如何处理reduce任务的输入不平衡。想了想,尝试重新分配数据,但没有想出好的解决办法。有什么建议吗? 最佳答案 实际上你有两种方法。增加reduce的数量,这样您的数据可能会更好地分布在任务中重写分区程序以更好地在任务上分配key。[1][1]http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapreduce/Partitioner.html 关于hadoop-reduce任务输入不平衡如