有java基础学hadoop 我学习Hadoop有一段时间了,但是一直都没有整理成博客,散漫的写了一些东西,现在开始有条例的整理一下我的hadoop学习之路
Hadoop是一个分布式的数据库,可以方便的解决大数据的的问题,由三个部分组成:MapReduce,HDFS,HBase。Hadoop最开始的想法是来自google公司,主要来自google发布的三篇论文03年的《The Google File System》和《MapReduce: Simplied Data Processing on Large Clusters》,还有08年的《BigTable: A Distributed Storage System for Structured Data》, 本来这些技术都是Google公司使用的技术,因为Google最为全国最大的搜索公司,每天都要面对海量的数据,同时还要快速的搜索出用户需要的结果。如果Google不出这三篇paper的话,估计这两项技术很难被其他的实现,外界的大牛可以实现这样的代码,但是不知道这样的方法真的可以用很廉价的商业电脑解决Big Data的问题,而不需要不断的花钱买大型的服务器。后来Google实现了这个算法,并且发表出来
BigTable: A Distributed Storage System for Structured Data》讲述的是分布式的结构化数据存储系统,用来处理海量数据
MapReduce是一种编程模型,主要是由Map和Reduce两个函数构成,最简单应用就是WordCount,我最开始学习Hadoop就是调试和运行这个程序。
对于Hadoop我现在只是熟悉WordCount的程度,主要包括,Map和Reduce函数的编写,还有Combiner函数,还有在map和Reduce函数发生之前的setup和之后的cleanup函数。还有自定义数据类型可以成为类似LongWritable这样的数据类型
还有Job的通用书写方式

对于编程的细节把握的不足,但是可以继续学习,这边文章是我在接触hadoop二年之后写下来的,现在我才发现自己对于这个Hadoop的架构非常的不熟悉,这个让我很惭愧
Hadoop框架的核心是HDFS和MapReduce,HDFS为海量的数据提供了存储,而MapReduce为海量的数据提供了计算。Hadoop这个名字不具有什么特别的意思,是Hadoop项目的创建者Doug Cutting根据他孩子给一个棕黄色的大象玩具起的名字而命名的,简单,容易发音,而且大象也代表着大数据。
HDFS分为DataNode和NameNode,在伪分布的情况下,DataNode和NameNode是同一台电脑,而在真实的Cluster中,只有一个NameNode,多个DataNode,现在最高是5000台电脑。现在阿里自己研发了一个类似的系统叫做飞天系统,逐渐代替Hadoop。由于HDFS中主要处理的是多次进行读的数据,所以HDFS易读不易写。
MapReduce里面有Jobtracker和Tasktracker,一个Jobtacker中可以有很多的Tasktracker.
现在有了很多Hadoop的开源子项目,这些项目都发了不错的paper。有Pig,Spark,Hive,Zookeeper,这些东西我会在之后的一段时间一个个的尝试,并且讲解
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/1038.html