- 博客(15)
- 资源 (29)
- 收藏
- 关注
转载 log4j.properties详解
首先,在项目中的classes 中新建立一个log4j.properties文件即可; 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义。定义步骤就是对Logger、Appender及Layout的分别使用。Log4j支持两种配置文件格式,一种是XML格式的文件,一种是java properties(key=value)【Java特性文件(键=值)】。(这里只说明pr
2013-04-23 16:58:15 781
转载 Hadoop源代码分析【IO专题-序列化机制】
1. 基本概念 序列化可被定义为将对象的状态存储到存储媒介中的过程。在此过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确复本。当在面向对象的环境中实现序列化机制时,您需要在简化使用和保持灵活性之间进行许多权衡。只要您对该过程具有充分的控制,就可以在很大程度上自动化该过程。例如,在简单二进制序列化
2013-04-13 16:42:41 1018
转载 Hadoop如何实现自定义的Writable
Hadoop自带一系列有用的Writable实现,可以满足绝大多数用途。但有时,我们需要编写自己的自定义实现。通过自定义Writable,我们能够完全控制二进制表示和排序顺序。Writable是MapReduce数据路径的核心,所以调整二进制表示对其性能有显著影响。现有的Hadoop Writable应用已得到很好的优化,但为了对付更复杂的结构,最好创建一个新的Writable类型,而不是使用已有
2013-04-13 16:21:17 2876
转载 MapReduce源码分析总结
参考: 1 caibinbupt的源代码分析http://caibinbupt.javaeye.com2 coderplay的avaeye http://coderplay.javaeye.com/blog/295097http://coderplay.javaeye.com/blog/318602 3 Javen-Studio 咖啡小屋http://www.cppblog
2013-04-12 15:03:59 947
转载 Hadoop中的各种排序
1:shuffle阶段的排序(部分排序)shuffle阶段的排序可以理解成两部分,一个是对spill进行分区时,由于一个分区包含多个key值,所以要对分区内的按照key进行排序,即key值相同的一串存放在一起,这样一个partition内按照key值整体有序了。第二部分并不是排序,而是进行merge,merge有两次,一次是map端将多个spill 按照分区和分区内的key进行me
2013-04-11 20:25:48 1101
转载 MapReduce优化
相信每个程序员在编程时都会问自己两个问题“我如何完成这个任务”,以及“怎么能让程序运行得更快”。同样,MapReduce计算模型的多次优化也是为了更好地解答这两个问题。MapReduce计算模型的优化涉及了方方面面的内容,但是主要集中在两个方面:一是计算性能方面的优化;二是I/O操作方面的优化。这其中,又包含六个方面的内容。1. 任务调度任务调度是Hadoop中非常重要的一
2013-04-11 19:33:48 5681
转载 MapReduce 模式、算法和用例
MapReduce 模式、算法和用例Ilya Katsov 在这篇文章中,我整合了一些MapReduce的模式和算法,以便于读者系统化地认识那些在互联网及科学文献中能够找到的不同技术。同时,我也提供了几个实用的案例学习。所有的描述及代码片段使用了标准Hadoop平台的MapReduce模型,包括:Mappers,Reduce,Combiners,Partitions和Sorting。下图
2013-04-09 16:51:23 3412
原创 setPartitionerClass、setOutputKeyComparatorClass 与 setOutputValueGroupingComparator
Partitioner这个类是用来决定map输出时,什么样的key输出到同一个reduce节点(调用setPartitionerClass方法),但不保证到同一个reduce节点的key会在同一个group(即不一定在reduce的同一个iter迭代里)。注:map端当输出buffer到达内存的一定比例时,将内存中的数据写到磁盘,此时会按key进行排序,然后才写入磁盘。由于Part
2013-04-09 15:38:57 1489
转载 mapreduce的shuffle,partition,combine
shuffle: 是描述着数据从map端传输到reduce端的过程,而且我们知道的是hadoop的集群环境中,大部分map task和reduce task是在不同的node上执行,主要的开销是网络开销和磁盘IO开销,因此shuffle的主要作用相当于是 1.完整的从map task端传输到reduce task端。 2.跨节点传输数据时,尽可能减少对带宽的消耗
2013-04-09 15:26:27 4602
转载 Mapreduce-Partition分析
转自:http://www.cnblogs.com/end/archive/2013/01/21/2870148.htmlPartition所处的位置Partition位置Partition主要作用就是将map的结果发送到相应的reduce。这就对partition有两个要求:1)均衡负载,尽量的将工作均匀的分配给不同的reduce。
2013-04-09 15:24:36 1725
转载 MapReduce中的Shuffle和Sort分析
MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。 MapReduce 框架的核心步骤主要分两部分:Map 和Reduce。当你向MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map 任
2013-04-09 13:45:06 7926 1
转载 hadoop核心逻辑shuffle代码分析-map端
首先要推荐一下:http://www.alidata.org/archives/1470阿里的大牛在上面的文章中比较详细的介绍了shuffle过程中mapper和reduce的每个过程,强烈推荐先读一下。 不过,上文没有写明一些实现的细节,比如:spill的过程,mapper生成文件的partition是怎么做的等等,相信有很多人跟我一样在看了上面的文章后还是有很多疑问,我
2013-04-09 13:20:24 4931 2
原创 Mapreduce程序出错解决办法
【错误1】描述 :java.io.IOException: Type mismatch in value from map: expected org.apache.hadoop.io.IntWritable, recieved org.apache.hadoop.io.Text分析:为什么呢?对于大多数的mapreduce程序而言,都是基于模板来写的,很少有人从一个空白来写出ma
2013-04-08 16:23:27 5152 2
转载 eclipse启动无响应,停留在Loading workbench状态
做开发的同学们或多或少的都会遇到eclipse启动到一定程度时,就进入灰色无响应状态再也不动了。启动画面始终停留在Loading workbench状态。反复重启,状态依旧。 多数情况下,应该是非正常关闭eclipse工作区的文件状态错误所导致的。 在工作区目录中,有一个.metadata目录,里面是工作区及各插件的信息,删除此目录,再重启eclipse,果
2013-04-07 09:56:36 13658 2
rpmbuild-demo工程
2015-01-21
Weka源代码详细分析系列
2012-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人