草庐IT

mapReduce

全部标签

apache-spark - 今天使用 MapReduce 代替 Spark 有什么好处?

我正在设置一个Hadoop集群用于测试/PoC目的。今天有什么不能用Spark作为处理引擎来完成的吗?在我看来,Spark已经取代了MR,并且围绕Hadoop构建的所有其他工具/抽象也与Spark兼容(Hive、Sqoop、Flume、HBase、Pig...)——是否有其他限制?据我了解,即使对于批处理作业,Spark至少与MR一样快,如果您想在未来扩展您的用例(流式处理),那么无论如何您都需要适应Spark。我问这个问题是因为直到今天,大多数介绍和教程都在教您有关Hadoop和MapReduce的知识。 最佳答案 很简单,不,现

java - Hadoop 上次 map 作业卡住 - 需要帮助

我正在使用hadoopmap-reduce作业进行一些文本处理。我的工作已完成99.2%,并停留在上一个map工作上。map输出的最后几行如下所示。上次发生此问题时,我尝试打印出从map发出的键值,并注意到其中一个键具有大量与之关联的值,我认为它在对这些值进行排序时似乎卡住了。然后,我停止从map作业中发出该键,它工作正常。我想,同样的问题又发生了,打印出键值对是一项乏味的工作,因为这项工作很费时间。有更好的选择吗?如果他们在排序上花费太多时间,就像配置hadoop忘记几个键一样。有没有这样的。2010-10-2014:43:32,274INFOorg.apache.hadoop.ma

hadoop - 日志未出现在控制台中 :( [Hadoop Question]

我正在尝试调试ClouderaHadoop的WordCount示例,但我做不到。我已经记录了mapper和reducer类,但是在控制台中没有出现日志。我附上图片。在第一张图片中,Java日志。在第二个图像中,结果记录。它没有出现第一个:(http://i56.tinypic.com/2eztkli.png有人知道吗?非常感谢!! 最佳答案 您正在执行“hadoopjar...”,因此您正在使用实际的Hadoop集群(可能是单节点)开始您的工作。这意味着所有日志记录都由集群完成,而不是在控制台上完成。您在控制台上看到的基本上只是一个

java - Hadoop 递归映射

我有一个要求,我的映射器在某些情况下可能会产生一个新的键/值供另一个映射器处理。有没有一种明智的方法可以做到这一点?我考虑过编写自己的自定义输入格式(队列?)来实现这一点。有任何想法吗?谢谢!编辑:我应该澄清方法一MapStep1(foo1,bar1)->out1(foo2,bar2)->out2(foo3,bar3)->(fooA,barA),(fooB,barB)(foo4,bar4)->(fooC,barC)ReductionStep1:(out1)->ok(out2)->ok((fooA,barA),(fooB,barB))->createMapStep2((fooC,barC

hadoop - Java 类文件的 Hadoop Streaming -file 选项问题

我正在努力解决hadoop中的一个非常基本的问题在“-file”选项中流式传输。首先,我尝试了流媒体中非常基本的示例:hadoop@ubuntu:/usr/local/hadoop$bin/hadoopjarcontrib/streaming/hadoop-streaming-0.20.203.0.jar-mapperorg.apache.hadoop.mapred.lib.IdentityMapper\-reducer/bin/wc-inputformatKeyValueTextInputFormat-inputgutenberg/*-output古腾堡-outputtstchk22

java - 使用 Hadoop + MapReduce 处理非结构化数据

我想使用hadoop来处理非结构化的CSV文件。这些文件是非结构化的,因为它们包含来自具有不同行长度的不同类型的多个数据值。此外,这些文件有数百个,而且它们的大小通常相对较大(>200Mb)。每个文件的结构可以这样演示:Book,ISBN,BookName,Authors,EditionBook,978-1934356081,ProgrammingRuby1.9,DaveThomas,1Book,978-0596158101,ProgrammingPython,MarkLutz,4...BookPrice,ISBN,Store,PriceBookPrice,978-1934356081

java - Hadoop MapReduce : Read a file and use it as input to filter other files

我想编写一个hadoop应用程序,它将一个文件和一个包含多个文件的输入文件夹作为输入。单个文件包含需要从文件夹中的其他文件中选择和提取其记录的key。我怎样才能做到这一点?顺便说一句,我有一个正在运行的hadoopmapreduce应用程序,它将文件夹路径作为输入,进行处理并将结果写到不同的文件夹中。我对如何使用文件获取需要从特定目录中的其他文件中选择和提取的key感到困惑。包含key的文件是一个大文件,因此不能直接放入主存中。我该怎么做?谢谢! 最佳答案 如果键的数量太多而无法放入内存,则考虑将键集加载到布隆过滤器(大小合适以产生

java - Mapreduce作业运行,出现异常

这是我的代码:importjava.io.DataInput;importjava.io.DataOutput;importjava.io.IOException;importjava.util.Iterator;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.conf.Configured;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.DoubleWritable;importorg.apache.hadoop.io.LongW

file - 多个小文件作为 map reduce 的输入

我有很多小文件,比如说20000多个。我想节省花在映射器初始化上的时间,那么是否可以只使用500个映射器,每个处理40个小文件作为其输入?如果可能的话,我需要有关如何实现这种输入格式的指导,谢谢!顺便说一句,我知道我应该合并这些小文件,这一步也是需要的。 最佳答案 可以使用CombineFileInputFormat。它在old中和new先生API。这是一个不错的blogentry关于如何使用它。 关于file-多个小文件作为mapreduce的输入,我们在StackOverflow上找

java - 使用 MapReduce 将 CSV 文件加载到 Hbase 表中

我需要将csv文件的数据加载到hbase表中。我有上述格式的csv文件Csv文件:读取Detachcard.csvyearclassdaysmm1964920.58.819641013.64.219641111.84.71964127.70.1196517.30.8196526.50.11965310.81.41965413.23.51965516.17.01965619.09.21965718.710.71965819.910.91965916.68.2在上面的文件中,顶部第一行是列限定符名称,从第二行开始是列限定符的值。现在我需要使用mapreducing程序将这些数据加载到hba