草庐IT

mapreduce_shuffle

全部标签

Hadoop mapreduce 运行非常缓慢

我正在使用一个4datanode/1namenodehadoop集群,版本1.1.2作为vms安装在xenserver中。我有一个1GB的文本文件并尝试进行字数统计。map花了2小时,reducer挂了。一个普通的perl脚本可以在10分钟内完成这项工作。看起来我的设置中缺少某些东西。即使是Kbs中的小文件也只需要很长时间。hadoop@master~]$hadoopjar/usr/share/hadoop/hadoop-examples-1.1.2.jarwordcounthugeout13/05/2910:45:09INFOinput.FileInputFormat:Totalin

java - MapReduce 中的函数组合

假设我们有2个文件f1和f2,它们的键值对表示数学意义上的函数。使用MapReduce找到它们的组合的最简单方法是什么?什么是最有效的方法?例如,给定:f1a->bx->ys->tf2b->ct->rf1.f2(compositionoff1andf2)wouldbea->cs->r 最佳答案 将f1反转为f1'同时对f1'和f2进行映射缩减。对于f2中的每个x->v2,以及对于f1'中的所有x->k1(如果有的话)),输出k1->v2。这仅在f1具有相当大的范围时才有效。如果太多的k1映射到同一个v1,那么对应的mapworker

visual-studio-2010 - 在 Visual Studio 中调试 MapReduce 程序

我正在使用Microsoft.Hadoop.MapReduceSDK构建Map/Reduce程序。它工作正常。但我无法弄清楚,如何调试Map和Reduce函数。 最佳答案 StreamingUnit类支持通过简单的进程内执行map-reduce组件来调试Map/Reduce程序。varoutput=StreamingUnit.Execute(string[]input);查看完整详情here. 关于visual-studio-2010-在VisualStudio中调试MapReduce程

hadoop - 如何从 Oozie 工作流将参数传递给 Hadoop ToolRunner(或任何 MapReduce Action)

从命令行,可以按如下方式将参数传递给ToolRunner:hadoopjarmyJar.jarcom.Main-Dprop1=prop1value-Dprop2=prop2value我想调用我的MapReduce作业作为来自Oozie的MapReduce操作的一部分。我尝试按如下方式在工作流中定义属性:param1HelloWorld编辑这就是我尝试从我的MapReduce作业中读取参数的方式:Jobjob=newJob();Configurationconf=job.getConfiguration();System.out.println(conf.get("param1"));但

hadoop - 有没有办法在命令行中查看 mapreduce/hadoop 配置属性?

有没有一种方法可以让我们从命令行看到hadoop配置属性,例如mapreduce.framework.name、io.sort.mb、mapred.compress.map.output等。?,类似于在hive中设置。 最佳答案 终于找到了查看属性的方法。搜索所有Apache类和Apache提供的类来为您提供配置属性。有几种方法可以得到它。1)hadooporg.apache.hadoop.mapred.JobConf--这给出了所有mapreduce作业的属性。它从mapred-site和mapred-defaults获取属性。它

java - hadoop hbase mapreduce 组合器

现在我正在编写一个Java程序,使用HadoopMapReduce将输出写入HBase。问题是关于Combiner类的。因为现在我的reduce类扩展了TableReducer,而不是Reducer。那么我的combiner类呢,它应该也扩展TableReducer,还是仍然扩展Reducer? 最佳答案 您的组合器类应该扩展TableReducer本身而不是Reducer。 关于java-hadoophbasemapreduce组合器,我们在StackOverflow上找到一个类似的问

java - Words Count 输出显示 mapred 而不是 mapreduce

我刚刚将我的Ubuntu13.10配置为在伪分布式模式下工作以进行mapreduce代码开发。我已经安装了hadoop0.20.2版本的hadoop。一切都运行良好,我也可以启动所有五个守护进程。在同一台机器上,我下载了eclipse并将所有基于hadoop的库添加到其中。我也可以直接从EclipseIDE运行我的map减少字数示例。唯一困扰我的是,当我运行字数统计示例时,它会在控制台中打印如下内容:13/09/2316:11:05WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...us

hadoop - 是否存在 Hadoop/Mapreduce 无法处理的业务逻辑?

我目前有五个表经常接收复制数据。PL/SQL用于根据复杂的业务逻辑转换、清理和聚合这些数据。然后将结果放入三个报告表中。我有兴趣为此使用MongoDB而不是关系数据库。为此,所有PL/SQL业务逻辑都必须翻译成另一种语言,例如Java。但是,有人向我建议Hadoop将是比MongoDB更好的替代方案。我现在正在学习Hadoop和Mapreduce,但我感觉Hadoop用于分析数据(从数据中得出统计值,即客户行为之间的相关性),而不是用于根据业务逻辑转换数据。为了用Hadoop替换原样系统,我假设所有PL/SQL业务逻辑都必须转换为mapreduce函数。这个假设不正确吗?无论我的个人情

java - 如何将一个 mapreduce 作业的输出作为另一个 mapreduce 作业的输入?

我是mapreduce和hadoop的新手。我阅读了mapreduce的示例和设计模式...好的,我们可以进入正题了。我们正在开发一种软​​件,可以监控系统并定期捕获它们的CPU使用情况,比如每5秒一次。我们绘制了一系列时间段内系统的使用情况图,比如过去12小时、上周等的CPU使用情况。为此我们使用了Oracle数据库。目前我们正计划迁移到hadoop。我们讨论并提出了如下的mapreduce设计:我们应该运行2个mapreduce作业第一份工作:为所有系统收集持久化数据并按系统ID对它们进行分组(归约)假设输出为,pc-1:[listofrecordedcpuuseges(ineve

java - 如何使用 Oozie 运行 MapReduce ToolRunner 作业?

我开发了一个使用ToolRunner的MapReduce应用程序。基于用户传递的参数和配置属性,应用程序以某种方式设置作业:选择特定的输入/输出格式,选择映射器和缩减器类等。此逻辑在run(我的主类中的String[]args)方法,它实现了Configured和Tool。Oozie支持MapReduce操作节点,但问题是我不能将它们用于我的自定义ToolRunner应用程序。MapReduce操作仅允许通过配置输入/输出格式、mapper/reducer类和键/值类来定义静态作业。我的应用程序基于更高级别的业务逻辑动态执行此操作。该操作应该能够执行类似于此命令行的操作:hadoopj