大数据初学者应该怎么学?
如今大数据发展得可谓是如日中天,各行各业对于大数据分析和大数据处理的需求也是与日俱增,越来越多的决策、建议、规划和报告,都要依靠大数据的支撑,学习大数据成了不少人提升或转行的机会。因此,入门大数据开始成为很多人的第一步,下面给大家讲讲,究竟大数据入门,首要掌握的知识点有哪些,如何一步一步进阶呢?
首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。楼主是JAVA毕业的,这无疑是极好的开头和奠基啊,可谓是赢在了起跑线上,接收和吸收大数据领域的知识会比一般人更加得心应手。
Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据。基础
Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。
好说完基础了,再说说还需要学习哪些大数据技术,可以按我写的顺序学下去。
Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。
记住学到这里可以作为你学大数据的一个节点。
Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。
Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。
Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。
Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。
Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。
Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。
Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。
Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。
2018-10-28 · 国内专业的大数据轻应用自助平台
Zookeeper 这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。
Mysql
我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。
Sqoop
这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。
Hive
这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。
Oozie
既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。
Hbase
这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。
Spark
它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。会这些东西你就成为一个专业的大数据开发工程师了,月薪2W都是小毛毛雨后续提高 :当然还是有很有可以提高的地方,比如学习下python,可以用它来编写网络爬虫。这样我们就可以自己造数据了,网络上的各种数据你高兴都可以下载到你的集群上去处理。最后再学习下推荐、分类等算法的原理这样你能更好的与算法工程师打交通。这样你的公司就更离不开你了,大家都会对你喜欢的不要不要的。
大数据大家一定都不陌生,现在这个词几乎是红遍了大江南北,不管是男女老幼几乎都听说过大数据。大数据作为一个火爆的行业,很多人都想从事这方面相关的工作,所以大家就开始加入了学习大数据的行列。
目前,市面上不仅是学习大数据的人数在增加,随之而来的是大数据培训机构数量的迅速上升。因为很多人认为这是一门难学的技术,只有经过培训才能够很好的学习到相关技术,最终完成就业的目的。其实,也并不都是这样的,学习大数据的方法有很多,只有找到适合自己的就能够达到目的。
那么,大数据初学者应该怎么学?
1、如果是零基础的初学者,对于大数据不是很了解,也没有任何基础的话,学习能力弱,自律性差的建议选择大数据培训学习更有效;
2、有一定的基础的学员,虽然对于大数据不是很了解,但有其它方面的编程开发经验,可以尝试去选择自学的方式去学习,如果后期感觉需要大数据培训的话再去报名学习;
3、就是要去了解大数据行业的相关工作都需要掌握哪些内容,然后根据了解的内容去选择需要学习的大数据课程。
大数据学习路线图:
学习一门课程,首先你对这门课程要有简单的了解,比如说要先学习这门课程的一些专业术语,学习一些入门的概念,知道这门课程是做什么的,主要学习的有那些知识。学习大数据开发也是一样,你要知道什么是大数据,一般大数据主要运用在那些领域。避免自己在对大数据一无所知的情况下就开始盲目学习。
学习大数据开发的第二个阶段:计算机编程语言的学习
对于零基础的学员来说,开始入门可能不是那么容易,需要学习大量的理论知识,阅读枯燥的教材。因为要掌握一门计算机编程语言,大家都知道计算机编程语言有很多,比如:R,C++,JAVA等等。
学习大数据开发的第三阶段:大数据相关课程的学习
经过一段时间的基础学习之后,我们对编程语言也已经基本掌握了,接下来就可以进行大数据部分的课程学习了。在这里大数据开发学习要特别提醒大家:行业真正大数据,82%主讲都是hadoop、spark生态体系、storm实时开发等课程。而所谓“大数据”机构85%基本讲的都是JAVA/PHP数据或数据库学习(大数据课程含量不超过15%),初学者请务必认清你要学的是不是真正大数据!
学习大数据开发的第四个阶段:项目实战阶段
实战训练可以帮助我们更好的理解所学的内容,同时对相关知识加强记忆。在以后的实际运用中,可以更快的上手,对于相关知识该怎么用也有了经验。
学会这四个阶段在也不用担心零基础学不好大数据了。再说了学习嘛,只要你用心肯定能学会的,只要你付出就一定会有回报的!
但是大数据的也不是谁都可以学的,零基础的最好是本科的学历,因为大数据需要的逻辑思维分析能力比较强,也涉及到一些大学的数学算法,所以学历要求会高些。
如果是有Java基础的哪就另当别论了,大数据技术的培训,基本都是以Java为基础铺垫的的,有一些Java基础的话,相对来说就容易一些了,如果是直接想学大数据开发的话,Linux基础要有一些,然后就是大数据相关组件的熟悉和使用,以及他们之间各个有什么作用,数据采集聚合传输处理,各个组件在什么位置,有什么作用等。