hadoop project 学习总结

标签: Hadoop | 发表时间:2012-03-10 19:52 | 作者:jrckkyy
出处:http://hi.baidu.com/jrckkyy

hadoop 项目源自于google的几篇论文

 

http://labs.google.com/papers/gfs.html
http://labs.google.com/papers/mapreduce.html
http://labs.google.com/papers/bigtable.html
http://labs.google.com/papers/chubby.html
http://labs.google.com/papers/sawzall.html

 

HDFS GFS
Map/Reduce
Hbase Bigtable
ZooKeeper Chubby
Pig Sawzall



hdfs 提供一个分布式存储,类似于磁盘阵列。基于一个假设:文件读取操作多,很少改,读文件时总是对一个文件整个顺序读取。

  1. 把文件切分成64M的块儿,分开存储,大文件有利于提高磁盘寻道的效率,一次查找大段的读取
  2. 最好的情况下每块儿都在不同的机器上,分散I/O
  3. 另外每块儿可以在多台机器上存多个副本,提高可靠性,单台机器坏掉依然可以从其他机器找到完整的文件


map/reduce 在hdfs之上提供一个分布式的计算环境。这个概念来自于函数式编程。其实限制是很大的

  1. 要求计算任务能够被拆分成互不相干的、相同的小任务
  2. 面向行数据的处理,要求输入数据格式统一
  3. 必须把文件先上传到hdfs

幸运的是合乎要求1的情况也挺多的,很多时候可以把一些看上去不太符合要求的任务转个弯拧过来;在有使用hadoop意愿的前提下,预先做些工作,要求2也比较容易实现;第三条严重制约与网络带宽

阅读全文
类别: Hadoop  查看评论

相关 [hadoop project 习总] 推荐:

hadoop project 学习总结

- - 学着站在巨人的肩膀上
hadoop 项目源自于google的几篇论文. hdfs 提供一个分布式存储,类似于磁盘阵列. 基于一个假设:文件读取操作多,很少改,读文件时总是对一个文件整个顺序读取. 把文件切分成64M的块儿,分开存储,大文件有利于提高磁盘寻道的效率,一次查找大段的读取. 最好的情况下每块儿都在不同的机器上,分散I/O.

Hadoop学习总结

- - 开源软件 - ITeye博客
  一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现存储,而MapReduce实现原理分析处理,这两部分是hadoop的核心.

Qt Project 上线

- ArmadilloCommander - LinuxTOY
还记得本站先前报道的 Qt 移至开放式管理么. 现在它的 Qt Project 网站正式上线了. 在发布报道中,为了表示 Qt 不再是 Nokia 的一言堂,特别指出了 QtCore 的维护者 Thiago 不是 Nokia 的雇员. Qt Project 主页. 收藏到 del.icio.us |.

GNU Mediagoblin Project启动

- aviot - Solidot
自由的图片共享项目GNU Mediagoblin于本月初正式启动,旨在解决现有图片共享服务如Flickr、DeviantArt、Picasa和Facebook没有很好解决的问题:诸如隐私、数据所有权,可靠性和软件自由. GNU Mediagoblin一开始是针对照片/艺术图,未来将扩大到所有媒体. GNU Mediagoblin的设想很简单:它没有采用需要注册的中心化服务,而是允许任何人搭建一个实例,然后在朋友之间共享媒体.

分布式计算Hadoop近期学习总结

- - ITeye博客
  一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算. Hadoop框架中最核心设计就是:HDFS和MapReduce,HDFS实现存储,而MapReduce实现原理分析处理,这两部分是hadoop的核心.

Chrome 广告视频:The Johnny Cash Project

- Howard - 谷奥——探寻谷歌的奥秘
这是一个新的the web is what you make of it系列Chrome广告,讲述了一群Johnny Cash粉丝利用互联网、YouTube和Google+纪念Johnny Cash的The Johnny Cash Project活动. 他们选择了一段Johnny Cash著名的音乐视频,每人用自己的画风制作一副图画,然后串联起来形成美妙的视频.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Hadoop使用(一)

- Pei - 博客园-首页原创精华区
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成. 其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上.

Hadoop MapReduce技巧

- - 简单文本
我在使用Hadoop编写MapReduce程序时,遇到了一些问题,通过在Google上查询资料,并结合自己对Hadoop的理解,逐一解决了这些问题. Hadoop对MapReduce中Key与Value的类型是有要求的,简单说来,这些类型必须支持Hadoop的序列化. 为了提高序列化的性能,Hadoop还为Java中常见的基本类型提供了相应地支持序列化的类型,如IntWritable,LongWritable,并为String类型提供了Text类型.