从小白到大数据技术专家的学习历程

那大数据处置技术怎样学习呢?首先我们要学习Java言语和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。#

  • Java:大家都知道Java的方向有JavaSE、JavaEE、JavaME,学习大数据要学习那个方向呢?
    只需求学习Java的标准版JavaSE就可以了,像Servlet、JSP、Tomcat、Struts、Spring、Hibernate,Mybatis都是JavaEE方向的技术在大数据技术里用到的并不多,只需求了解就可以了,当然Java怎样衔接数据库还是要知道的,像JDBC一定要掌握一下,有同窗说Hibernate或Mybites也能衔接数据库啊,爲何不学习一下,我这里不是说学这些不好,而是说学这些可以会用你很多时间,到最后义务中也不常用,我还没看到谁做大数据处置用到这两个东西的,当然你的肉体很充足的话,可以学学Hibernate或Mybites的原理,不要只学API,这样可以添加你对Java操作数据库的理解,由于这两个技术的中心就是Java的反射加上JDBC的各种运用。
  • Linux:由于大数据相关软件都是在Linux上运转的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的协助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运转环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。

好说完基础了,再说说还需求学习哪些大数据技术,可以按我写的顺序学下去。#

  • Hadoop:这是如今盛行的大数据处置平台几乎已经成爲大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据中止处置计算的,它有个特点就是不管多大的数据只需给它时间它就能把数据跑完,但是时间可以不是很快所以它叫数据的批处置。YARN是表现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运转了,这样就能更好的使用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了,让它直接跑在现有的hadoop yarn上面就可以了。其实把Hadoop的这些组件学明白你就能做大数据的处置了,只不过你如今还可以对"大数据"终究有多大还没有个太清楚的概念,听我的别纠结这个。等以后你义务了就会有很多场景遇到几十T/几百T大规模的数据,到时分你就不会觉得数据大真好,越大越有你头疼的。当然别怕处置这麼大规模的数据,由于这是你的价值所在,让那些个搞Javaee的php的html5的和DBA的羡慕去吧。

记住学到这里可以作爲你学大数据的一个节点。#

  • 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的。

会这些东西你就成爲一个专业的大数据开发工程师了,月薪2W都是小毛毛雨#

  • 后续提高 :当然还是有很有可以提高的地方,比如学习下python,可以用它来编写网络爬虫。这样我们就可以自己造数据了,网络上的各种数据你高兴都可以下载到你的集群上去处置。
    最后再学习下举荐、分类等算法的原理这样你能更好的与算法工程师打交通。这样你的公司就更离不开你了,大家都会对你喜欢的不要不要的。

 

 


你可能感兴趣的:(从小白到大数据技术专家的学习历程)