草庐IT

mapReduce

全部标签

java - MapReduce(二级)排序/过滤 - 如何?

我有一个聊天室web应用程序不同“区域”的时间戳值(并发用户)的日志文件,格式为“时间戳;区域;值”。对于每个区域,每天每分钟存在一个值。对于每个区域,我想列出每天的最大值,按最大值降序因此,输入文件为#timestamp;zone;value2011-01-0100:00:00;1;102011-01-0100:00:00;2;222011-01-0100:01:00;1;112011-01-0100:01:00;2;212011-01-0200:00:00;1;122011-01-0200:00:00;2;20应该为区域1生产:2011-01-02122011-01-0111对于区

hadoop - 如何在 Hadoop Mapreduce 作业中访问分布式缓存?

我正在尝试将一个小文件传递到我正在使用GenericOptionsParser的-files标志运行的作业:$hadoopjarMyJob.jar-conf/path/to/cluster-conf.xml-files/path/to/local-file.csvdata/inputdata/output这应该将作业发送到我的集群并附加local-file.csv以在需要时提供给Mapper/Reducer。当我在伪分布式模式下运行它时效果很好,但是当我在集群上启Action业时似乎找不到该文件。我正在我的映射器的setup方法中读取文件,如下所示:publicstaticclassT

java - HADOOP::java.lang.ClassNotFoundException:WordCount

我正在使用eclipse导出map-reduce程序的jar文件。当我使用命令运行jar时hadoopjarhadoop-prog.jarWordCount/home/temp/input/home/temp/output它总是显示错误:Exceptioninthread"main"java.lang.ClassNotFoundException:WordCountatjava.net.URLClassLoader$1.run(URLClassLoader.java:202)atjava.security.AccessController.doPrivileged(NativeMeth

hadoop - map-reduce 是否可以有多个输出文件?

在我的输入文件中,我有一列作为国家/地区。现在,我的任务是将特定国家/地区的记录放入以该国家/地区命名的单独文件中。这可能在Map-reduce中做吗?!请分享您对此的看法。 最佳答案 是的,在hadoop中你可以使用MultipleOutputFormat要做到这一点,使用它的generateFileNameForKeyValue方法。使用您的国家/地区名称作为键并使用记录作为值,这应该完全按照您的需要工作。 关于hadoop-map-reduce是否可以有多个输出文件?,我们在Sta

java - mapreduce 类中的奇怪错误

这个错误看似微不足道,但不会消失。我定义了以下类:importjava.io.IOException;importjava.util.Iterator;importjava.util.StringTokenizer;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapred.FileInputForma

hadoop - 在 MapReduce 作业中先运行 Combiner 或 Partitioner

我很困惑,因为我找到了两个答案。1)根据Hadoop权威指南-第3版,第6章-MapSide说:“在写入磁盘之前,线程首先将数据分成与数据最终将发送到的reducer相对应的分区。在其中每个分区,后台线程执行内存中按键排序,如果有组合函数,则在排序的输出上运行。2)Yahoo开发人员教程(Yahootutorial)说Combiner在partitioner之前运行。任何人都可以澄清哪个先运行。 最佳答案 MapReduce作业可能包含这些阶段中的一个或所有阶段map合并随机排序减少Partitioner适合第二阶段和第三阶段可以访

java - hadoop 中用于多个 double 值的自定义可写类

我正在尝试发出4个数值作为键。我为此编写了自定义可写Comparable类,但我坚持使用compare()方法stackoverflow站点中提到了几种解决方案。但这并没有解决我的问题。我的writableCoparable类是publicclassDimensionWritableimplementsWritableComparable{privatedoublekeyRow;privatedoublekeyCol;privatedoublevalRow;privatedoublevalCol;publicDimensionWritable(doublekeyRow,doubleke

java - 在 Oozie 中将参数从一个 Action 传递到另一个 Action

我有以下shell脚本:DATE=date+"%d%b%y"-d"-1days"如何将DATE传递给Java操作? 最佳答案 您可以捕获shell脚本的输出并将其传递给java操作。在shell脚本中,回显类似“dateVariable=${DATE}”的属性并在shell操作中添加捕获输出元素。这将使您可以从shell脚本捕获dateVariable。在java操作中,您可以将捕获的变量作为参数传递为${wf:actionData('shellAction')['dateVariable']}其中shellAction是shell

hadoop - 自定义 WritableCompare 将对象引用显示为输出

我是Hadoop和Java的新手,我觉得我缺少一些明显的东西。如果这意味着什么,我正在使用Hadoop1.0.3。我使用hadoop的目标是获取一堆文件并一次解析一个文件(而不是逐行解析)。每个文件都会产生多个键值,但其他行的上下文很重要。键和值是多值/复合的,所以我为键实现了WritableCompare,为值实现了Writable。因为每个文件的处理都需要一点CPU,所以我想保存映射器的输出,然后再运行多个reducer。对于复合键,我遵循了[http://stackoverflow.com/questions/12427090/hadoop-composite-key][1]问题

java - Hadoop M/R实现 “People You Might Know”友谊推荐

如何通过查看两个人有多少个共同的friend来建立一个友谊推荐系统,并使用mapreduce工作将他们推荐为friend?有点像facebook或linkedin所做的事情,显示推荐人员列表,并按共同friend的数量对其进行排名。 最佳答案 该解决方案来自我的博客,我在项目中使用了此代码。完整版,请参见https://www.dbtsai.com/blog/hadoop-mr-to-implement-people-you-might-know-friendship-recommendation/由于我不确定这是否是最佳解决方案,