mapreduce
stevie
坚持自己的梦想。。。
展开
-
google三宝之MapReduce
江湖传说永流传:谷歌技术有"三宝",GFS、MapReduce和大表(BigTable)!谷歌在03到06年间连续发表了三篇很有影响力的文章,分别是03年SOSP的GFS,04年OSDI的MapReduce,和06年OSDI的BigTable。SOSP和OSDI都是操作系统领域的顶级会议,在计算机学会推荐会议里属于A类。SOSP在单数年举办,而OSDI在双数年举办。那么这篇博客就来转载 2013-03-29 20:52:05 · 1192 阅读 · 0 评论 -
MapReduce优化----宏观hadoop
Google提出了一个令人兴奋的架构。MapReduce把任务分解成小任务,这些小任务可以在普通PC集群上并行执行。这种架构的一种开源实现是yahoo!的hadoop。目前国内在用此架构的公司为百度,淘宝,腾讯等,国外Amazon,Facebook,New York Times等已在使用。 目前,很多internet服务都具有上百万的用户。这些服务产生海量的数据,如何针对海量数据进行分析转载 2014-03-25 11:50:57 · 1158 阅读 · 0 评论 -
MapReduce优化----参数的解释以及设置
map阶段优化参数:io.sort.mb(default 100)当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。而是会利用到了内存buffer来进行已经产生的部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。每一个map都会对应存在一个内存buffer,map会将已经产生的部分结果先写入到该buffer中,转载 2014-03-25 11:50:01 · 3384 阅读 · 0 评论 -
mapreduce的全排序问题
关于全排序的问题 Tom White的书中提出的数据取样方法 ,最近学习了一下,下面做个比较,以防后患!! 主要思想就是在要排序的所有数据中随机取出一定量的数据,这些数据取自三个部分,1. 选取总得数据 ( 键值对 ) 数目2. 选取的 split 数目3. 每个 split 选取的键值对数目(只要达到总得键值对数目马上停止采集) 接下来对整个选取得键值对进行全转载 2013-11-03 13:34:07 · 953 阅读 · 0 评论 -
MapReduce优化----基本参数的设定
基本参数要对你的MapReduce Task进行优化,首先我们需要了解一些基本的参数:dfs.block.size, dfs.blocksize: 默认的HDFS文件系统的block大小,单位为byte。mapred.compress.map.output: map的输出是否压缩mapred.map/reduce.tasks.speculative.execution: 推测执转载 2014-03-25 11:36:15 · 2617 阅读 · 0 评论 -
MapReduce优化----map和reduce的槽数的设定
1、修改mapreduce中map和reduce的槽数 因为hadoop 的集群所有机器不可能完全硬件配置一样,那么不同节点机器负载也不一样,不同节点上并发的最大map和reduce数量也不一样。可以先试验下将每台tasktracker的map槽数调整到合适的数量,使得其能执行最大map数量。在对应节点机器上修改mapred-site.xml文件,添加如下参数:默认参数为2:在转载 2014-03-25 11:38:47 · 2933 阅读 · 0 评论 -
MapReduce优化----几个优化
Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。 在医学领域转载 2014-03-25 11:53:54 · 2658 阅读 · 0 评论 -
MapReduce优化----几点根本设置
在编写MapReduce应用程序时,除了最基本的Map模块、Reduce模块和驱动方法之外,用户还可以通过一些技巧优化作业以提高其性能。对用户来说,合理地在MapReduce作业中对程序进行优化,可以极大地提高作业的性能,减少作业执行时间。我们从以下几个方法分析MapReduce作业的优化方法。更多Hadoop相关信息见 http://www.linuxidc.com/search.a转载 2014-03-25 11:48:25 · 1488 阅读 · 0 评论 -
MapReduce优化----hadoop的管道思想
摘要:在Hadoop系统的实现中,Map端的输出数据首先被溢写入本地磁盘,当本机任务完成后通知JobTracker,然后Reduce端在得到 JobTracker的通知后会发出HTTP请求,利用复制的方式从相应的Map端拉回其1 Hadoop管道改进思想在Hadoop系统的实现中,Map端的输出数据首先被溢写入本地磁盘,当本机任务完成后通知JobTracker,然后Reduce转载 2014-03-25 11:44:12 · 1886 阅读 · 0 评论 -
MapReduce优化----两点瓶颈
mapreduce程序效率的瓶颈在于两点: 1:计算机性能 2:I/O操作优化优化无非包括时间性能和空间性能两个方面,存在一下常见的优化策略: 1:输入的文件尽量采用大文件 众多的小文件会导致map数量众多,每个新的map任务都会造成一些性能的损失。所以可以将一些小文件在进行mapreduce操作前进行一些预处理,整合成大文件,或者直接采用Con转载 2014-03-25 11:45:20 · 2403 阅读 · 0 评论 -
MapReduce优化----优化方案着手点
Hadoop/MapReduce 优化方案从三个方面着手优化 :1. hadoop配置2. 设计mapred/job3. 代码级别.4. 改造hadoop一. conf/hadoop-site.xml配置.经验要求高, 特别需要结合实际情况.典型参数如复制因子,mapred.child.java.opts,mapred.tasktracker.map.t转载 2014-03-25 11:54:53 · 877 阅读 · 0 评论 -
MapReduce优化----6个基础知识
MapReduce任务的优化相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”。同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题。MapReduce计算模型的优化涉及了方方面面的内容,但是主要集中在两个方面:一是计算性能方面的优化;二是I/O操作方面的优化。这其中,又包含六个方面的内容。1. 任务转载 2014-03-25 11:52:07 · 2307 阅读 · 0 评论 -
MapReduce优化----Shuffle过程剖析及性能优化
Shuffle过程剖析及性能优化MapReduce确保每个reducer的输入都按键排序。Shuffle:系统执行排序的过程—将map输出作为输入传给reducer(如图1、图2)。 图1 图2如图1、图2所示,从map输出到reduce输入就是shuffle阶段。但实际执行过程远比上图所示复杂。Shuffle 是指从Map 产生输出开始,包括系统执行排序以及传送M转载 2014-03-25 11:38:03 · 3691 阅读 · 0 评论 -
HDFS 读写流程
HDFS简介HDFS全称是Hadoop Distributed System。HDFS是为以流的方式存取大文件而设计的。适用于几百MB,GB以及TB,并写一次读多次的场合。而对于低延时数据访问、大量小文件、同时写和任意的文件修改,则并不是十分适合。目前HDFS支持的使用接口除了Java的还有,Thrift、C、FUSE、WebDAV、HTTP等。HDFS是以block-sized chun转载 2013-04-17 17:20:37 · 2146 阅读 · 0 评论 -
MapReduce实例分析
0.MaxValue:要求输出cite75_99.txt中最大的CITED值:要点: 1.Mapper只输出它所处理的数据中的最大值。(重写cleanup()函数) 2.设置Reducer数目为一个 -D mapred.reduce.tasks=1,同时也只输出所处理的最大值。(重写cleanup()函数) 3.cleanup()函数:在任务结束时执行一次。详见A转载 2013-04-17 09:09:13 · 1338 阅读 · 0 评论 -
MapReduce,组合式,迭代式,链式
前面介绍一些怎样用户类制定自己的类,来达到减少中间数据:http://www.cnblogs.com/liqizhou/archive/2012/05/14/2499498.html1.迭代式mapreduce 一些复杂的任务难以用一次mapreduce处理完成,需要多次mapreduce才能完成任务,例如Pagrank,Kmeans算法都需要多次的迭代,关于mapreduce迭代在转载 2013-04-17 17:31:19 · 896 阅读 · 0 评论 -
两个mapreduce程序实现不同的功能 而mapreduce1的输出将要作为mapreduce2的输入
example:JobConf conf1 = new JobConf(YourClass.class);//set configurations...//set inputformatconf1.setInputFormat(SomeInputFormatExtendsFromInputFormat.class)conf1.setOutputFormat(SomeOutp原创 2013-04-17 17:37:47 · 1660 阅读 · 0 评论 -
hadoop 一个Job多个MAP与REDUCE的执行
在hadoop 中一个Job中可以按顺序运行多个mapper对数据进行前期的处理,再进行reduce,经reduce后的结果可经个经多个按顺序执行的mapper进行后期的处理,这样的Job是不会保存中间结果的,并大大减少了I/O操作。例如:在一个Job中,按顺序执行 MAP1->MAP2->REDUCE->MAP3->MAP4 在这种链式结构中,要将MAP2与REDUCE看成这个MAPREDU转载 2013-04-17 17:29:39 · 1834 阅读 · 0 评论 -
MapReduce:详解Shuffle过程
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里转载 2013-04-17 17:08:53 · 1197 阅读 · 0 评论 -
hadoop,用户制定类
mapreduce是一个很精巧的构思和设计,对于很多计算问题,程序员通常可以使用默认设置取处理诸多底层的细节,但是,这并不意味着在解决复杂问题时,程序员就可以完全使用这二个函数就可以搞定一切,它还需要更加复杂和灵活的处理机制以及高级的编程技术和方法。本节介绍hadoop中mapreduce比较高级的方法---用户制定类。为什么要用户自定义类,一种直观的猜测就是基本的mapreduce处理不了或者处转载 2013-05-03 09:08:36 · 841 阅读 · 0 评论 -
HBase MapReduce实例分析
引言跟Hadoop的无缝集成使得使用MapReduce对HBase的数据进行分布式计算非常方便,本文将以前面的blog示例,介绍HBase下MapReduce开发要点。很好理解本文前提是你对Hadoop MapReduce有一定的了解,如果你是初次接触Hadoop MapReduce编程,可以参考http://qa.taobao.com/?p=10523 这篇文章来建立基本概念。HBase转载 2013-07-05 14:21:37 · 1260 阅读 · 0 评论 -
hadoop的mapreduce作业中经常出现Java heap space解决方案
常常被一些用户问到,说“为什么我的mapreduce作业总是运行到某个阶段就报出如下错误,然后失败呢?以前同一个作业没出现过的呀?” 10/01/10 12:48:01 INFO mapred.JobClient: Task Id : attempt_201001061331_0002_m_000027_0, Status : FAILED java.lang.OutOfMemoryErr原创 2013-08-27 17:51:23 · 3658 阅读 · 1 评论 -
HBase MapReduce实例分析之三
跟Hadoop的无缝集成使得使用MapReduce对HBase的数据进行分布式计算非常方便,本文将介绍HBase下 MapReduce开发要点。很好理解本文前提是你对Hadoop MapReduce有一定的了解,如果你是初次接触Hadoop MapReduce编程,可以参考 "第一个MapReduce应用" 这篇文章来建立基本概念。一、Java代码package hbase;转载 2013-09-09 15:50:53 · 2325 阅读 · 0 评论 -
hbase MapReduce程序样例入门
1、先看一个标准的hbase作为数据读取源和输出源的样例:View Code JAVA12345678Configuration conf = HBaseConfiguration.create();Job job = new Job(conf, "job name ");job.setJarByClass(test.转载 2013-09-09 15:54:40 · 1172 阅读 · 0 评论 -
hbase MapReduce程序样例入门
1、先看一个标准的hbase作为数据读取源和输出源的样例:View Code JAVA12345678Configuration conf = HBaseConfiguration.create();Job job = new Job(conf, "job name ");job.setJarByClass(test.class);Sc翻译 2014-03-26 09:49:54 · 767 阅读 · 0 评论
分享