【不要错过文末彩蛋】

申明:

本文旨在为【大数据自学者|大数据专业学生|工资低的程序员(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)

  1. Hadoop大数据技术概述
  2. HDFS分布式文件系统
  3. YARN资源管理系统
  4. MapReduce离线计算框架
  5. Zookeeper分布式协调服务
  6. 搭建Hadoop分布式集群
  7. Hive数据仓库工具
  8. HBase分布式数据库
  9. Sqoop数据迁移
  10. Flume海量日志采集
  11. Kafka分布式消息队列
  12. Davinci BI数据分析
  13. Spark内存计算框架
  14. Flink实时计算框架
  15. 项目实战:互联网金融大数据离线分析
  16. 项目实战:互联网直播大数据实时分析

第3阶段:大数据离线数仓工程师(Hadoop)

  1. 数据仓库基础
  2. 数仓项目规划
  3. 项目需求分析
  4. 架构设计与技术选型
  5. 大数据集群节点准备
  6. Zookeeper分布式协调服务
  7. HDFS分布式文件系统
  8. YARN资源管理系统
  9. 搭建Hadoop分布式集群
  10. MapReduce离线计算框架
  11. 智慧社区业务数据导入
  12. Hive大数据离线分析
  13. Sqoop数据导入导出
  14. 数仓建模理论
  15. 数仓设计规范
  16. 搭建数仓ODS层
  17. 搭建数仓DWD层
  18. 搭建数仓DWS层
  19. 搭建数仓ADS层
  20. 报表数据导入MySQL
  21. Azkaban作业调度系统
  22. 离线数仓作业调度
  23. 智慧社区数仓大屏制作

第4阶段:大数据实时数仓工程师(Flink)

  1. 数据仓库基础
  2. 数仓项目规划
  3. 项目需求分析
  4. 实时数仓架构设计
  5. 实时数仓技术选型
  6. 搭建Hadoop大数据平台
  7. 智慧社区业务数据导入
  8. 搭建数据采集与存储平台
  9. 数仓建模理论
  10. 数仓设计规范
  11. 搭建实时数仓ODS层
  12. 搭建实时数仓DWD层
  13. 搭建实时数仓工具Clickhouse
  14. 搭建实时数仓DWS层
  15. 搭建实时数仓ADS层
  16. 智慧社区数仓大屏制作

第5阶段:大数据ELK工程师(ElasticSearch+Logstash+Kibana)

  1. ElasticSearch概述
  2. ElasticSearch单节点安装
  3. ElasticSearch restful实操
  4. ElasticSearch核心技术
  5. ElasticSearch Java客户端开发
  6. ElasticSearch 索引及分词
  7. ElasticSearch分布式集群安装部署
  8. ElasticSearch性能调优
  9. ELK项目需求分析与架构设计
  10. Filebeat数据采集
  11. Logstash数据聚合与解析
  12. ELK海量日志分析平台搭建
  13. ELK项目优化与总结
  14. Kibana大数据分析与可视化

第6阶段:大数据运维工程师

  1. 初始大数据运维
  2. 大数据运维基础
  3. 大数据运维核心技术
  4. 集群规划与部署平台选择
  5. 大数据集群部署方式
  6. 大数据集群组件自动化部署
  7. 大数据集群级别监控
  8. 大数据组件监控与调优
  9. 大数据集群安全认证与授权
  10. 6个集群配置方面的案例
  11. 3个安装服务方面的案例
  12. 3个日常运维管理方面的案例
  13. 6个测试和故障排查方面的案例
  14. 2个集群升级、配置高可用的案例

第7阶段:大数据专题进阶

Flink SQL流批一体技术

  1. Flink流批统一
  2. Flink Table编程全面详解
  3. Flink SQL编程全面详解
  4. Flink SQL Time与Watermark
  5. Flink SQL Window操作
  6. Flink SQL内置函数与自定义函数
  7. Flink SQL 元数据管理
  8. 互联网直播项目之Flume日志数据采集
  9. 互联网直播项目之Kafka数据存储
  10. 互联网直播项目之Davinci BI数据分析
  11. 互联网直播项目之Flink 核心知识进阶
  12. 互联网直播项目之全流程开发

ClickHouse实时数仓利器

  1. Clickhouse基础
  2. Clickhouse单节点安装部署
  3. Clickhouse架构设计
  4. Clickhouse数据分析查询实操
  5. MergeTree底层原理分析
  6. Clickhouse集群节点准备
  7. 搭建Clickhouse分布式集群
  8. Clickhouse副本与分片使用及读写原理
  9. Clickhouse与Kafka集成开发
  10. Clickhouse与MySQL集成开发
  11. Clickhouse与Spark集成开发
  12. 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)

当我说转行大数据工程师时,众人笑我太疯癫,直到四个月后......相关推荐

  1. 当我说要做大数据工程师时他们都笑我,直到三个月后……转

    GitChat 作者:Fickr孫啟誠  原文: 三个月大数据研发学习计划实战解析  关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 [不要错过文末彩蛋] 申明: 本文旨在为普通程序员 ...

  2. 当我说要做大数据工程师时他们都笑我,直到三个月后……

    本文来自作者 孫啟誠 在 GitChat 上分享「三个月大数据工程师学习计划」,「阅读原文」查看交流实录 「文末高能」 编辑 | 花轮同学 申明: 本文旨在为普通程序员(Java程序员最佳)提供一个入 ...

  3. 薪资翻倍!普通程序员是如何成功转行大数据工程师?

    对于程序员来说,技术进步大大超过世人的想象,如果你不跟随时代进步,就会落后于时代. 我其实已经听过很多人跟我说过类似的话.只不过不同人嘴里提到的词汇各有不同--大数据.数据挖掘.机器学习.人工智能-- ...

  4. 转行成为大数据工程师要怎么做?

    转行成为大数据工程师要怎么做? [导语]近几年,大数据行业的发展非常迅速,大数据方向也成了许多人转行得目标,因为前景好,薪资高,不少人已经考虑转行成为大数据工程师,那么转行成为大数据工程师要怎么做?下 ...

  5. 数据库开发转行大数据开发工程师怎么样?

    数据库开发转行大数据开发工程师怎么样?大数据的方向的工作有大数据运维工程师.大数据开发工程师.数据分析.数据挖掘.架构师等.有工作经验想转行大数据开发主要考察基础.学习能力.解决问题的能力.想转转行大 ...

  6. 数据库开发工程师转行大数据开发可以吗?

    对有工作经验想转行大数据开发主要考察三个方面,一是基础,二是学习能力,三是解决问题的能力. 基础很好考察,给几道笔试题做完基本上就知道什么水平了.数据库开发工程师转大数据开发怎么样? 首先给大家普及一 ...

  7. 领英2017报告:机器学习、大数据工程师成为最热门的新兴职业

    根据美国劳工统计局的数据,今天进入小学的孩子们中,预估有65%最终将会从事那些尚未出现的工作.LinkedIn的新兴职业报告调查了哪些工作需求正在增加,哪些正在被取代,哪些技能是面向未来的,以及这些趋 ...

  8. 你们是不是真的很缺大数据工程师?

    00 缘起 之所以有这个话题,是因为周末加班中午吃饭与一个同行朋友聊起了这个话题,之后再细细地结合一些其他接触的东西,确实是有些感触的. 并且对于行业的一些现状,也的确有些自己的看法,对不对先不论,这 ...

  9. 你们是不是很缺大数据工程师?

    缘起 之所以有这个话题,是因为周末加班中午吃饭与一个同行朋友聊起了这个话题,之后再细细地结合一些其他接触的东西,确实是有些感触的. 并且对于行业的一些现状,也的确有些自己的看法,对不对先不论,这玩意儿 ...

最新文章

  1. Network Manager碰到的问题
  2. 润乾转html居中,[分享]润乾报表内置的jsp编辑器
  3. 芯讯通1月28号晚上八点直播-C-V2X产业链生态思考,关注易贸智慧互联公众号免费收听...
  4. 【编译原理】词法分析和语法分析两万字全总结(这知识它不进脑子啊~!)
  5. 442. Find All Duplicates in an Array
  6. 移动零—leetcode283
  7. java poi word 表格_java 使用POI 读写word 表格
  8. Tuxera NTFS for Mac中文官网正式推出
  9. Js拼接嵌套php代码,分享一个js文件中嵌套php会出错的问题
  10. Windows中MySQL的详细安装教程
  11. 机器学习(六)——降维处理原理
  12. 艾伟:WinForm控件开发总结(三)------认识WinForm控件常用的Attribute
  13. 用友u8怎么导出凭证_用友软件如何导出凭证模板?
  14. matlab分析excel数据,基于MATLAB的EXCEL数据计算与分析
  15. 《带人要同频,管人要共情》读书笔记
  16. 小成开发日记----物联网项目LoveTv实现web网页传输数据到单片机-表白女朋友(技术栈涉及web前端,php后端,c/c++ socket,嵌入式前后端)
  17. 总结织梦CMS中的dede标签
  18. mapbox基本使用
  19. Java 吃货联盟系统(变量、数组)
  20. android 应用未验证,解决微信分享显示“未验证应用”问题。

热门文章

  1. 计算机C语言好学吗?要是想自学应该怎么办?大学挂科赶紧恶补!
  2. 桌面word文档变成了html,我电脑上的Word文档都变成网页形式了怎么回事?
  3. Java-Swing内嵌网页判断网址类型
  4. Html设置表格撑开,【CSS】表格或div被撑开的解决办法
  5. 华为笔试题库之较难--难度
  6. 【ZFNet】Visualizing and Understanding Convolutional Networks (2013) 全文翻译
  7. 大数据测试是什么意思?测试分析方法有哪些?
  8. repo+manifests+git方式管理安卓代码
  9. sdkman软件开发工具包管理器
  10. Web前端开发的十佳前端框架优缺点