Questions tagged «mapreduce»

MapReduce是一种使用大量节点处理某些类型可分配问题的大型数据集的算法

9
Java8:使用Stream / Map-Reduce / Collector将HashMap <X,Y>转换为HashMap <X,Z>
我知道如何List从Y-&gt; “转换”一个简单的Java Z,即: List&lt;String&gt; x; List&lt;Integer&gt; y = x.stream() .map(s -&gt; Integer.parseInt(s)) .collect(Collectors.toList()); 现在,我想对地图进行基本相同的操作,即: INPUT: { "key1" -&gt; "41", // "41" and "42" "key2" -&gt; "42 // are Strings } OUTPUT: { "key1" -&gt; 41, // 41 and 42 "key2" -&gt; 42 // are Integers } 解决方案不应限于String-&gt; Integer。就像List上面的示例一样,我想调用任何方法(或构造函数)。

4
好的MapReduce示例[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 除了“如何使用MapReduce计算长文本中的单词数”任务以外,我没有想到任何其他好的示例。我发现这并不是让其他人印象深刻的最好的例子,该工具的强大功能。 我不是在寻找代码片段,实际上只是在寻找“文本”示例。
202 mapreduce 



13
在Hadoop中链接多个MapReduce作业
在许多应用MapReduce的现实情况中,最终的算法最终是几个MapReduce步骤。 即Map1,Reduce1,Map2,Reduce2等。 因此,您具有来自上一个reduce的输出,该输出将作为下一个映射的输入。 一旦管道成功完成,您通常就不想保留中间数据。另外,由于此中间数据​​通常是某种数据结构(例如“映射”或“集合”),因此您不想在写入和读取这些键值对时花费太多精力。 在Hadoop中推荐这样做的推荐方式是什么? 是否有一个(简单的)示例显示如何以正确的方式(包括随后的清理)处理此中间数据​​?
124 hadoop  mapreduce 

6
Hadoop流程记录如何跨块边界拆分?
根据 Hadoop - The Definitive Guide FileInputFormats定义的逻辑记录通常不能整齐地放入HDFS块中。例如,TextInputFormat的逻辑记录是行,这些行将经常跨越HDFS边界。这与程序的功能无关(例如,行不会丢失或断线),但是这是值得了解的,因为这确实意味着数据本地映射(即与它们在同一主机上运行的映射)输入数据)将执行一些远程读取。造成的轻微开销通常并不重要。 假设一条记录线分为两个块(b1和b2)。处理第一个块(b1)的映射器将注意到,最后一行没有EOL分隔符,并从下一个数据块(b2)中获取其余行。 处理第二个块(b2)的映射器如何确定第一条记录不完整,应从块(b2)中的第二条记录开始处理?
119 hadoop  split  mapreduce  block  hdfs 


4
MapReduce排序算法如何工作?
Terasort基准是用于演示MapReduce功能的主要示例之一。我在理解MapReduce环境中使用的排序算法的基础时遇到了麻烦。 对我而言,排序仅涉及确定元素相对于所有其他元素的相对位置。因此,分类涉及将“所有”与“所有”进行比较。您的平均排序算法(快速,冒泡,...)简单地以一种聪明的方式做到了。 在我看来,将数据集分为多个部分意味着您可以对单个部分进行排序,然后仍然必须将这些部分集成到“完整的”完全排序的数据集中。鉴于TB数据集分布在数千个系统中,我希望这是一项艰巨的任务。 那么这到底是怎么做的呢?该MapReduce排序算法如何工作? 感谢您帮助我理解。

15
是否有一个等效于Apache Hadoop的.NET?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 因此,我一直对Hadoop怀有浓厚的兴趣,老实说,我很着迷,事情并没有变得那么酷。 我唯一的小问题是我是C#开发人员,并且使用Java。 我并不是在不那么了解Java,而是在寻找包含Google MapReduce方法的Hadoop.net或NHadoop或.NET项目。有人知道吗?
98 c#  .net  hadoop  mapreduce 



8
容器运行超出内存限制
在Hadoop v1中,我为每个7个映射器和reducer插槽分配了1GB的大小,我的映射器和reducer运行良好。我的机器有8G内存,8个处理器。现在使用YARN,当在同一台计算机上运行同一应用程序时,出现容器错误。默认情况下,我有以下设置: &lt;property&gt; &lt;name&gt;yarn.scheduler.minimum-allocation-mb&lt;/name&gt; &lt;value&gt;1024&lt;/value&gt; &lt;/property&gt; &lt;property&gt; &lt;name&gt;yarn.scheduler.maximum-allocation-mb&lt;/name&gt; &lt;value&gt;8192&lt;/value&gt; &lt;/property&gt; &lt;property&gt; &lt;name&gt;yarn.nodemanager.resource.memory-mb&lt;/name&gt; &lt;value&gt;8192&lt;/value&gt; &lt;/property&gt; 它给了我错误: Container [pid=28920,containerID=container_1389136889967_0001_01_000121] is running beyond virtual memory limits. Current usage: 1.2 GB of 1 GB physical memory used; 2.2 GB of 2.1 GB virtual memory used. Killing container. 然后,我尝试在mapred-site.xml中设置内存限制: &lt;property&gt; &lt;name&gt;mapreduce.map.memory.mb&lt;/name&gt; &lt;value&gt;4096&lt;/value&gt; &lt;/property&gt; &lt;property&gt; &lt;name&gt;mapreduce.reduce.memory.mb&lt;/name&gt; …
85 hadoop  mapreduce  yarn  mrv2 



2
Hadoop截断/计数器名称不一致
现在,我有一个Hadoop作业,该作业创建了一个非常知名的计数器。 例如,以下之一:stats.counters.server-name.job.job-name.mapper.site.site-name.qualifier.qualifier-name.super-long-string-which-is-not-within-standard-limits。该计数器在Web界面和getName()方法调用上被截断。我发现Hadoop在计数器最大名称上有限制,此设置IDmapreduce.job.counters.counter.name.max用于配置此限制。所以我将其增加到500,Web界面现在显示完整的计数器名称。但是getName()计数器的仍然返回截断的名称。 有人可以解释一下还是指出我的错误?谢谢。 编辑1 我的Hadoop服务器配置由具有HDFS,YARN并在其上进行map-reduce的单个服务器组成。在map-reduce期间,有一些计数器增量,并且在作业完成之后,ToolRunner我使用来获取计数器org.apache.hadoop.mapreduce.Job#getCounters。 编辑2 Hadoop版本如下: Hadoop 2.6.0-cdh5.8.0 Subversion http://github.com/cloudera/hadoop -r 042da8b868a212c843bcbf3594519dd26e816e79 Compiled by jenkins on 2016-07-12T22:55Z Compiled with protoc 2.5.0 From source with checksum 2b6c319ecc19f118d6e1c823175717b5 This command was run using /usr/lib/hadoop/hadoop-common-2.6.0-cdh5.8.0.jar 我进行了一些其他调查,看来此问题描述了与我类似的情况。但这很令人困惑,因为我能够增加计数器的数量,但不能增加计数器名称的长度... 编辑3 今天,我花了很多时间调试Hadoop的内部组件。一些有趣的东西: org.apache.hadoop.mapred.ClientServiceDelegate#getJobCounters方法从TRUNCATED名称和FULL显示名称的yarn返回一堆计数器。 无法调试地图和化简器本身,但在记录的帮助下,该org.apache.hadoop.mapreduce.Counter#getName方法似乎在化简器执行期间正常工作。
79 java  hadoop  mapreduce  yarn 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.