mapreduce
gao634209276
这个作者很懒,什么都没留下…
展开
-
序列化和反序列化
序列化和反序列化几乎是工程师们每天都要面对的事情,但是要精确掌握这两个概念并不容易:一方面,它们往往作为框架的一部分出现而湮没在框架之中;另一方面,它们会以其他更容易理解的概念出现,例如加密、持久化。然而,序列化和反序列化的选型却是系统设计或重构一个重要的环节,在分布式、大数据量系统设计里面更为显著。恰当的序列化协议不仅可以提高系统的通用性、强健性、安全性、优化系统性能,而且会让系统更加易于调试、转载 2016-05-25 23:36:02 · 225 阅读 · 0 评论 -
Hive SQL的编译过程
Hive SQL的编译过程 木叶丸 ·2014-02-12 17:30 Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。 在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力转载 2016-05-14 12:39:03 · 441 阅读 · 0 评论 -
Hadoop的InputFormats和OutputFormats
InputFormat InputFormat类用来产生InputSplit,并把它切分成record。 public interface InputFormat { InputSplit[] getSplits(JobConf job, int numSplits) throws IOException; RecordReader getRecordRead转载 2016-05-27 13:25:42 · 301 阅读 · 0 评论 -
MapReduce: 提高MapReduce性能的七点建议[译]
Cloudera提供给客户的服务内容之一就是调整和优化MapReduce job执行性能。MapReduce和HDFS组成一个复杂的分布式系统,并且它们运行着各式各样用户的代码,这样导致没有一个快速有效的规则来实现优化代码性能的目的。在我看来,调整cluster或job的运行更像一个医生对待病人一样,找出关键的“症状”,对于不同的症状有不同的诊断和处理方式。 在医学领域,没转载 2016-08-17 12:01:51 · 292 阅读 · 0 评论 -
MapReduce:详解Shuffle过程
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在转载 2016-08-17 12:04:23 · 235 阅读 · 0 评论 -
hadoop核心逻辑shuffle代码分析-map端
首先用一张图展示下map的流程: 在上图中,我们假设此次mapreduce有多个mapper和2个reducer,p0 p1分别代表该数据应该分配到哪个reducer端。我将mapper的过程大致分为5个过程。 1.prepare Input。 Mapreduce程序都需要指定输入文件,输入的格式有很多种,最常见的是保存在hdfs上的文本文件。在用户提转载 2016-08-17 12:06:29 · 256 阅读 · 0 评论