一.大数据领域的从业人员,应该牢牢把握2018年大数据这三个大的技术方向:
1、Hadoop大数据开发方向;
2、数据挖掘、数据分析和机器学习方向;
3、大数据运维和云计算方向。精通任何方向之一者,均会前(钱)途无量。
3个方向中,大数据开发是基础。以Hadoop开发工程师为例,Hadoop入门薪资已经达到了8K以上,工作1年可达到1.5W以上,具有2-3年工作经验的hadoop人才年薪可以达到30万—50万,一般需要大数据处理的公司基本上都是大公司,所以学习大数据专业也是进大公司的捷径!
很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系
大数据相关的职位主要是大数据开发工程师、大数据架构师、大数据分析工程师、大数据咨询顾问、大数据统计工程师、大数据运营经理、大数据挖掘与处理专员、大数据存储工程师等等。因此学好了大数据,不愁没就业,不愁没高薪。
大数据自学与根本学习的区别
很多人预见了大数据的发展潜力无穷,想学习大数据,但是由于不想辞职现有的工作或者不想花费巨额金钱报班学习,就选择了自学大数据,那么自学大数据可行么?与报班学习相比哪个更好?这两个方法各有利弊,但是哪个更好呢,我们来分析一下。
1、自学大数据
自学大数据可以自由分配时间,在时间上比较灵活自由,没有约束,可以正常上下班,当然也可以想刷剧就刷剧,想玩游戏就玩游戏,想睡懒觉就睡懒觉,这同时也是时间自由的弊端,毕竟人性的弱点没有几个人可以战胜,另外自学的资料可以从网上找,网上的学习资料、视频一抓一大把,但是真伪难辨,优劣堪忧,需要大家细心挑选,当然对于零基础自学的,可能也区分不出来优劣真伪。大数据在学习上有一定的难度,自学很容易陷入误区或者死胡同,没有人能够帮助你走出困境,更没有人带你进行项目实践,
你学到的大数据知识七零八碎,全是皮毛,根本不堪一击。到头来,除了浪费了时间,折磨了自己,其他一无所获。
2、报名大数据培训班学习大数据
报班学习线上大数据,学习时间都是利用下班,休息学习,保证你每天学习4小时以上。时间的保证是学好大数据的第一步,有很多同学和你一起并肩作战,互相竞争着,同时也互相合作着鼓励进行学习,而不是一个人孤军奋战。
并且有讲师带着你从基础知识开始学起,一步一步扎实的掌握大数据的系统知识,遇到问题可以随时随地问老师,还可以和同学互相讨论交流,让大数据学习在轻松的环境下进行。而且系统课里面都是有项目实战课,老师带你实践操作,积累经验,收获丰富
所以,学习大数据自学好?还是培训好?现在你明白差别在哪了吧,想要真正转行大数据行业真心建议报班学习,少走弯路,节省时间,没有什么比时间更宝贵了,学成出来后,你可以早点进入企业,从而更加加深自己的大数据能力
现在我们说下那大数据处置技术怎样学习呢?
首先我们要学习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的。