大数据要学什么东西(必备技能及职责要求介绍)
你知道大数据需要学习哪些技术吗?在学习大数据的时候范围过广,内容过多时,我们应该怎么去学习大数据所需要的技术呢?
大数据技术作为涉及多方面知识的it技术,所需要学习的东西是比较多的,往往有人在面临这众多的学习资料不知道从何下手,其实我们可以根据大数据的就业方向来进行专项学习。
一、大数据的就业方向
大数据的就业方向大致可以分为:数据挖掘工程师、大数据分析师、大数据开发工程师、算法工程师。
1、数据挖掘工程师
数据挖掘工程师需要从大量的数据中通过算法搜索隐藏于其中的知识,这些知识可使企业决策智能化、自动化,从而使企业提高工作效率,减少错误决策的可能性,以在激烈的竞争中处于不败之地。
2、大数据分析师
大数据分析师是在不同行业中,专门从事行业数据搜集、整理、分析,并依据数据做出行业研究、评估和预测的专业人员。
3、大数据开发工程师
大数据开发工程师负责数据仓库建设、etl开发、数据分析、数据指标统计、大数据实时计算平台及业务开发、平台建设和维护等工作内容。
4、算法工程师
算法是解决问题的一系列清晰的指令,也就是说,它能在有限的时间内对一定的标准输入获得所需的输出。如果一个算法有缺陷或不适合某个问题,执行该算法将不能解决问题。不同的算法可能使用不同的时间、空间或效率来完成相同的任务。算法的优缺点可以用空间复杂度和时间复杂度来衡量。算法工程师是利用算法处理事物的人。
二、大数据各就业方向所需要学习的技术
在了解到大数据就业方向大致有哪些后,就可以根据其职位的描述来学习大数据技术的基础知识。
1、数据挖掘工程师
数据挖掘工程师所需要学习的部分可以分为工程能力和算法能力两大部分。
① 工程能力
a.编程基础:掌握一门大数据处理技术所需要的编程语言,小编优推java语言;其次就是掌握一门数据库及数据库语言—mysql数据库及sql语句。
b.开发平台:linux系统(如今主流的大数据技术框架是基于linux系统开发并运行的)。
c.数据结构与算法分析基础:掌握常见的数据结构以及操作(线性表,队,列,字符串,树,图等),掌握常见的计算机算法(排序算法,查找算法,动态规划,递归等)。
d.海量数据处理平台:hadoop或者spark。
② 算法能力
a.数学基础:概率论,数理统计,线性代数,随机过程,最优化理论。
b.机器学习 / 深度学习:掌握常见的机器学习模型(线性回归、逻辑回归、svm、感知机;决策树、随机森林、gbdt、xgboost;贝叶斯、knn 、k-means、em 等);掌握常见的机器学习理论(过拟合问题、交叉验证问题、模型选择问题、模型融合问题等);掌握常见的深度学习模型(cnn、rnn 等);
c.自然语言处理:掌握常见的方法(tf-idf 、word2vec 、lda);
2、大数据分析师
大数据分析师可以分成数据结构与算法、编程语言、数据库、大数据技术框架、linux系统来学习。
数据结构与算法:掌握常见的数据结构以及操作(线性表,队,列,字符串,树,图等),掌握常见的计算机算法(排序算法,查找算法,动态规划,递归等)。
编程语言:熟悉使用python、r、java任意一门编程,在大数据分析中python及r语言的使用率比较高。
数据库:mysql数据库及sql语句、hive。
大数据生态系统:hadoop、spark。
linux系统:熟悉linux操作系统、能够使用etl工具。
2、大数据开发工程师
大数据开发工程师可以分成java学习阶段及大数据学习阶段两个阶段来学习大数据开发工程师所需要的技术。
java学习阶段
静态网页基础:html基础知识及css基础知识。
javase:javase基础语法、面向对象、javaapi、mysql数据库及sql数据库、jdbc、线程、网络编程、反射基本原理。
javaweb:javascript、jquery、xml&版本控制。
企业级框架:spring、spring mvc、springboot、mybtis。
大数据学习阶段
在大数据学习阶段中可以分成两个小部分学习,一个是linux系统部分,另一个是大数据技术框架部分。
linux系统:linux系统基础知识、centos、maven,学习这部分便于学习大数据技术框架部分。
大数据技术框架:hdfs、mapreduce、yarn、hbase、mongodb、redis、flume、scala、kafka、spark、hive、flink、es、oozie。
4、算法工程师
算法工程师根据职业需求有着许多分支,不同的分支所要求学习的技能也就不同。下面小编将介绍其中一个分支机器学习算法工程师所要掌握的技能作为参考。
机器学习算法工程师需要掌握机器学习理论、概率和统计基础、基础数据结构与算法、开发语言(python、scala、r)、特征处理&工程、基础开发能力、单机开发工具(numpy、sklearn等)、大数据开发工具(hadoop、spark、storm)、架构设计(数据仓库&数据流架构、机器学习相关服务架构)。
大数据技术所涉及的知识多又广泛,就全部内容学习会找不清自己所要学习的方向,因此这种时候可以先找准自己要重点研究的方向然后开始学习