草庐IT

mapReduce

全部标签

hadoop - 为什么 mapreduce 将压缩文件拆分为输入拆分?

所以根据我的理解,当hdfs存储一个block大小为64MB的bzip2压缩的1GB文件时,该文件将存储为16个不同的block。如果我想在这个压缩文件上运行map-reduce作业,mapreduce会尝试再次拆分文件。为什么mapreduce不自动使用hdfs中的16block,而是再次拆分文件? 最佳答案 我想我明白你的困惑来自哪里。我会尝试清理它。HDFS将您的文件分割成block。这些是文件的物理分区。MapReduce在这些block之上创建逻辑拆分。这些拆分是根据许多参数定义的,其中block边界和位置是一个重要因素。

java - TotalOrderPartitioner 忽略分区文件位置

我试图用TotalOrderPartitioner做一个简单的排序示例。输入是一个序列文件,以IntWritable为键,以NullWritable为值。我想根据键排序。的输出是一个以IntWritable为键,以NullWritable为值的序列文件。我在集群环境中运行这项工作。这是我的驱动程序类:publicclassSortDriverextendsConfiguredimplementsTool{@Overridepublicintrun(String[]args)throwsException{Configurationconf=this.getConf();Jobjob=J

hadoop - 带有错误 2999 的 pig 脚本参数

您好,我正在尝试使用参数运行pig脚本。catunbz2.piga=load'$source'usingPigStorage();storeainto'$target'usingPigStorage();然后我从CMD运行以下命令:$pig-f/home/user/unbz2.pig–paramsource=/part-m-*-paramtarget=/unzip22014-08-2211:51:33,015[main]INFOorg.apache.pig.Main-ApachePigversion0.11.0-cdh4.6.0(rexported)compiledFeb262014,

eclipse - 连接到 Eclipse 中的 Hortonworks VM 以进行 MapReduce 作业的 ConnectTimeoutException?

我正在尝试在Eclipse中运行MapReduce作业。我正在尝试连接到HortonworksVM并读取HDFS中的文件之一。这是HDFS中文件的显示:我正在使用以下代码访问该文件:FileInputFormat.setInputPaths(conf,newPath("hdfs://127.0.0.1:8020/user/hue/smallClaimData.txt"));我非常有信心这个路径是正确的,因为我第一次尝试运行它时出现错误:“文件不存在”。我添加了用户文件夹名称(我第一次省略了)并且错误消失了。因此,我假设我在HDFS中正确引用了这个文件但是,当我运行mapreduce作业

java - MapReduce:执行 WordCount v1.0

我正在尝试从官方documentation学习MapReduce.要为WordCount类制作一个jar文件,文档说要运行以下命令:javac-classpath${HADOOP_HOME}/hadoop-${HADOOP_VERSION}-core.jar-dwordcount_classesWordCount.java但是,我发现我的Hadoop目录中没有core.jar。我想我的Hadoop安装没问题,因为我可以从Bin文件夹执行Hadoopshell脚本。 最佳答案 如果你尝试这样做:javac-classpath`hado

java - 如何将 reducer 类中的值添加到数组列表(Hadoop)中?

我的映射器输出:1504652886Geography8904209587Science8904209587Math9341024668English99341024668Science我现在正在尝试编写一个reducer类,它将组合公共(public)键并生成如下所示的输出:1504652886Geography8904209587Science,Math9341024668English9,Science在reducer类中,我试图制作一个数组列表,其中将包含特定ID的所有类(class),但我肯定做错了什么。我的代码如下:publicstaticclassReduceextend

java - Hadoop 将多个部分文件组合成单个文件

目前我有part-00001part-00002我知道使用hdfs-getmerge是将这些文件合并为一个文件的最佳方式。但是,是否可以以编程方式做到这一点?我试过使用MultipleOutput,但它不起作用。我也尝试编写自己的CustomOutputFormat但是由于在将它并行写入文件时有多个reducer,它会出现org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException关闭数据输出流时出错。 最佳答案 您始终可以使用FileSystemclass从你的java代

java - Hadoop 与 mongoDB : NoClassDefFoundError MongoConfigUtil

我正在学习如何使用mongodb数据作为输入在hadoop中编写map/reduce作业。所以我关注了this示例,但出现以下错误:Exceptioninthread"main"java.lang.NoClassDefFoundError:com/mongodb/hadoop/util/MongoConfigUtilatWordCount.main(WordCount.java:58)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.inv

hadoop - Mapreduce 自定义格式。现实世界中是否有很多情况可以编写自定义输入和输出格式?

我知道Hadoop支持各种输入和输出格式,如Text、Json、Avo、Sequence文件等。在Hadoop的现实世界中,我们是否遇到过开发人员必须开发自定义输入和输出格式的情况。对不起,Hadoop世界的新手。非常感谢纳特 最佳答案 CustomInputFormatcanbewrittenwhenyouneedtocustomizeinputrecordreading..seebelowexampleofCustomInputFormatoutofmanysuch...示例:读取段落作为输入记录如果您正在使用HadoopMap

hadoop - Mapreduce XML 输入格式 - 构建自定义格式

如果输入文件是XML格式,我不应该使用TextInputFormat,因为TextInputFormat假定每条记录都在输入文件的每一行中,并且为每一行调用Mapper类以获取该记录的键值对/行。所以我认为我们需要一种自定义输入格式来扫描XML数据集。作为Hadoopmapreduce的新手,是否有任何文章/链接/视频显示构建自定义输入格式的步骤?谢谢纳特 最佳答案 问题在MapReduce中并行处理单个XML文件很棘手,因为XML在其数据格式中不包含同步标记。因此,我们如何使用像XML这样本质上不可拆分的文件格式?Solution