【不要错过文末彩蛋】
申明:
本文旨在为【大数据自学者|大数据专业学生|工资低的程序员(Java/Python等)】提供一个从入门到入职的的大数据技术学习路径,不适合5年以上大数据工程师的进阶学习。
前言:
一、个人介绍
二、大数据介绍
正文:
一、大数据工作岗位
二、大数据工程师技能要求
三、大数据系统学习路径
四、推荐持续学习资源(书籍、教程)
五、大数据项目实战(离线计算、实时计算、离线数仓、实时数仓、ELK)
前言
一、个人介绍
本人目前是一名大数据高级工程师,项目数据容量100P+,日处理数据量200T+,集群规模1000+节点,个人是Java前后端开发,因公司项目开发需要,边学习边做项目,四个月成功完成公司项目并成功转型大数据工程师,后经过长时间积累先后著书《实战大数据(Hadoop+Spark+Flink)》、《Hadoop大数据技术基础与应用》。
二、大数据介绍
1.数据源
在大数据时代,数据是第一生产力,因为大数据技术的核心就是从数据中挖掘价值,那么最重要的是要有所需要的数据,而第一步需要做的就是弄清楚有什么样的数据、如何获取数据。在企业运行过程中,特别是互联网企业,会产生各种各样的数据,但是企业不能正确获取数据或者没有获取数据的能力,就无法挖掘出数据中的价值,浪费了宝贵的数据资源。
2.数据获取
数据的来源不同、格式不同,获取数据所使用的技术也不同。Web网站的很多数据产生于用户的点击,可以使用低侵入的浏览器探针(一种Web脚本程序,实质上是通过网页编程语言(ASP、PHP、ASP.NET等)实现探测服务器敏感信息的脚本文件)技术采集用户浏览数据,以及获取网页数据常用的爬虫技术、采集MySQL数据库binlog 日志的组件Canal、采集Web服务器日志数据的组件Flume。数据获取之后,为了方便不同应用消费数据,可以将数据打入Kafka消息中间件。
3.数据存储
存储是所有大数据技术组件的基础,存储的发展远远低于CPU和内存的发展,虽然硬盘存储容量多年来在不断地提升,但是硬盘的访问速度却没有与时俱进。所以对于大数据开发人员来说,对大数据平台的调优很多时候主要集中在对磁盘IO的调优。
实验数据得出:1TB的硬盘,在数据传输速度约为100MB/s的情况下,读完整个磁盘中的数据至少得花2.5个小时。试想,如果将1TB数据分散存储在100个硬盘,并行读取数据,那么不到两分钟就可以读完所有数据。通过共享硬盘对数据并行读取,可以大大缩短数据分析时间。
虽然如此,但要对多个硬盘中的数据并行进行读写,首要解决的问题就是硬件故障问题。一旦开始使用多个硬件,其中个别硬件就很有可能发生故障。为了避免数据丢失,最常见的做法是复制(replication):系统保存数据的副本(replica),一旦有系统发生故障,就可以使用另外保存的副本。一种方式使用冗余硬盘阵列(RAID),另外一种方式就是HDFS分布式文件系统。另外还有构建在HDFS之上的HBase分布式列式数据库,可以提供实时的多维分析。
4.数据处理
有了数据采集和数据存储系统,我们可以对数据进行处理。对于大数据处理按照执行时间的跨度可以分为:离线处理和实时处理。
5.交互式分析
在实际应用中,经常需要对离线或者实时处理后的历史数据,根据不同的条件进行多维分析查询及时返回结果,这时候就需要交互式分析。交互式分析,基于历史数据的交互式查询,通常的时间跨度在数十秒到数分钟之间。在大数据领域中,交互式查询通常用于实时报表分析、实时大屏、在线话单查询等。
传统的方式,常常使用数据库做交互式查询,比如MySQL、Oracle。随着数据量的增大,传统数据库无法支撑海量数据的处理,交互式查询采用分布式技术成为最佳的选择。大数据领域中的交互式查询,主要是基于SQL on Hadoop。SQL on Hadoop是一个泛化的概念,是指Hadoop生态圈中一系列支撑SQL接口的组件和技术。后续会讲解几个常见的SQL on Hadoop技术,比如Hive SQL、Spark SQL、FlinkSQL。
6.机器学习与数据挖掘
在利用大数据技术对海量数据进行分析过程中,常规的数据分析可以使用离线分析、实时分析和交互式分析,复杂的数据分析就需要利用数据挖掘和机器学习方法。
在大数据开发过程中,利用机器学习对海量数据进行数据分析挖掘,大数据开发人员通常需要会使用机器学习库即可,不需要自己开发算法。目前使用较多、比较成熟的机器学习库是Spark 框架中的Spark ML,大数据开发人员可以直接利用Spark ML 进行数据挖掘。当然也可以使用Flink框架中的Flink ML,不过Flink ML还在发展过程中,不是很成熟和完善。
7.资源管理
资源管理的本质是集群、数据中心级别资源的统一管理和分配,以提高效率。其中多租户、弹性伸缩、动态分配是资源管理系统要解决的核心问题。
为了应对数据处理的各种应用场景,出现了很多大数据处理框架,比如MapReduce、Hive、Spark、Flink、JStorm等,那么也就存在着多种应用程序与服务,比如离线作业、实时作业等,为了避免服务和服务之间、任务和任务之间的相互干扰,传统的做法是为每种类型的作业或者服务搭建一个单独的集群。在这种情况下,由于每种类型作业使用的资源量不同,有些集群的利用率不高,而有些集群则满负荷运行、资源紧张。
为了提高集群资源利用率、解决资源共享问题,YARN在这种应用场景下应运而生。YARN是一个通用的资源管理系统,对整个集群的资源进行统筹管理,其目标是将短作业和长服务混合部署到一个集群中,并为他们提供统一的资源管理和调度功能。在实际企业应用中,一般都会将各种大数据处理框架部署到YARN 集群上,如MapReduce On YARN、Spark OnYARN、Flink On YARN等,方便资源的统一调度与管理。
以上大致就把整个大数据生态里面用到的工具所解决的问题列举了一遍,知道了他们为什么而出现或者说出现是为了解决什么问题,进行学习的时候就有的放矢了。
正文
一、大数据工作岗位
大数据工作岗位主要包含以下几个方向:
1.大数据开发工程师
2.大数据分析师
3.大数据运维工程师
4.大数据仓库工程师
5.ETL工程师
6.数据挖掘工程师
二、大数据工程师的技能要求
三、大数据学习路径
第1阶段:大数据基础
(1)Linux命令及shell编程学习
1)Linux系统介绍与安装
2)Linux目录结构介绍
3)Linux常用命令
4)Linux软件安装
5)Linux网络配置
6)Linux防火墙配置
7)Linux时钟同步
8)Linux shell编程
(2)Java编程基础
1)Java基础
2)Java面向对象
3)Java 线程与进程
4)Java集合
5)Java IO
6)Java正则表达式
(3)MySQL数据库
1)MySQL安装配置
2)数据类型与数据库操作
3)外键约束及修改数据库表
4)数据库表相关操作
5)子查询与连接
6)运算符和函数
7)自定义函数
8)存储过程
第2阶段:大数据开发工程师(Hadoop+Spark+Flink)
- Hadoop大数据技术概述
- HDFS分布式文件系统
- YARN资源管理系统
- MapReduce离线计算框架
- Zookeeper分布式协调服务
- 搭建Hadoop分布式集群
- Hive数据仓库工具
- HBase分布式数据库
- Sqoop数据迁移
- Flume海量日志采集
- Kafka分布式消息队列
- Davinci BI数据分析
- Spark内存计算框架
- Flink实时计算框架
- 项目实战:互联网金融大数据离线分析
- 项目实战:互联网直播大数据实时分析
第3阶段:大数据离线数仓工程师(Hadoop)
- 数据仓库基础
- 数仓项目规划
- 项目需求分析
- 架构设计与技术选型
- 大数据集群节点准备
- Zookeeper分布式协调服务
- HDFS分布式文件系统
- YARN资源管理系统
- 搭建Hadoop分布式集群
- MapReduce离线计算框架
- 智慧社区业务数据导入
- Hive大数据离线分析
- Sqoop数据导入导出
- 数仓建模理论
- 数仓设计规范
- 搭建数仓ODS层
- 搭建数仓DWD层
- 搭建数仓DWS层
- 搭建数仓ADS层
- 报表数据导入MySQL
- Azkaban作业调度系统
- 离线数仓作业调度
- 智慧社区数仓大屏制作
第4阶段:大数据实时数仓工程师(Flink)
- 数据仓库基础
- 数仓项目规划
- 项目需求分析
- 实时数仓架构设计
- 实时数仓技术选型
- 搭建Hadoop大数据平台
- 智慧社区业务数据导入
- 搭建数据采集与存储平台
- 数仓建模理论
- 数仓设计规范
- 搭建实时数仓ODS层
- 搭建实时数仓DWD层
- 搭建实时数仓工具Clickhouse
- 搭建实时数仓DWS层
- 搭建实时数仓ADS层
- 智慧社区数仓大屏制作
第5阶段:大数据ELK工程师(ElasticSearch+Logstash+Kibana)
- ElasticSearch概述
- ElasticSearch单节点安装
- ElasticSearch restful实操
- ElasticSearch核心技术
- ElasticSearch Java客户端开发
- ElasticSearch 索引及分词
- ElasticSearch分布式集群安装部署
- ElasticSearch性能调优
- ELK项目需求分析与架构设计
- Filebeat数据采集
- Logstash数据聚合与解析
- ELK海量日志分析平台搭建
- ELK项目优化与总结
- Kibana大数据分析与可视化
第6阶段:大数据运维工程师
- 初始大数据运维
- 大数据运维基础
- 大数据运维核心技术
- 集群规划与部署平台选择
- 大数据集群部署方式
- 大数据集群组件自动化部署
- 大数据集群级别监控
- 大数据组件监控与调优
- 大数据集群安全认证与授权
- 6个集群配置方面的案例
- 3个安装服务方面的案例
- 3个日常运维管理方面的案例
- 6个测试和故障排查方面的案例
- 2个集群升级、配置高可用的案例
第7阶段:大数据专题进阶
Flink SQL流批一体技术
- Flink流批统一
- Flink Table编程全面详解
- Flink SQL编程全面详解
- Flink SQL Time与Watermark
- Flink SQL Window操作
- Flink SQL内置函数与自定义函数
- Flink SQL 元数据管理
- 互联网直播项目之Flume日志数据采集
- 互联网直播项目之Kafka数据存储
- 互联网直播项目之Davinci BI数据分析
- 互联网直播项目之Flink 核心知识进阶
- 互联网直播项目之全流程开发
ClickHouse实时数仓利器
- Clickhouse基础
- Clickhouse单节点安装部署
- Clickhouse架构设计
- Clickhouse数据分析查询实操
- MergeTree底层原理分析
- Clickhouse集群节点准备
- 搭建Clickhouse分布式集群
- Clickhouse副本与分片使用及读写原理
- Clickhouse与Kafka集成开发
- Clickhouse与MySQL集成开发
- Clickhouse与Spark集成开发
- Clickhouse与Flink集成开发
第8阶段:不断学习总结
每隔一段时间都会有新的技术出现,需要关注最新技术动态,不断学习。任何技术的学习一定要理论结合项目,在项目实战中不断完善理论。
(1)如果觉得看书学习效率慢,可以跟着我录制的系统教程学习。如果觉得看视频比较费时间,可以阅读我的著书《实战大数据(Hadoop+Spark+Flink)》、《Hadoop大数据技术基础与应用》
(2)如果项目中已经在使用Spark,并且秒级别的实时处理可以满足需求,建议使用Spark Streaming,比如广告、报表、推荐系统等业务。 要求消息投递语义为Exactly Once的场景,数据量较大,要求高吞吐低延迟的场景,需要进行状态管理或窗口统计的场景,建议使用Flink。比如实时告警、销售大屏业务。
(3)要逐步掌握快速学习的能力、解决问题的能力、高效沟通交流的能力。
(4)要擅于使用百度、StackOverFlow和Google解决学习和工作过程中遇到的问题。
(5)
视频课程推荐(100块以内搞定,添加底部二维码获取)
坦率说,以上大数据必备技能的内容在网上可以白嫖,一分钱不用花。但还有60%内容是嫖不到的。硬要去找的话,要么深度不够,要么实战性很鸡肋,甚至根本没有。比如:
FlinkSQL网上几乎找到不带项目的系统视频的;实时仓数项目,Flink技术栈先进,有实际业场务景的项目,新制录的;200+页大数据面及试参考答案,出本书没都问题,单份这资料己自取去搜集,时间+答案整理3000也下不来。
四、大数据持续学习资源推荐
Apache 官网(http://apache.org/)
Stackoverflow官网(https://stackoverflow.com/)
Github官网(https://github.com/)
Cloudra官网(https://www.cloudera.com/)
Databrick官网(https://databricks.com/)
五、大数据实战项目案例
(100块以内搞定,添加底部二维码获取)
(1)Spark Streaming广告点击实时分析项目
(2)Flink Streaming新闻热搜实时分析项目
(3)Hadoop互联网金融离线分析项目
(4)Flink Streaming互联网直播实时分析项目
(5)Hadoop智慧社区离线数仓项目
(6)Flink智慧社区实时数仓项目
(7)FlinkSQL日志审计实时分析项目
(8)ELK海量日志运维项目
六、推荐课程权益
01 永久免费学习,无2次收费
郑重承诺:如果哪天这课因为太便宜没利润做不下去,下架前我们也会把所有视频打包后通过网盘发给你!
02 赠送1年答疑服务
坦率的说:课程价格太低,此优惠仅限前100名报名学员,我们希望你坚持学习,尽可能给些建议帮助我们优化升级课程
03 提供面试指导与简历修改服务
提前说好:课程价格太低,此服务仅限半年内学完课程,并认真完成2个以上实战项目的同学
04 赠送大数据面试题与答案(共200+页,珍贵得很!匆外传!)
提醒注意:报名7天后私信找客服人员领取。
重要、重要、重要:推荐课程可以添加最下面的二维码获取!
【推荐相关图书】
1.Hadoop大数据技术基础与应用
2.实战大数据(Hadoop+Spark+Flink)