五年经验的大数据大牛写下的基础心得!

现如今大数据行业如雨后春笋一般,苗头已起一发不可收拾。国内 IT 、通讯、行业招聘中,有 10% 都是和大数据相关,且比例还在上升。巨大的人才缺口直接导致各企业纷纷以高薪聘请大数据人才 

 

 

据最新发布的《大数据人才报告》显示,目前全国的大数据人才仅 46 万,未来 3 - 5 年内,大数据人才的缺口将高达 150 万,而在 BAT 企业招聘的职位里,60% 以上都在招大数据人才。

高薪的背后是人才的紧缺,有机构对一线城市 ,,国内科技领域热门职位薪酬范围、及跳槽涨幅进行了预测:大数据方向由于人才稀缺度较高,相同工作年限的情况下,大数据工程师的薪资普遍更高,待遇涨幅也会超过其他岗位。

随着大数据的爆发,中国 IT 业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。如果将 IT 人士统一比作一条船上的海员,大数据就是最大的浪潮,借浪潮之势而为之,可成功从 IT 程序员转型成为大数据专家。

好了,首先我们定义自己的角色,对自己有一个精准的认识。比如拿笔者来说,对自己的定位是:“我是一名计算机专业毕业的工程师,有一定的数学基础(特别是在微积分和线性代数方面),但数理统计和概率论部分不是我的强项。”另外最好别打肿脸充胖子,如果之前没什么经验,承认自己是菜鸟也没事,关键是找准自己的定位。

确定自己的定位后,我们需要对应到特定的大数据角色,以下是一些基本法则。

如果您具有良好的编程基础且深入了解计算机的交互方式以及互联网底层技术原理,但数学和统计学掌握得不深,那么大数据工程可能是您今后学习的方向。

如果您有一定的编程基础(掌握一些高级语言,如Python等),同时又有很强的数学功底,那么大数据分析可能是您努力的方向。

学习路线

大数据工程师

对于大数据工程师而言,您至少要掌握以下技能。

一门JVM系语言:当前大数据生态JVM系语言类的比重极大,在某种程度上说是垄断也不为过。这里笔者推荐大家学习Java或Scala,至于Clojure这样的语言上手不易,其实并不推荐大家使用。另外,如今是“母以子贵”的年代,某个大数据框架会带火它的编程语言,比如Docker之于Go、Kafka之于Scala。因此笔者这里建议您至少要精通一门JVM系的语言。值得一提的,一定要弄懂这门语言的多线程模型和内存模型,很多大数据框架的处理模式其实在语言层面与多线程处理模式是类似的,只是大数据框架把它们引申到了多机分布式这个层面。

学习Java或Scala以及Python

语言有了,那么工具呢?当然工具也会有。

 


现在工具也有了,就该开始学习了。很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系。

 

 

大数据领域三个大的技术方向:

1、Hadoop大数据开发方向

2、数据挖掘、数据分析&机器学习方向

3、大数据运维&云计算方向

 

 

大数据学习什么

 

 

Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经成为了语言排行第一名。

语法简捷而清晰,对底层做了很好的封装,是一种很容易上手的高级语言。

大数据和数据科学领域,任何集群架构软件都支持Python,Python也有很丰富的数据科学库,所以Python不得不学。

Linux:更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。

Hadoop:Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,YARN是体现Hadoop平台概念的重要组件有了它大数据生态体系的其它软件就能在hadoop上运行了,这样就能更好的利用HDFS大存储的优势和节省更多的资源比如我们就不用再单独建一个spark的集群了,让它直接跑在现有的hadoop yarn上面就可以了。

Zookeeper:ZooKeeper是一种为分布式应用所设计的高可用、高性能且一致的开源协调服务,它提供了一项基本服务:分布式锁服务。由于ZooKeeper的开源特性,后来我们的开发者在分布式锁的基础上,摸索了出了其他的使用方法:配置维护、组服务、分布式消息队列、分布式通知/协调等。

Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。

Hive:对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。

Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。

Kafka:Kafka的整体架构非常简单,是显式分布式架构,producer、broker(kafka)和consumer都可以有多个。Producer,consumer实现Kafka注册的接口,数据从producer发送到broker,broker承担一个中间缓存和分发的作用。broker分发注册到系统中的consumer。broker的作用类似于缓存,即活跃的数据和离线处理系统之间的缓存。客户端和服务器端的通信,是基于简单,高性能,且与编程语言无关的TCP协议。几个基本概念。

Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。

机器学习(Machine Learning, ML):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。机器学习的算法基本比较固定了,学习起来相对容易。

深度学习(Deep Learning, DL):深度学习的概念源于人工神经网络的研究,最近几年发展迅猛。深度学习应用的实例有AlphaGo、人脸识别、图像检测等。是国内外稀缺人才,但是深度学习相对比较难,算法更新也比较快,需要跟随有经验的老师学习。

你可能感兴趣的:(大数据学习,大数据,大数据开发,大数据技术,大数据入门,人工智能,数据分析,spark,Hadoop,Linux,Kafka)