零基础学习 Hadoop 该如何下手?
2个回答
展开全部
想学习Hadoop,可是苦于自己没有任何的基础,不知道该如何下手,也不知道自己能不能学会。其实零基础学习hadoop,没有想象的那么困难。现在我把自己的学习思路整理一下,希望对大家有帮助。
怎么才能学好Hadoop,进入云的世界,这里给几点建议:
1.打好你的Java基础,C我就不说了,那是基本功。
2.详细研究,理解一下现在大型网站包括Sina,腾讯网(门户),Weibo,天猫,京东(电商)的架构与实现,先从自己的角度去理解,然后去跟实际情况做比对,提升自己对数据和技术的敏感程度。在这个阶段,如果能分门别类的规划出不同类型网站的需求和使用的特定方向的技术,对“云”和“大数据”的理解就更加透彻而非表层停留。
3.科班的同学,在学校的以基础为根基,在公司的以业务为导向,这样的技术才不盲目,这样的技术才脚踏实地。对很多人来说,技术都不是一生的职业导向,那么,提升自己的眼界,站在更高的角度思考问题就显得尤为重要,从自己,到团队,公司,再到整个业界,眼界宽广了,技术也就是你的左膀右臂。
Hadoop分为两个大块:HDFS和MapReduce。
HDFS - Hadoop Distributed FileSystem。这个概念很好,但是其实我不觉得很实用。但是如果你之后要往Non SQL方面深入的话这个还是很重要,HDFS是HBASE的基础,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不难,Hadoop The Definitive Guide里面讲的很清楚,看书就好。
MapReduce -前面说最好看英文版,因为不管中文怎么翻译,Map,Reduce都是没办法像读英文那样容易理解的。这里面有个YARN的概念,是最最最重要的。MapReduce是管数据怎么流动的,YARN是管集群中的资源怎么分配的。除了YARN以外,MapReduce还有几个很重要的概念,比如Partition, combine, shuffle, sort,都在书里很小的位置,但是都对理解整个MapReduce非常有帮助。
关于Hadoop的使用方式:
感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。
第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。
另一种是只使用MapReduce类型。毕竟现在是Cloud时代,比如AWS的Elastic MapReduce。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就关掉。不用自己做Admin的工作,方便简洁。
所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间,可以在这上面学习。最重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。
我直接是白手起家搞hadoop的,没有看权威指南,不懂就google之。我开始也没研究源代码,我先研究Hadoop是怎么跑起来的,怎么工作的。然后过了一段时间,我去看《Hadoop权威指南》,和实践相印证,上手很快。Hadoop这个课题太大,人家花了几年时间研究出来的,你想搞个毕设就想剖析清楚,这个有点不现实。
我的建议是,只研究hadoop的一到两个模块就行了。在这几个中间选一两个研究就可以了。
目前炒的很热,可以说是“如日中天”,好像不会Hadoop、不知道MapReduce就不是搞大规模数据处理似的;貌似数据库的一些人不喜欢Hadoop。
随着互联网或者数据库数据量的不断增大,分布式真的可以替代数据中心吗?这个值得考虑,毕竟框架是Google提出来的,提出时势必会考虑google自身的技术和经济能力,试问当下有几个公司有google的实力?
有人说过(具体名字忘了),在中国,云计算就是忽悠,是炒作;也有人说,云计算是必然的发展趋势,毕竟好多公司都在这么玩。在Copy to China的年代,云计算到底是什么,好像很难说清楚吧?
结论:当下很火,找工作绝对不成问题,看这种形式,似乎也是未来发展的方向;但是这种行业预测的问题,大佬们都经常犯错,我们没到那个级别,还跟着瞎预测啥啊,好好练好内功,这才是关键。
怎么才能学好Hadoop,进入云的世界,这里给几点建议:
1.打好你的Java基础,C我就不说了,那是基本功。
2.详细研究,理解一下现在大型网站包括Sina,腾讯网(门户),Weibo,天猫,京东(电商)的架构与实现,先从自己的角度去理解,然后去跟实际情况做比对,提升自己对数据和技术的敏感程度。在这个阶段,如果能分门别类的规划出不同类型网站的需求和使用的特定方向的技术,对“云”和“大数据”的理解就更加透彻而非表层停留。
3.科班的同学,在学校的以基础为根基,在公司的以业务为导向,这样的技术才不盲目,这样的技术才脚踏实地。对很多人来说,技术都不是一生的职业导向,那么,提升自己的眼界,站在更高的角度思考问题就显得尤为重要,从自己,到团队,公司,再到整个业界,眼界宽广了,技术也就是你的左膀右臂。
Hadoop分为两个大块:HDFS和MapReduce。
HDFS - Hadoop Distributed FileSystem。这个概念很好,但是其实我不觉得很实用。但是如果你之后要往Non SQL方面深入的话这个还是很重要,HDFS是HBASE的基础,Hbase又可以延伸到Big Table,DynamoDB,Mango等。HDFS概念不难,Hadoop The Definitive Guide里面讲的很清楚,看书就好。
MapReduce -前面说最好看英文版,因为不管中文怎么翻译,Map,Reduce都是没办法像读英文那样容易理解的。这里面有个YARN的概念,是最最最重要的。MapReduce是管数据怎么流动的,YARN是管集群中的资源怎么分配的。除了YARN以外,MapReduce还有几个很重要的概念,比如Partition, combine, shuffle, sort,都在书里很小的位置,但是都对理解整个MapReduce非常有帮助。
关于Hadoop的使用方式:
感觉现在各个公司使用Hadoop的方式都不一样,主要我觉得有两种吧。
第一种是long running cluster形式,比如Yahoo,不要小看这个好像已经没什么存在感的公司,Yahoo可是Hadoop的元老之一。这种就是建立一个Data Center,然后有几个上千Node的Hadoop Cluster一直在运行。比较早期进入Big Data领域的公司一般都在使用或者使用过这种方式。
另一种是只使用MapReduce类型。毕竟现在是Cloud时代,比如AWS的Elastic MapReduce。这种是把数据存在别的更便宜的地方,比如s3,自己的data center, sql database等等,需要分析数据的时候开启一个Hadoop Cluster,Hive/Pig/Spark/Presto/Java分析完了就关掉。不用自己做Admin的工作,方便简洁。
所以个人如果要学Hadoop的话我也建议第二种,AWS有免费试用时间,可以在这上面学习。最重要的是你可以尝试各种不同的配置对于任务的影响,比如不同的版本,不同的container size,memory大小等等,这对于学习Spark非常有帮助。
我直接是白手起家搞hadoop的,没有看权威指南,不懂就google之。我开始也没研究源代码,我先研究Hadoop是怎么跑起来的,怎么工作的。然后过了一段时间,我去看《Hadoop权威指南》,和实践相印证,上手很快。Hadoop这个课题太大,人家花了几年时间研究出来的,你想搞个毕设就想剖析清楚,这个有点不现实。
我的建议是,只研究hadoop的一到两个模块就行了。在这几个中间选一两个研究就可以了。
目前炒的很热,可以说是“如日中天”,好像不会Hadoop、不知道MapReduce就不是搞大规模数据处理似的;貌似数据库的一些人不喜欢Hadoop。
随着互联网或者数据库数据量的不断增大,分布式真的可以替代数据中心吗?这个值得考虑,毕竟框架是Google提出来的,提出时势必会考虑google自身的技术和经济能力,试问当下有几个公司有google的实力?
有人说过(具体名字忘了),在中国,云计算就是忽悠,是炒作;也有人说,云计算是必然的发展趋势,毕竟好多公司都在这么玩。在Copy to China的年代,云计算到底是什么,好像很难说清楚吧?
结论:当下很火,找工作绝对不成问题,看这种形式,似乎也是未来发展的方向;但是这种行业预测的问题,大佬们都经常犯错,我们没到那个级别,还跟着瞎预测啥啊,好好练好内功,这才是关键。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询