草庐IT

elastic-mapreduce-cli

全部标签

java - Hadoop Mapreduce - 访问本地文件系统

我有一个要求,MapReduce代码应该读取每个节点中的本地文件系统。该程序将在HDFS上运行,我无法在用于配置的xml文件中更改hadoop的FileSystem属性。我尝试了以下解决方案,但没有一个给我结果。方法一Configurationconfig=newConfiguration();FileSystemlocalFileSystem=FileSystem.get(config);localFileSystem.set("fs.defaultFS","file:///");BufferedReaderbufferRedaer=newBufferedReader(newInpu

java - MapReduce 作业在 map 部分后显示错误

Wordcount程序在map部分后失败。抛出以下错误。这是我在完成hadoop设置后尝试的第一个mapreduce程序。操作系统:Machadoop版本:1.2.1$HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK-Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk-Djava.net.preferIPv4Stack=true"Hadoop日志:14/06/1020:58:59WARNmapred.JobClient:UseGenericOptionsParserforparsingt

hadoop - 如何在 MapReduce 结果后将输出文件导出回 CSV

我找不到出路,如何将HadoopMapreduce结果导出回,例如CSV或其他文件格式。有人知道怎么做吗?很想知道。请注意,我指的是Hadoop的结果,例如输出1/part.00000 最佳答案 默认情况下,它们实际上是TSV(制表符分隔),您可以通过设置来更改mapred.textoutputformat.separator=","然后您可以通过hdfs-get命令从HDFS下载它,或使用-merge命令在单个本地文件中获取所有part-ooo*文件的合并输出hadoopfs-gethdfs://nn.example.com/us

hadoop - 将不同 S3 文件夹中的文件作为输入传递给 mapreduce

我们的日志文件存储在S3上的年/月/日/小时桶中。结构见下。我如何将第20天的所有日志作为我的mapreduce程序的输入传递?例如:bucket=logs/year=2014/month=8/day=20/hour=1/log1_1.txtbucket=logs/year=2014/month=8/day=20/hour=2/log2_1.txtbucket=logs/year=2014/month=8/day=20/hour=2/log2_2.txtbucket=logs/year=2014/month=8/day=20/hour=2/log2_3.txtbucket=logs/y

hadoop - 使用 mapreduce 的每个组的前 K 个值

我想编写一个map-reduce算法来为每个组查找前N个值(A或D顺序)Inputdataa,1a,9b,3b,5a,4a,7b,1c,1c,9c,-2d,1b,1a,101,19outputtype1a1,4,7,9,10,19b1,,1,3,5c-2,1,9d1outputtype2a19,10,9,7,4,1b5,3,1,1c9,1,-2d1前3的输出类型1a1,4,7b1,,1,3c-2,1d1请指导我 最佳答案 您需要编写一个映射器,用逗号分隔输入行并生成一对Text,IntWritable:Text('a,1')->(m

java - MapReduce 程序映射任务超时

我遇到了这个奇怪的错误。我编写了一个wordCount程序来计算一个单词在文件中重复的次数。所以当我在hadoop上运行MR代码时,代码卡在“Map100%,Reduce0%”。基本模式是第一个maptask在600秒后超时,然后再次超时,任务自行终止。我检查了JobTracker,任务卡住了,因为Map任务没有完成以等待reduce任务开始。我已经尝试修复它2天,在此期间我删除了原始虚拟UbuntuCloudera并重新安装它-所以我们可以确定这不是配置问题。感谢任何帮助。以下是3个代码文件。WordCount.javapublicclassWordCountextendsConfi

hadoop - 在 Hadoop mapreduce 中,是否所有映射器都需要与所有缩减器进行通信?

在mapreduce中,我知道映射器不会相互通信。但是是否所有映射器都需要与所有reducer进行通信? 最佳答案 这取决于映射器生成的键集。如果它不产生任何需要由特定reducer处理的键,它可能根本不需要与该reducer通信。但是mapper生成的键通常取决于它的输入,并且输入可能因作业而异,因此对于某些作业,每个mapper可能(甚至可能)需要将数据发送到每个reducer。 关于hadoop-在Hadoopmapreduce中,是否所有映射器都需要与所有缩减器进行通信?,我们在

java - (Hadoop) : reduce method is not getting executed/called while running mapreduce job

我在执行我的mapreduce作业时遇到问题。作为我的mapreduce任务的一部分,我正在使用mapreduce连接,其中包括多个map方法和单个reducer方法。我的两个map方法都被执行了,但是我的reducer没有被我的驱动程序类执行/调用。因此,最终输出只有在我的map阶段收集的数据。我是否在reduce阶段使用了错误的输入和输出值?map和reduce阶段是否存在输入输出不匹配?在这方面帮助我。这是我的代码..publicclassCompareInputTestextendsConfiguredimplementsTool{publicstaticclassFirstF

hadoop - 在哪里设置配置mapreduce.job.jvm.numtasks?

我在一本书(ProfessionalHadoopSolutions)中读到,可以通过指定作业配置mapreduce.job.jvm.numtasks来启用JVM重用。我的问题是我们需要在Driver类中设置它吗?我尝试在mapreduce.Job对象中查找此配置,但没有找到。这个API可以在我使用的Hadoop版本的其他地方被替换吗?还是我没有找对地方?我使用的是Hadoop版本1.0.3。我还尝试寻找旧属性mapred.job.reuse.jvm.num.tasks,但我找不到。谢谢! 最佳答案 您的来源指的是更新的Hadoop2

caching - 将 URI 作为运行时变量传递给 mapreduce hadoop 中的分布式缓存

我在我的mapreduce程序中使用分布式缓存,我将三个变量传递给这个mapreduce程序inputfile、outputdir和configfile.我想添加第三个参数,即配置文件到分布式缓存。我在MapReduce驱动程序的run()方法中设置参数如下:-conf.set("CONF_XML",args[2]);如何用同样的方法将这个文件添加到分布式缓存中。我该怎么做?通常我们添加使用URI(new(filepath));DistributedCache.addCacheFile(newURI(file_path),conf); 最佳答案