草庐IT

mapreduce_shuffle

全部标签

functional-programming - 原始函数式语言中的 MapReduce 的可扩展性如何?

Map-Reduce编程模型源于map和reduce函数,这些函数存在于函数式语言(如Lisp和Scheme)中可以追溯到很多年前。我记得大学时(90年代初),甚至在那时我就被告知Map-Reduce在可扩展性方面具有优势。目前我们都知道Hadoop及其从Google复制而来的原始版本。我想知道的是,“旧”函数式语言中存在哪些选项可以在至少几个计算节点上执行Map-Reduce?或者这是那些在纸面上看起来不错但在Google做到之前没有人真正开始构建的功能之一? 最佳答案 Map/Reduce是dataparallelism的特例.

java - 配置 MapReduce 作业时使用多个 InputFormat 类

我想编写一个可以处理文本和zip文件的MapReduce应用程序。为此,我想使用不同的输入格式,一种用于文本,另一种用于zip。有可能吗? 最佳答案 从@ChrisWhite的回答中扩展一点,您需要使用自定义InputFormat和RecordReader来处理ZIP文件。你可以在这里找到asampleZipFileInputFormat在这里asampleZipFileRecordReader.鉴于此,Chris建议您应该使用MultipleInputs,如果您不需要为每种类型的文件自定义映射器,我会这样做:MultipleInp

hadoop - pig 错误 : Unhandled internal error. 找到接口(interface) org.apache.hadoop.mapreduce.TaskAttemptContext,但类是预期的

我刚刚在HortonworksHDP2.1上将Pig0.12.0升级到0.13.0版本当我尝试在脚本中使用XMLLoader时出现以下错误,即使我已经注册了piggybank。脚本:A=load'EPAXMLDownload.xml'usingorg.apache.pig.piggybank.storage.XMLLoader('Document')as(x:chararray);错误:dumpA2014-08-1023:08:56,494[main]INFOorg.apache.hadoop.conf.Configuration.deprecation-io.bytes.per.ch

java - 远程运行 MapReduce

我有一个远程运行的hadoop集群。我能够完成教程:http://hadoop.apache.org/docs/r2.6.0/hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html在我的远程机器上,因为有一个内置的hadoop实例。但是,我希望在本地执行相同的任务。作为hadoop的新手,我不确定该怎么做。我想知道我是否可以运行该程序并将结果发送回我的本地机器。我不确定如何登录到我的远程计算机,然后运行​​MapReduce作业。这是我在远程机器上的代码:importjava.io.IOEx

hadoop - mapreduce 作业的链接

我遇到了“mapreduce作业的链接”。作为mapreduce的新手,在什么情况下我们必须链接(我假设链接意味着依次运行mapreduce作业)作业?有什么可以提供帮助的例子吗? 最佳答案 必须链接的作业的经典示例是字数统计,它输出按频率排序的字词。你需要:工作1:输入源映射器(发出单词作为键,一个作为值)聚合缩减器(聚合字数)工作2:键/值交换映射器(将频率作为键,词作为值)implicitidentityreducer(获取按频率排序的词,不必实现)这是上面映射器/缩减器的例子:publicclassHadoopWordCou

hadoop - MapReduce 如何读取多个输入文件?

我正在开发一个代码来读取数据并使用mapreduce将其写入HDFS。但是,当我有多个文件时,我不明白它是如何处理的。映射器的输入路径是目录的名称,如的输出所示Stringfilename=conf1.get("map.input.file");那么它是如何处理目录中的文件的呢? 最佳答案 为了获取输入文件路径,您可以使用context对象,如下所示:FileSplitfileSplit=(FileSplit)context.getInputSplit();StringinputFilePath=fileSplit.getPath(

java - 简单 MapReduce 作业中的大量开销

我正在试验Hadoop并创建了一个非常简单的map和reduce作业。输入是一个30行的文本文件,输出只有3行(它是一个日志文件的摘录,其中map提取了一个页面名称和执行时间,而reduce计算了min、max和avg执行次)。这个简单的作业需要36秒以伪分布式模式在Hadoop上执行(fs.default.name=hdfs://localhost,dfs.replication=1,mapred.job.tracker=本地主机:8021)。这是在运行Ubuntu10.04的2.93GhzNehalem、8GB内存、X25-ESSD上。我在映射器和缩减器中为每次调用添加了调试输出,

hadoop - import org.apache.hadoop.mapreduce 无法解析

我正在尝试执行下面的代码packagetest;importjava.io.IOException;importjava.util.*;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.conf.*;importorg.apache.hadoop.io.*;importorg.apache.hadoop.util.*;importorg.apache.hadoop.mapreduce.Mapper;importorg.apache.hadoop.mapreduce.Reducer;importorg.apache.hadoo

java - MapReduce 输出键升序排列

我编写了一个MapReduce代码,其中的键和值都是整数。我正在使用单个Reducer。输出是这样的:KeyValue1781281217426244295712397591有没有办法让输出按升序按键排序?这样输出看起来像这样:1782441281217426975912957123我需要使用conf.setComparator吗?如果是,我该怎么做? 最佳答案 这需要一个TotalOrderPartitionerhttps://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/

eclipse - Eclipse中使用Hadoop MapReduce报错

当我执行MapReduceprograminEclipseusingHadoop时,我收到以下错误。它必须在路径上有所改变,但我无法弄清楚。有什么想法吗?16:35:39INFOmapred.JobClient:TaskId:attempt_201001151609_0001_m_000006_0,Status:FAILEDjava.io.FileNotFoundException:FileC:/tmp/hadoop-Shwe/mapred/local/taskTracker/jobcache/job_201001151609_0001/attempt_201001151609_000