现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己?
首先从字面来了解一下大数据 大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。
接下来我们就看看大数据的学习方向
大数据世界有三大学习方向:数据开发师、数据运维师、数据架构师。
什么是大数据开发师?
围绕大数据系平台系统级的研发人员, 熟练Hadoop、Spark、Storm等主流大数据平台的核心框架。深入掌握如何编写MapReduce的作业及作业流的管理完成对数据的计算,并能够使用Hadoop提供的通用算法, 熟练掌握Hadoop整个生态系统的组件如: Yarn,HBase、Hive、Pig等重要组件,能够实现对平台监控、辅助运维系统的开发。
通过学习一系列面向开发者的Hadoop、Spark等大数据平台开发技术,掌握设计开发大数据系统或平台的工具和技能,能够从事分布式计算框架如Hadoop、Spark群集环境的部署、开发和管理工作,如性能改进、功能扩展、故障分析等。
什么是大数据运维师?
了解Hadoop、Spark、Storm等主流大数据平台的核心框架,熟悉Hadoop的核心组件:HDFS、MapReduce、Yarn;具备大数据集群环境的资源配置,如网络要求、硬件配置、系统搭建。熟悉各种大数据平台的部署方式,集群搭建,故障诊断、日常维护、性能优化,同时负责平台上的数据采集、数据清洗、数据存储,数据维护及优化。熟练使用Flume、Sqoop等工具将外部数据加载进入大数据平台,通过管理工具分配集群资源实现多用户协同使用集群资源。通过灵活、易扩展的Hadoop平台转变了传统的数据库和数据仓库系统架构,从Hadoop部署实施到运行全程的状态监控,保证大数据业务应用的安全性、快速响应及扩展能力!
什么是大数据架构师?
围绕大数据系平台系统级的研发人员, 熟练Hadoop、Spark、Storm等主流大数据平台的核心框架。深入掌握如何编写MapReduce的作业及作业流的管理完成对数据的计算,并能够使用Hadoop提供的通用算法, 熟练掌握Hadoop整个生态系统的组件如: Yarn,HBase、Hive、Pig等重要组件,能够实现对平台监控、辅助运维系统的开发。
通过学习一系列面向开发者的Hadoop、Spark等大数据平台开发技术,掌握设计开发大数据系统或平台的工具和技能,能够从事分布式计算框架如Hadoop、Spark群集环境的部署、开发和管理工作,如性能改进、功能扩展、故障分析等。
当然如果你想要做一个数据分析师或者数据挖掘师,那么,你首先要做的不是马上去买很多的相关书籍,也不是马上去报一个数据分析师培训课程,我觉得你最先应该做的是弄明白大数据是什么意思。了解了大数据的含义之后,不管是你自学也好,跟班学习也好,都是可以受益匪浅的。所以,我们先来回答一下大家可能比较关心的一些问题。
一、大数据是什么?
大数据是一个庞大的体系,其中大致包括以下几方面:
1.数据存储阶段(用户信息,行为信息存储进硬盘)。
2.数据挖掘 清洗 筛选(根据产品需求筛选出符合企业用于盈利需求的数据)
3.数据分析(通过数学分析,商业分析,将挖掘出来的数据进行产品匹配盈利分析)
4.产品调整(根据分析进行产品的上下架,迭代开发,达到产品迎合更多用户的选择或者销售出更多的产品。)
5.产品下一步的规划(譬如新开一个产品线,可以根据数据来进行分析。)
二、我怎么选择我适合那个阶段的职位
1.数据存储阶段(SQL,oracle,IBM等等都有相关的课程,根据公司的不同,学习好这些企业的开发工具,基本可以胜任此阶段的职位)
2.数据挖掘 清洗 筛选(大数据工程师,要学习JAVA,Linux,SQL,Hadoop,数据序列化系统Avro,数据仓库Hive,分布式数据库HBase,数据仓库Hive,Flume分布式日志框架,Kafka分布式队列系统课程,Sqoop数据迁移,pig开发,Storm实时数据处理。学会以上基本可以入门大数据工程师,如果想有一个更好的起点,建议前期学习scala编程,Spark,R语言等基本现在企业里面更专业的技能。)
3.数据分析(此阶段本人涉猎不是很多,所以大致说明。需要有比较强悍的商业头脑以及数字分析能力。好的数据分析师基本都是硕士起步,数学,经济类专业。)
4.产品调整(经过分析后的数据交由老板和PM经过协商后进行产品的更新,然后交由程序员进行修改(快消类进行商品的上下架调整))
想要找到适合自己的大数据发展方向,我们先要了解大数据的工作方向,主要分以下几点:
01.大数据工程师
02.数据分析师
03.大数据科学家
04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧)
二、大数据工程师的技能要求
必须技能10条:
01.Java高级(虚拟机、并发)
02.Linux 基本操作
03.Hadoop(此处为侠义概念单指HDFS+MapReduce+Yarn )
04.HBase(JavaAPI操作+Phoenix )
05.Hive(Hql基本操作和原理理解)
06.Kafka
07.Storm
08.Scala需要
09.Python
10.Spark (Core+sparksql+Spark streaming )
高阶技能6条:
1.机器学习算法以及mahout库加MLlib
2.R语言
3.Lambda 架构
4.Kappa架构
5.Kylin
6.Aluxio
三、大数据的学习技术点
Hadoop核心
(1) 分布式存储基石:HDFS
HDFS简介 入门演示 构成及工作原理解析:数据块,NameNode, DataNode、数据写入与读取过程、数据复制、HA方案、文件类型、 HDFS常用设置 Java API代码演示
(2) 分布式计算基础:MapReduce
MapReduce简介、编程模型、Java API 介绍、编程案例介绍、MapReduce调优
(3) Hadoop集群资源管家:YARN
YARN基本架构 资源调度过程 调度算法 YARN上的计算框架
离线计算
(1) 离线日志收集利器:Flume
Flume简介 核心组件介绍 Flume实例:日志收集、适宜场景、常见问题
(2) 离线批处理必备工具:Hive
Hive在大数据平台里的定位、总体架构、使用场景之Access Log分析 Hive DDL&DML介绍 视图 函数(内置,窗口,自定义函数) 表的分区、分桶和抽样 优化
(3) 速度更快的Hive:Impala
Impala在大数据架构中的角色 架构 数据处理过程 一般使用步骤:创建表,分区表,查询等 常用查询演示:统计,连接等、Impala与Hive的比较 常用配置与最佳使用建议(查错,调优等)
(4) 更快更强更好用的MR:Spark
Scala&Spark简介 基础 Spark编程(计算模型RDD、算子Transformation和Actions的使用、使用Spark制作倒排索引)Spark SQL和DataFrame 实例:使用Spark SQL统计页面PV和UV
实时计算
(1) 流数据集成神器:Kafka
Kafka简介 构成及工作原理解析 4组核心API 生态圈 代码演示:生产并消费行为日志
(2) 实时计算引擎:Spark Streaming
Spark Streaming简介 工作原理解剖 编写Streaming程序的一般过程 如何部署Streaming程序? 如何监控Streaming程序? 性能调优
(3) 海量数据高速存取数据库:HBase
HBase简介 架构及基本组件 HBase Table设计 HBase基本操作 访问HBase的几种方式
大数据ETL
(1) ETL神器:Sqoop,Kettle
数据同步ETL介绍 Kettle常用组件介绍 、抽取Mysql数据到Hive实战 Sqoop介绍、抽取Hive数据到Mysql实战
(2) 任务调度双星:Oozie,Azkaban
ETL与计算任务的统一管理和调度简介 Crontab调度的方案 自研调度系统的方案 开源系统Oozie和Azkaban 方案总结与经验分享
大数据应用与数据挖掘
(1) 大数据全文检索引擎:Elasticsearch
全文检索基础知识,ES安装及初级介绍,ES深入理解,使用经验介绍
(2) 数据仓库搭建
为什么要构建大数据平台大数据平台的的经典架构深入剖析“五横一纵”的架构实践 知名互联网公司大数据平台架构简介
(3) 数据可视化
什么是数据可视化,数据可视化常用工具与必备技能介,Tableau和ECharts实操讲解 ECharts介绍,知名互金公司可视化经验介绍
(4) 算法介绍
介绍数据挖掘,机器学习,深度学习的区别,R语言和python的介绍,逻辑回归算法的介绍与应用,以及主要的推荐算法介绍
四、学习资源推荐:
01.Apache 官网
02.Stackoverflow04.github
03.Cloudra官网
04.Databrick官网
05.过往的记忆(技术博客)
06.CSDN,51CTO
那么,有人就会问,学习大数据,Python和java哪个学习比较有优势呢?
如果是大数据方向,python明显是比java更有优势,所以个人建议是从python入手。为什么这么说呢,我认为受以下几个因素的影响。
大数据从目前来看,数据分析、数据挖掘、机器学习、人工智能等都归属于大数据的范畴,其实是大数据技术与数据科学的混合体
大数据目前来看是大数据技术与数据科学的混合体,大数据技术偏重工程实话,对计算机编程要求较高;数据科学偏重数学抽象,对数学与统计要求较高。大数据技术通过编程语言去解决业务问题,可以理解成我们生活中的码农,而数据科学则更多的是利用统计工具或者脚本语言对数据的处理分析,通过使用到的是Matlab、R、SAS、SPSS等工具。
python与java语言的本身的定位有关系
java是一种面向对象编程语言,不仅吸引了c++语言的优点,还摒弃了难以理解的多继承、指针等概念。java具有功能强大、易于理解的特点。java主要用于商业逻辑强的领域,如商城、erp、oa、金融等领域。
python是一种面向对象的解释型语言,python是纯粹的自由软件,源代码与解释器cpython遵循GPL协议。python主要用于数据分析、科学计算、金融分析、数据挖掘、人工智能等领域,具体快速开发特性的应用场景。
总的来说,想学习大数据对于Pythong来说更适合一些,Python在数据科学方面的应用会更有优势较java语言,当然如果偏向于应用的开发方面-比如数据产品类的,则java会更有优势
学习大数据以后,那么就业方向怎么样呢?
总的来说:三大方向,十大职位。
大数据主要的三大就业方向:大数据系统研发类人才、大数据应用开发类人才和大数据分析类人才。
十大职位:1、ETL研发;2、Hadoop开发;3、可视化(前端展现)工具开发;4、信息架构开发;5、数据仓库研究;6、OLAP开发;7、数据科学研究;8、数据预测(数据挖掘)分析;9、企业数据管理;10、数据安全研究。
希望这些对大家有些用处,只要你肯努力,相信没有做不好的事情,希望大家所有的努力都会得到更好的回报,天空这么广阔,总有一片天适合你飞翔!希望大家多多关注哦
加微信 zhanglindashuju 可以免费领取大数据资料哦