草庐IT

reduced_bitmap

全部标签

hadoop - Map Reduce - 如何规划数据文件

我想使用AWSEMR查询我将写入S3的大型日志文件。我可以按照自己喜欢的方式设计文件。数据以10K条目/分钟的速率创建。日志由几十个数据点组成,我想收集很长一段时间(几年)的数据来比较趋势等。创建将存储在S3上并由AWSEMR集群查询的此类文件的最佳实践是什么?最佳文件大小是多少?我是否应该按小时创建单独的文件?命名文件的最佳方式是什么?我应该将它们放在每天/每小时的桶中还是都放在同一个桶中?处理一段时间后添加一些数据或更改我使用的数据结构等事情的最佳方法是什么?我应该压缩一些东西,例如通过在url中省略域名还是保留尽可能多的数据?是否有分区之类的概念(数据基于100个网站,因此我可以

hadoop - 按两个值分组的 Reducer

我有一个案例,其中Mapper发出属于一个子组的数据,并且该子组属于一个组。我需要将子组中的所有值相加,并为每个组找到该组的所有子组之间的最小值。所以,我有一个Mapper的输出,看起来像这样Group1group,subgroupId,valueGroup1,1,2Group1,1,3Group1,1,4Group1,2,1Group1,2,2Group1,3,1Group1,3,2Group1,3,5Group2group,subgroupId,valueGroup2,4,2Group2,4,3Group2,4,4Group2,5,1Group2,5,2Group2,6,1Grou

Hadoop Reduce 端究竟发生了什么?

我正在阅读“Hadoop:权威指南”,我有一些问题。第7章“MapReduce的工作原理”第201页,作者说在reduce端When[A]thein-memorybufferreachesathresholdsize(controlledbymapreduce.reduce.shuffle.merge.percent)or[B]reachesathresholdnumberofmapoutputs(mapreduce.reduce.merge.inmem.threshold),itismergedandspilledtodisk.我的问题(4个问题)是关于条件A和B的。在具有默认值配置

java - 既然可以在map()或reduce()中初始化参数,为什么还需要MapReduce中的setup()方法呢?

我是Hadoop和整个MapReduce范例的新手。我在网上搜索了很多有关覆盖Map类中的setup()方法以访问配置对象的信息。但从我读到的内容来看,似乎每次运行任务时都会调用setup()方法。那么为什么需要一个单独的方法来访问配置对象和初始化参数呢?为什么我们不能直接在map()或reduce()方法中做同样的事情?虽然这两种方法最终都会提供所需的输出,但在选择任何一种方法时是否会考虑性能因素?提前致谢。 最佳答案 回复:“似乎每次运行任务时都会调用setup()方法。”每当任务运行时,对应的Map或Reduce任务都会处理一

Hadoop - map-reduce 任务如何知道要处理文件的哪一部分?

我已经开始学习hadoop,目前我正在尝试处理结构不太好的日志文件-因为我通常用于M/R键的值通常位于文件(一次)。所以基本上我的映射函数将该值作为键,然后扫描文件的其余部分以聚合需要减少的值。因此,[假]日志可能如下所示:##log.1SOME-KEY2012-01-0110:00:011002012-01-0208:48:562502012-01-0311:01:56212....manymorerows##log.2A-DIFFERENT-KEY2012-01-0110:05:011112012-01-0216:46:202412012-01-0311:01:56287....m

Hadoop:如何将 Reduce 的输出收集到 Java HashMap 中

我正在使用Hadoop来计算单词之间的共现相似度。我有一个包含共现词对的文件,如下所示:abacbcbd我正在使用一种基于图的方法,该方法将单词视为节点,同时出现的单词在它们之间有一条边。我的算法需要计算所有节点的度数。我已经成功编写了一个Map-Reduce作业来计算输出以下内容的总度数:a2b3c2d1目前,输出被写回一个文件,但我想要的是将结果捕获到比方说java.util.HashMap中。然后,我想在另一个Reduce作业中使用这个HashMap来计算最终的相似度。这是我的问题:是否可以在内存中捕获reduce作业的结果(List、Map)。如果是,怎么办?这是最好的方法吗?

hadoop - 为 Amazon EMR 应用程序设置 Reducer 的数量

我正在尝试在AmazonEMR下运行wordcount示例。-1-首先,我使用以下命令创建集群:./elastic-mapreduce--create--name"MyTest"--alive这将创建一个具有单个实例的集群并返回一个jobID,假设为j-12NWUOKABCDEF-2-其次,我使用以下命令启Action业:./elastic-mapreduce--jobflowj-12NWUOKABCDEF--jars3n://mybucket/jar-files/wordcount.jar--main-classabc.WordCount--args3n://mybucket/输入数

java - hadoop 将 int 数组从 map 传递到 reducer 并作为输出

我正在学习如何使用hadoop并遇到了以下问题:我需要将一个int数组从map函数传递到reducer,然后作为输出。所以它看起来像这样:publicvoidmap(LongWritablekey,Textvalue,OutputCollectoroutput,Reporterreporter)throwsIOException{..snip..int[]output={0,0,1,1};//orsomethinglikeitoutput.collect(word,output);}andpublicstaticclassreduceextedsmapReduceBaseimpleme

java - 在 Map Reduce 中计算数据集的线性回归

假设我有如下输入:60,3.161,3.662,3.863,465,4.1预期输出如下:预期输出:y=-8.098+0.19x。我知道如何在java中执行此操作。但不知道这如何与mapreduce模型一起工作。任何人都可以提供有关此问题的想法或示例MapReduce代码吗?我会很感激的。这个简单的数学例子:RegressionFormula:RegressionEquation(y)=a+bxSlope(b)=(NΣXY-(ΣX)(ΣY))/(NΣX2-(ΣX)2)Intercept(a)=(ΣY-b(ΣX))/Nwherexandyarethevariables.b=Theslope

hadoop - 将大量 reducer 输出写入 HBase

我有一个HadoopMapReduce作业,其输出是一个row-id以及对该row-id的Put/Delete操作。由于问题的性质,输出量相当大。我们尝试了几种方法将这些数据取回HBase,但都失败了...表格reducer这是减慢速度的方式,因为它似乎必须对每一行进行一次完整的往返。由于我们的reducer步骤的键排序方式,row-id不太可能与reducer在同一节点上。完成批量加载这似乎需要很长时间(永远不会完成)并且没有真正说明原因。IO和CPU使用率都非常低。我是否漏掉了一些明显的东西? 最佳答案 我从你对自己的回答中看到