对于很多初级开发者,或者还没什么实际开发经验的人来说,大数据相关技能看起来特别吓人,因为一堆特别复杂的英文名词,以及听起来难度极高的各种“架构”。
但真正去学习上手,你就会发现,这个被传得神乎其技的技术,并没有想象中的那么难,甚至还有点有意思。
对于每一个想往更高层次发展的技术人来说,后台数据处理,数据架构的搭建、数据性能的优化,都是绕不过去的技能。而且,随着企业数据量的快速增加,后台数据架构开发的需求会越发明显,掌握大数据相关的技能,个人能力可以获得更高维度地提升。
从大部分的招聘需求来看,大数据开发相关的岗位技能需求大致如下:
写代码:Java开发/Linux开发环境
数据库:Mysql/MongoDB等,有一定调优经验
分布式:Hadoop/Hive/Spark/Storm / HBase等
加分项:大数据分析、机器学习、问题排查能力
注:一般而言,同类型的工具掌握一种即可
以目前最主流的Hadoop大数据开发为例,主要的细分技能体系如下:
01. Java编程(分布式、)
02. Linux 开发环境
03. Hadoop(HDFS+MapReduce+Yarn )
04. HBase(JavaAPI操作 )
05. Hive(查询、函数、视图)
06. Sqoop&Flume(数据采集)
07. 其他:Pig、HUE、HA等
这些技能是如何被用到工作中?在整个大数据开发的流程中起着什么样的作用呢?一个图就可以说明。
大数据后台基本流程架构图
其实整个大数据后台的流程很清晰,主要涉及数据抽取、文件存储、数据存取、数据计算、数据分析应用等过程。
而Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算条件。
有了整体的知识架构,并且熟悉了大数据开发应用的流程,再来规划学习的路径就清晰多了。一般经过四个阶段,就可以掌握大数据开发核心技能。想系统学习大数据的话,可以戳我加入大数据技术学习交流群,私信管理员即可免费领取开发工具以及入门学习资料
1.Linux和Java基础
编程语言是完成项目开发的基础。Java有完善的开发生态,且主流大数据开发均以Java实现,所以需要掌握基本的Java编程,并且了解Linux开发环境,能够搭建可用的服务架构。
Java基础、虚拟机、多线程
JavaWeb和数据库
Linux基本语法、shell编程
2.Hadoop核心框架
这个部分主要学习Hadoop体系中最核心的HDFS和MapReduce,掌握大数据的核心存储和计算。
HDFS的shell操作(常用命令和参数)
HDFS的Java应用开发(数据采集、存储、文件)
MapReduce编程(规范、运行、调试)
MapReduce计算程序(排序、分区、优化)
3.Hadoop数据生态
主要是围绕Hadoop数据库开发的一系列重要工具,比如HBase、Hive、Flume等,主要是训练数据的清洗、处理、分析的技能。
HBase数据操作(读、写、更新)、基本架构
Hive数据存储与计算(表搭建、分区、查询、函数)
Flume&Sqoop采集、导出系统实现
Pig进行数据处理与数据分析
4.可视化管理及集群
通过以上的学习,Hadoop的核心已经掌握,然后就是形成工程化的思维,对整个大数据架构进行管理。
HUE可视化管理(与HBase、Hive集成)
HA集群:Zookeeper搭建高可用的集群环境
所以,其实一套流程下来,就形成了清晰的学习规划,并且在这个过程中你知道每个部分需要掌握哪些知识,这些技能是去实现哪些应用。