MapReduce
文章平均质量分 89
tianbwin2995
这个作者很懒,什么都没留下…
展开
-
【3-1】MapReduce原理
MapReduce是分布式计算编程模型。【就是每个人的业务都可用】。只要我实现具体的业务逻辑即可,底层的细节不需要我关心。Google在2004年提出了这种模型,非常简单即可实现分布式计算模型。面试题:我有一个1G的文件,有许多数,用空格分隔,机器的内存只有1M 我怎样将这样的数据计算出来?方法:我把文件切分成1024分,每份1M,每次先把1M放在内存里,然后把计算结果放在磁盘,然原创 2016-01-25 09:23:09 · 427 阅读 · 0 评论 -
用Hadoop Streaming来写wordcount
Hadoop streaming里的key和value格式不一样,实际上虽然也是以K1,V1输入输出的,但是是以line的格式输出的。因此中间经过partition过后的K2,V2S的那个iterable的函数格式貌似是没有的!比如,我想写一个wordcount在Python中,标准输入输出格式是:import sysfor line in sys.stdin:每一行是一个输入,然后进入之后的K原创 2016-06-15 17:13:05 · 1173 阅读 · 0 评论 -
Hadoop Streaming 实战: 实用Partitioner类KeyFieldBasedPartitioner
我们知道,一个典型的Map-Reduce过程包括:Input->Map->Patition->Reduce->Output。Pation负责把Map任务输出的中间结果按key分发给不同的Reduce任务进行处理。Hadoop 提供了一个非常实用的partitioner类KeyFieldBasedPartitioner,通过配置相应的参数就可以使用。通过KeyFieldBasedPartitioner转载 2016-06-15 17:30:52 · 2464 阅读 · 0 评论 -
reducer里aggregate函数的使用
1.streaming的作用Haoop支持用其他语言来编程,需要用到名为Streaming的通用API。Streaming主要用于编写简单,短小的MapReduce程序,可以通过脚本语言编程,开发更快捷,并充分利用非Java库。HadoopStreaming使用Unix中的流与程序交互,从stdin输入数据,从stdout输出数据。实际上可以用任何命令作为mapper和reducer。数据流示意如下转载 2016-06-15 17:21:38 · 926 阅读 · 0 评论 -
Hadoop Streaming框架使用(一)
http://www.cnblogs.com/luchen927/archive/2012/01/16/2323448.html Streaming简介 Streaming框架允许任何程序语言实现的程序在Hadoop MapReduce中使用,方便已有程序向Hadoop平台移植。因此可以说对于hadoop的扩展性意义重大,今天简单说一下。Streaming的原理是用Java实现一个包装用户程序的M转载 2016-06-13 10:33:13 · 341 阅读 · 0 评论 -
机器学习算法及其并行化讨论
http://www.thebigdata.cn/JiShuBoKe/13723.html弄懂算法的核心,才知道能否并行三、LDA和MapReduce——可扩展的基础是数据并行 因为MPI在可扩展性上的限制, 我们可以大致理解为什么Google的并行计算架构上没有实现经典的MPI。同时,我们自然的考虑Google里当时最有名的并行计算框架MapReduce。 MapReduce 的风格和MPI截转载 2016-06-28 11:02:22 · 6087 阅读 · 0 评论 -
MapReduce初级案例
1、数据去重 "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据去重。下面就进入这个实例的MapReduce程序设计。1.1 实例描述 对数据文件中的数据进行去重。数据文件中的每行都是一个数据。 样例输入如下所示: 1)file1: 2012-3-转载 2016-06-11 23:02:36 · 589 阅读 · 0 评论 -
分析MapReduce执行过程
转载:http://my.oschina.net/itblog/blog/275294分析MapReduce执行过程 MapReduce运行的时候,会通过Mapper运行的任务读取HDFS中的数据文件,然后调用自己的方法,处理数据,最后输出。Reducer任务会接收Mapper任务输出的数据,作为自己的输入数据,调用自己的方法,最后输出到HDFS的文件中。整个流程如图:转载 2016-06-11 20:47:46 · 416 阅读 · 0 评论 -
【3-5】mapreduce例子【未解决】
目的:统计某个手机号在某个时间段内产生多少流量。文件在一共11个字段,需要知道 时间【本例数据太少,基本全加】,手机号,流量上行,流量下行,其实就是三个字段。数据准备:把谁作为key,把谁作为value?【我要按照手机号分组的啊!类似Wordcount一样,hello 5次,Jerry 1次。我们可以把属性封装为一个对象里(类似c语言的结构体)。这是个封装的思想】因原创 2016-01-28 19:28:43 · 576 阅读 · 0 评论 -
【3-6】mapreduce执行过程【未完成,7弃】
首先client跟RM进行RPC通信,然后RM给你返回jobID,和存储jar包的路径。client根据这个路径进行一个拼接,拼接之后将jar包写入HDFS,写10份。之后client将任务的描述信息(jobID,jar包存放位置,配置信息)给RM,RM把这些放在调度器里。然后NM开始领任务,然后下载jar包,然后启动一些子进程来运行mapreduce,yarchild【音译】里面放置了一些m原创 2016-02-06 09:51:22 · 357 阅读 · 0 评论 -
【3-3】Wordcount代码编写
面试:mapreduce的执行流程是什么?等等。。打开eclipse,往那个项目里导入mapreduce相关的jar包,jar包的位置:等以后去了大公司,大家一起开发工作,jar包不能冲突,我们都使用maven,有个maven库,只要配置好home文件Q:mapreduce分两个阶段,我要用mapreduce这个编程模型,我怎么让他知道这个是mapreduce程序啊?要么实原创 2016-01-25 23:39:38 · 472 阅读 · 0 评论 -
【3-2】mapreduce执行流程
mapper和reducer输入和输出都是以(key,value)形式的Group,分组,按照key2来分组,然后将v2放在一个集合中,作为一个value如果我们想实现mapreduce模型,只需要重写map方法和reduce方法即可,适合各种业务。mapreduce执行过程:map任务:1.读取文件内容,一行内容解析成一个key,value【怎么做的?一会儿介绍】一个原创 2016-01-25 17:30:28 · 416 阅读 · 0 评论 -
python 实现Hadoop的partitioner和二次排序
我们知道,一个典型的Map-Reduce过程包 括:Input->Map->Patition->Reduce->Output。Pation负责把Map任务输出的中间结果 按key分发给不同的Reduce任务进行处理。Hadoop 提供了一个非常实用的partitioner类KeyFieldBasedPartitioner,通过配置相应的参数就可以使用。通过 KeyFieldBasedPartitio转载 2016-06-16 09:15:50 · 1025 阅读 · 0 评论