对于很多想学大数据开发的年轻人来说,很想知道,学hadoop需要什么基础?下面,就让千锋大数据培训的学员来告诉你,学习hadoop究竟需要什么基础?
学习hadoop所必须的三个基础技能:JAVA基础、Linux基础、虚拟机基础。接触过hadoop的人都知道,单独搭建hadoo里每个组建都需要运行环境、修改配置文件、测试等过程。如果仅仅是安装一下运行环境就行了,那你就大错特错了,几乎每个组件都是坑,这些坑几乎是不可能让初学者有一个愉快的学习过程的。
Hadoop虽然起源于国外,但国内发行版本也蛮多,但是都没有去解决环境搭建的问题。近期,有人发布了一款国产发行版DKHadoop,是大快搜索开源的发行版hadoop。这款hadoop版本终于解决了运行环境搭建繁琐的问题,它将开源社区里多种常用的组件包括:HDFS,Hbase,Storm,Spark,Flume,Kafka,Mahout,ES等都集成到一个平台里,只需简单的一键安装就能完成,需要调用的时候直接调用即可。
我们在千锋大数据培训期间,学习完Linux系统后,开始了Hadoop的相关学习,Hadoop是一个分布式系统框架,利用集群实现大数据的存储和计算。首先,大数据技术的实现基础是存储,HDFS分布式文件系统实现了大数据的存储,利用集群将大数据文件分块存储和备份,实现高可用,在学习HDFS之前,学习了如何搭建Hadoop集群环境,因为集群环境是实现HDFS的基础,集群环境搭建完成后,学习了通过JAVA实现HDFS操作,例如文件的上传和下载。
Hadoop包含两个部分:
1.Hadoop Distributed File System (Hadoop分布式文件系统)
HDFS具有高容错性,并且可以被部署在低价的硬件设备之上。HDFS很适合那些有大数据集的应用,并且提供了对数据读写的高吞吐率。HDFS是一个master/slave的结构,就通常的部署来说,在master上只运行一个Namenode,而在每一个slave上运行一个Datanode。
HDFS支持传统的层次文件组织结构,同现有的一些文件系统在操作上很类似,比如你可以创建和删除一个文件,把一个文件从一个目录移到另一个目录,重命名等等操作。Namenode管理着整个分布式文件系统,对文件系统的操作(如建立、删除文件和文件夹)都是通过Namenode来控制。
2、MapReduce的实现
MapReduce是Google 的一项重要技术,它是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。至少现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。
MapReduce的名字源于这个模型中的两项核心操作:Map和 Reduce。简单的说来,Map是把一组数据一对一的映射为另外的一组数据,其映射的规则由一个函数来指定,比如对[1, 2, 3, 4]进行乘2的映射就变成了[2, 4, 6, 8]。Reduce是对一组数据进行归约,这个归约的规则由一个函数指定,比如对[1, 2, 3, 4]进行求和的归约得到结果是10,而对它进行求积的归约结果是24。
总的来说,我们目前在千锋大数据培训需要学习更多的知识,我们正在极力提升自己的能力,期待新的学习!