学习来源:http://www.aboutyun.com/thread-6179-1-1.html
http://blog.csdn.net/yuexianchang/article/details/52468291
http://www.cnblogs.com/xing901022/p/6195422.html
说明:由于参考资料大多是2013年以前的,所以有些说法也许并不成立,请读者选择性吸收。
如前所述,Hadoop是一个能够对大量数据进行分布式处理的软件框架,它是一种技术的实现,是云计算技术中重要的组成部分。
一、hadoop的用途和使用场景(http://www.aboutyun.com/thread-5726-1-1.html)
·大数据量存储:分布式存储
·日志处理: Hadoop擅长这个
·海量计算: 并行计算
·ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库
·使用HBase做数据分析: 用扩展性应对大量的写操作—Facebook构建了基于HBase的实时数据分析系统
·机器学习: 比如Apache Mahout项目
·搜索引擎:hadoop + lucene实现
·数据挖掘:目前比较流行的广告推荐
·大量地从文件中顺序读。HDFS对顺序读进行了优化,代价是对于随机的访问负载较高。
·数据支持一次写入,多次读取。对于已经形成的数据的更新不支持。
·数据不进行本地缓存(文件很大,且顺序读没有局部性)
·任何一台服务器都有可能失效,需要通过大量的数据复制使得性能不会受到大的影响。
·用户细分特征建模
·个性化广告推荐
·智能仪器推荐
·日志处理: Hadoop擅长这个
·海量计算: 并行计算
·ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库
·使用HBase做数据分析: 用扩展性应对大量的写操作—Facebook构建了基于HBase的实时数据分析系统
·机器学习: 比如Apache Mahout项目
·搜索引擎:hadoop + lucene实现
·数据挖掘:目前比较流行的广告推荐
·大量地从文件中顺序读。HDFS对顺序读进行了优化,代价是对于随机的访问负载较高。
·数据支持一次写入,多次读取。对于已经形成的数据的更新不支持。
·数据不进行本地缓存(文件很大,且顺序读没有局部性)
·任何一台服务器都有可能失效,需要通过大量的数据复制使得性能不会受到大的影响。
·用户细分特征建模
·个性化广告推荐
·智能仪器推荐
二、 新手学习路径
网络上的建议是:不要盲目的去搭建hadoop环境,先要熟悉了解hadoop基本知识及其所需要的知识例如java基础、linux环境、linux常用命令,它相关产品及其衍生产品,他们之间是什么关系如何工作,每个产品它们的特点是什么。
1. 了解hadoop一些基本知识。
(1) hadoop HDFS文件系统的特征
·存储极大数目的信息(terabytes or petabytes),将数据保存到大量的节点当中。支持很大单个文件。
·提供数据的高可靠性,单个或者多个节点不工作,对系统不会造成任何影响,数据仍然可用。
·提供对这些信息的快速访问,并提供可扩展的方式。
·通过简单加入更多服务器的方式就能够服务更多的客户端。
·HDFS是针对MapReduce设计的,使得数据尽可能根据其本地局部性进行访问与计算。
·存储极大数目的信息(terabytes or petabytes),将数据保存到大量的节点当中。支持很大单个文件。
·提供数据的高可靠性,单个或者多个节点不工作,对系统不会造成任何影响,数据仍然可用。
·提供对这些信息的快速访问,并提供可扩展的方式。
·通过简单加入更多服务器的方式就能够服务更多的客户端。
·HDFS是针对MapReduce设计的,使得数据尽可能根据其本地局部性进行访问与计算。
(2)MapReduce工作原理
2.hadoop部署方式为单机模式、伪分布式、完全分布式。对单机模式大家可以不用去关心和学习,在学习中建议搭建伪分布式,完全分布式是生产环境中使用,当大家把伪分布式部署完成后,必须对完全分布式有所了解,知道是如何工作的,也可以试着搭建hadoop的完全分布式。应该选择比较稳定的版本学习。
3.安装完成后,可针对hadoop shell命令做些基础的练习。
4.选择合适的书进行系统的学习。下面是网上推荐的资料:
·Hadoop权威指南(第2版)(http://www.aboutyun.com/thread-6000-1-1.html)
·hadoop相关文档下载(http://www.aboutyun.com/forum.php?mod=viewthread&tid=6160&highlight=hadoop)
·about云资源汇总V1.2(http://www.aboutyun.com/thread-5928-1-1.html)
·hadoop相关文档下载(http://www.aboutyun.com/forum.php?mod=viewthread&tid=6160&highlight=hadoop)
·about云资源汇总V1.2(http://www.aboutyun.com/thread-5928-1-1.html)
提醒:在学习hadoop开发的时候不要使用hadoop eclipse插件,这样会给你带来不必要的问题,可以在eclipse使用maven工具下载hadoop资源包,然后把写好mapreduce代码打包后传上自己的服务器,使用命令启动运行。
总结:今天对Hadoop有了初步的认识,并了解了新手的学习步骤(是否合理,边学边看吧)。