草庐IT

Using-Elastic-Map-Reduce-via-Comm

全部标签

hadoop - 使用 HBASE MAP REDUCE API 将数据加载到 Hbase 表中

我对Hbase和MapReduceAPI很陌生。我对MapReduce概念很困惑。我需要使用MAPReduceAPI将文本文件加载到Hbase表中。我用谷歌搜索了一些示例,但在那里我可以找到MAPPER()而不是reducer方法。我对什么时候使用mapper以及什么时候使用Reducer()感到困惑。我的想法是这样的:我们使用映射器将数据写入Hbase从中读取数据HBASE我们使用mapper和reducer()。请任何人清除我详细解释。我正在尝试将数据从文本文件加载到HBASE表。我用谷歌搜索并尝试了一些代码,但我不知道如何加载文本文件并在HBASEmapreduceAPI中读取。

r - Amazon Elastic MapReduce 上的 R 映射器脚本故障排除 - 结果不符合预期

我正在尝试使用AmazonElasticMapReduce运行数百万个案例的一系列模拟。这是一个没有reducer的Rscript流作业。我在我的EMR调用--reducerorg.apache.hadoop.mapred.lib.IdentityReducer中使用IdentityReducer。脚本文件在手动传递一行字符串时从Linux机器上的命令行本地测试和运行时工作正常echo"1,2443,2442,1,5"|./mapper.R然后我得到了我期望的一行结果。但是,当我使用EMR上的输入文件中的大约10,000个案例(行)测试我的模拟时,在10,000个输入行中,我只得到了十

hadoop - Map Reduce 插槽定义

我即将成为一名ClouderaHadoop管理员。从一开始,我就听到很多关于Hadoop集群中每台机器计算槽的信息,比如定义MapSlot和Reduce槽的数量。我在互联网上搜索了一个日志时间来获取MapReduceSlot的新手定义,但没有找到。浏览PDF解释MapReduce配置时,我真的很生气。当涉及到集群机器中的计算插槽时,请解释它的确切含义。 最佳答案 在map-reducev.1中,mapreduce.tasktracker.map.tasks.maximum和mapreduce.tasktracker.reduce.t

Hadoop 似乎在对给定 reduce 调用的值进行迭代期间修改了我的关键对象

Hadoop版本:0.20.2(在AmazonEMR上)问题:我有一个在映射阶段编写的自定义key,我在下面添加了它。在reduce调用期间,我对给定键的值进行了一些简单的聚合。我面临的问题是,在reduce调用的值迭代期间,我的key发生了变化,我得到了那个新key的值。我的key类型:classMyKeyimplementsWritableComparable,Serializable{privateMyEnumtype;//MyEnumisasimpleenumeration.privateTreeMapsubKeys;MyKey(){}//forhadooppublicMyKe

hadoop - 为什么 map 和 reduce 同时运行?

我是Hadoop的新手。我记得我从某个地方了解到,在Hadoop中,所有map函数都必须在reduce函数开始之前完成。但是当我运行这样的mapreduce程序时,我只是得到了打印输出:map(15%),reduce(5%)map(20%),reduce(7%)map(30%),reduce(10%)map(38%),reduce(17%)map(40%),reduce(25%)为什么它们并行运行? 最佳答案 在真正的Reduce阶段开始之前,Shuffle、Sort和Merge在Mappers不断完成时发生。这个百分比表明了这一点

hadoop - 组合器在哪里组合映射器输出 - 在 Map 阶段或 Map-reduce 作业中的 reduce 阶段?

我的印象是,组合器就像作用于本地map任务的reducer,即它聚合单个Map任务的结果,以减少输出传输的网络带宽。通过阅读Hadoop-Thedefinitiveguide3rdedition,我的理解似乎是正确的。来自第2章(第34页)组合器函数许多MapReduce作业受到集群上可用带宽的限制,因此尽量减少map和reduce任务之间传输的数据是值得的。Hadoop允许用户指定要在map输出上运行的组合器函数——组合器函数的输出构成reduce函数的输入。由于combiner函数是一种优化,Hadoop不保证为特定映射输出记录调用它的次数(如果有的话)。换句话说,零次、一次或多次

Hadoop - 在xml中增加 map task 不会在运行时增加 map task

我在conf/mapred-site.xml中添加了以下内容mapred.tasktracker.map.tasks.maximum4mapred.tasktracker.reduce.tasks.maximum1但是当我运行该作业时,它仍然运行2个map(这是默认的)?我怎样才能强制这个数字增加?附言我正在使用Ubuntu四核box谢谢 最佳答案 您是否正在处理少量数据?可能是您的MapReduce作业仅在一个输入拆分上运行,因此不需要更多映射器。尝试在数百MB的数据上运行您的作业,看看您是否仍然遇到同样的问题。单个节点上能够运行

hadoop - 如何在多核8节点集群中调度Hadoop Map任务?

我有一个“仅映射”(无缩减阶段)程序。输入文件的大小足以创建7个maptask,我已经通过查看生成的输出(part-000到part006)验证了这一点。现在,我的集群有8个节点,每个节点有8个内核和8GB内存,共享文件系统托管在头节点上。我的问题是,我可以选择仅在1个节点中运行所有7个映射任务,还是在7个不同的从属节点中运行7个映射任务(每个节点1个任务)。如果我可以这样做,那么我的代码和配置文件需要做哪些更改。我尝试仅在我的代码中将参数“mapred.tasktracker.map.tasks.maximum”设置为1和7,但我没有发现任何明显的时间差异。在我的配置文件中它设置为1

hadoop - 使用 Pig/Hive 进行数据处理而不是直接使用 java map reduce 代码?

(比DifferencebetweenPigandHive?Whyhaveboth?更基础)我有一个数据处理管道,用Hadoop上的多个Javamap-reduce任务编写(我自己的自定义代码,源自Hadoop的Mapper和Reducer)。它是一系列基本操作,例如连接、反转、排序和分组依据。我的代码涉及并且不是很通用。继续这种公认的开发密集型方法与使用多个UDF将所有内容迁移到Pig/Hive的优缺点是什么?哪些工作我不能执行?我会遭受性能下降(使用100sTB)吗?维护时我会失去调整和调试代码的能力吗?我能否将部分作业作为Javamap-reduce进行流水线处理,并将它们的输入

map - 解释什么是 Hadoop 和 Map/Reduce 的最简单方法是什么?

从高层次的角度解释NoSQL非常容易——它基本上是“键值”存储。当然有成千上万的次要和重要的东西,但一般来说它只是键值存储。解释Hadoop和Map/Reduce的最佳方式是什么?可能是一些“真实世界”的例子,即使是新手也可以很容易地进行比较?谢谢! 最佳答案 我最近找到了thisgreatarticle描述MapReduce:I’vebeenplanningonwritingabouttheGoogle’sMapReducealgorithmforsometimebutIcouldn’tfindagoodpracticalexam