草庐IT

mapreduce-name

全部标签

java - Java8 中的 MapReduce 输出排序

我尝试使用解决方案对Hadoop中的reducer的输出进行排序,如这个问题中所述:MapReducesortbyvalueindescendingorder这个和Java8有一些冲突,所以我解决了它们:importjava.io.IOException;importjava.util.Iterator;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduc

java - 多个文件作为 Hadoop Dfs 和 mapreduce 的输入

通常我们将一个文本文件作为java文件的输入(比如在简单的字数统计问题的情况下)。相反,现在我有100个csv文件,我想将其作为我的java代码的输入。(所有文件不能简单地合并为1个文件)。试图预测给定100只股票的最大/最小股票波动率,因此每个csv文件都是唯一的。那么,如何将csv文件的整个文件夹作为输入流提供给java程序。 最佳答案 解决方案1:为了解决这个问题,我们可以使用FileInputFormat.addInputPaths()方法,它可以采用逗号分隔的多个输入列表,我们可以将其写为FileInputFormat.a

python - Hadoop MapReduce Wordcount python执行错误

我正在尝试执行一个pythonMapReducewordcount程序我取自writingaHadoopMapReduceprograminpython只是想了解它是如何工作的,但问题始终是工作不成功!我在ClouderaVM中使用这个库执行mapper.py和reducer.py/usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.6.0-mr1-cdh5.12.0.jar执行命令:hadoopjar/usr/lib/hadoop-0.20-mapreduce/contrib/streaming/had

hadoop - 在 mapreduce 中,为什么映射器不通过网络将输出键值直接发送到缩减器?

我知道映射器在将数据洗牌到reducer之前将其输出写入节点本地磁盘。但是,为什么他们不能将数据直接发送到相应的reducer(即时洗牌)并让reducer进行排序和休息。我一直在思考本地商店的优点。第一个数据保存在磁盘上,但即使一个映射器失败,已经保存的中间键值将被清除,另一个映射器将从头开始。其次是带宽考虑,但数据最终还是会被发送到reducer。我们可以逐block发送以减少网络开销。也许关键原因在于归并排序过程。如果数据在发送到reducer之前没有排序,它们可能会成为瓶颈。 最佳答案 whycan'ttheysenddat

hadoop - 了解 mapreduce.framework.name wrt Hadoop

我正在学习Hadoop并了解到该框架有两个版本:Hadoop1和Hadoop2。如果我的理解是正确的,在Hadoop1中,执行环境基于两个守护进程,即TaskTracker和JobTracker而在Hadoop2中(又名yarn),执行环境基于“新守护进程”,即ResourceManager、NodeManager、ApplicationMaster。如有不妥请指正我了解到以下配置参数:mapreduce.framework.namepossiblevalueswhichitcantake:local,classic,yarn我不明白它们到底是什么意思;例如,如果我安装Hadoop2,

java - 线程 "main"java.lang.NoClassDefFoundError : org/apache/hadoop/mapreduce/RecordReader 中的异常

我正在尝试将我的Json文件转换为Parquet格式。以下是我的pom文件。4.0.0com.mypackageJSONToParquet1.0-SNAPSHOTjarwso2http://dist.wso2.org/maven2/org.kitesdkkite-data-core1.1.0org.kitesdkkite-morphlines-all1.0.0pomua_parserua-parser1.3.0pomUTF-81.81.8转换代码如下:SchemajsonSchema=JsonUtil.inferSchema(inputstream,"Movie",10);try(JS

hadoop - MapReduce Job 中的排序在哪里完成?

当我们编写程序时,HadoopMapreduceJobs中的排序在哪里完成?我发现在我的计划中前进有困难。 最佳答案 排序由HadoopMapReduce框架完成。映射器输出传递给缩减器的中间(键,值)对。每个reducer都按排序顺序获取所有键。插图:假设使用了2个映射器:--mapper1outputkey_a,value_a1key_b,value_b2key_c,value_c1key_d,value_d2--mapper2outputkey_a,value_a2key_b,value_b1key_d,value_d1key

java - 为什么 Hadoop Mapreduce 分布式处理比正常的顺序处理需要更长的时间?

我用Java编写了一个简单的代码来读取csv文件,对行进行轻微更改(使用哈希),然后写入输出文件。我想比较代码的顺序版本(纯Java)和MapReduce版本。(代码没有太大区别)。我在伪分布式hadoop(单节点)和全分布式hadoop(3节点)中都尝试了代码,但令我惊讶的是,MapReduce版本的执行时间总是高于顺序(大约两倍或三次)).我在Hadoop方面经验不多,但至少分布式处理应该比串行处理花费更少的时间(因为这就是我们有分布式处理的原因)。我什至尝试了不同的数据集大小。 最佳答案 与顺序算法相比,每个并行算法都有额外的

尝试在 Elastic MapReduce 上运行 Jar 作业时出现 java.lang.RuntimeException : java. lang.ClassNotFoundException

我应该更改什么来修复以下错误:我正在尝试在ElasticMapreduce上开始一项工作,但它每次都崩溃并显示以下消息:java.lang.RuntimeException:java.lang.ClassNotFoundException:iataho.mapreduce.NewMaxTemperatureMapperatorg.apache.hadoop.conf.Configuration.getClass(Configuration.java:831)atorg.apache.hadoop.mapreduce.JobContext.getMapperClass(JobContex

sorting - 在具有零化简节点的 Mapreduce 中实现简单排序程序时出错

我尝试在mapreduce中实现一个排序程序,以便在map阶段之后我只有排序后的输出,其中排序由hadoop框架在内部完成。为此,我尝试将reducetask的数量设置为零,因为不需要任何减少。现在,当我尝试执行该程序时,我一直在获取校验和错误..我不知道接下来要做什么。当然可以在我的上网本上运行该程序,因为当我将reduce任务设置为一个时,排序工作正常。请帮忙!!以下是我为执行排序而编写的完整代码,供您引用:/**Tochangethistemplate,chooseTools|Templates*andopenthetemplateintheeditor.*//****@auth