草庐IT

mapreduce_shuffle

全部标签

Hadoop MapReduce InputFormat 已弃用?

我需要为HadoopMapReduce应用程序实现自定义(服务)输入源。我google和SO发现继续进行的一种方法是实现自定义InputFormat。对吗?显然根据http://hadoop.apache.org/common/docs/r0.20.2/api/org/apache/hadoop/mapred/InputFormat.htmlInputFormat的方法getRecordReader()和getSplits()已弃用。什么是替代品?Hadoop的WordCount示例仍然使用相同的... 最佳答案 虽然Hadoop仍

Hadoop MapReduce : default number of mappers

如果我不指定映射器的数量,如何确定该数量?是否有从配置文件(例如mapred-site.xml)中读取的默认设置? 最佳答案 在Chris上面添加的内容上添加更多内容:映射的数量通常由输入文件中的DFSblock数量决定。虽然这会导致人们调整他们的DFSblock大小来调整map的数量。map的正确并行级别似乎是大约10-100个map/节点,尽管对于非常cpu-lightmaptask,这可以达到300左右。任务设置需要一段时间,因此最好至少花一分钟时间执行map。您可以通过修改JobConf的conf.setNumMapTask

join - Apache Hive 使用的默认 MapReduce 连接是什么?

Hive实现的默认MapReduce连接算法是什么?是Map-SideJoin、Reduce-Side、Broadcast-Join等吗?原始论文和Hivewiki中均未指定连接:http://cs.brown.edu/courses/cs227/papers/hive.pdfhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins 最佳答案 “默认”连接将是随机连接,又名。作为共同加入。参见JoinOperator.java.它依赖于M/Rshuff

java - Mapfile 作为 MapReduce 作业的输入

我最近开始使用Hadoop,但在使用Mapfile作为MapReduce作业的输入时遇到问题。以下工作代码在hdfs中写入一个名为“TestMap”的简单MapFile,其中有三个Text类型的键和三个BytesWritable类型的值。这里是TestMap的内容:$hadoopfs-text/user/hadoop/TestMap/data11/01/2011:17:58INFOutil.NativeCodeLoader:Loadedthenative-hadooplibrary11/01/2011:17:58INFOzlib.ZlibFactory:Successfullyload

java - 为什么 IdentityMapper 在 org.apache.hadoop.mapreduce 库中消失了?

在旧版本的hadoop库(即org.apache.hadoop.mapred.lib)中,有一个名为IdentityMapper的Mapper基本实现。,它基本上将所有键值对传递给Reducer。但是,我在较新版本的hadoop库(org.apache.hadoop.mapreduce.lib)中发现,它没有任何名为IdentityMapper的类(可以找到Mapper的所有子类here).我能知道IdentityMapper在新库中是改名还是消失了吗?如果答案是第二个,我能进一步知道为什么IdentityMapper会消失吗?这是否意味着我们可以在中间没有Mapper的情况下链接多个

java - 无法初始化集群。请检查您的配置中的 mapreduce.framework.name 和相应的服务器地址

我正在尝试运行相同的代码(org.apache.hadoop.hbase.mapreduce.Export)导出类,方法是将所有必需的jar从java命令行路径(./java-cp“。:/npachava/*"Exporttest/test),我收到以下错误。Exceptioninthread"main"java.io.IOException:CannotinitializeCluster.Pleasecheckyourconfigurationformapreduce.framework.nameandthecorrespondserveraddresses.atorg.apache

java - Java获取MapReduce的输入输出个数

我想用Java获取map阶段和reduce阶段的输入和输出数量以及完整的map/reduce作业的时间。这些统计数据写在终端上,但我需要用Java代码获取它并将其写在我自己的界面上,就在行之后:job_blocking.waitForCompletion(true); 最佳答案 在此行之后,您可以通过获取这些计数器的值来获取MAP_INPUT_RECORDS和REDUCE_OUTPUT_RECORDS(也是MAP_OUTPUT_RECORDS)的数量:longmap_input_records=job.getCounters().f

java - Reducer,Mapreduce,不显示错误,但不给出所需的输出

销售司机类packagemr.map;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.lib.input.FileInputFormat;importorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat;importorg.apache.hadoop.io.Text;importorg.

hadoop - 在 mapreduce 中重用可写对象

我正在尝试找出重用可写对象与在wordcountmapreduce程序中创建新对象相比的性能优势。然而,无论输入数据有多大,这两个版本几乎需要相同的时间来完成。我还尝试通过更改为任务提供较低的堆空间,mapred.child.java.opts-Xmx120m但是与更高的堆空间相比,这两个版本的运行速度都稍慢。我永远无法获得重用可写对象以更好地执行的程序。我在这里遗漏了什么吗?我修改过的wordcount部分,publicvoidmap(Objectkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{S

algorithm - mapreduce中是否有可以并行执行的非交换reducer?

某些运算(例如中位数和均值)是不可交换的。在这种情况下似乎只能有一个reducer,因为reducer需要具有全局View。map-reduce中是否有可以并行执行的非交换reducer?当遇到非交换操作时,人们真的会使用map-reduce吗?或者只是在一些非常强大的机器上运行它?是否有将非交换运算分解为交换运算的通用方法?谢谢 最佳答案 我不知道“交换”这个词用在这里是否合适,但我明白你在说什么。在hadoop中,post-mapping阶段其实分为两步:Combiner和Reducer,签名相同。Combiner在映射器上运行