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

article/2025/8/19 13:39:00

【不要错过文末彩蛋】

申明:

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

 

 


http://chatgpt.dhexx.cn/article/nYLUpVDO.shtml

相关文章

网络层协议(6)

文章目录 一、网络层二、网络层的功能三、IP数据包格式1.版本2.头部长度3.服务类型4.包裹总长5.重组标识6.标志7.段偏移量8.生存时间(TTL)9.协议代码10.首部检验和11.源地址12.目的地址13.可选字段14.数据部分 四、其他网络层协议1.ICMP协议2.ARP协议3.R…

网络层的各层协议

网络层的各层协议 目录 一、IP数据包格式 二、Icmp协议介绍 2.1 ICMP协议 2.2 ICMP协议的封装 三.ARP协议介绍 3.1 什么是ARP协议 3.2 ping命令 3.3 TRACERRT命令 3.4ARP协议工作原理 四、ARP攻击原理 一、IP数据包格式 协议字段 IP数据包格式&#xf…

网络层协议------IP协议

这里写目录标题 IP协议基本概念协议头格式网段划分特殊的ip地址私网ip地址和公网ip地址ip地址的数量限制路由 IP协议 IP协议:其实就是TCP/IP协议中对于网络层的一个协议(注意IP协议是TCP/IP协议族中最为核心的协议,因为对于上层的数据&#…

网络协议层

1.osi七层模型以及每层的都是干什么的 七层模型分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 数据链路层&…

网络协议:网络层传输层

目录 网络层 网络层首部 网络层首部--总长度 网络层首部--标识、标志 网络层首部--片偏移 网络层首部--生存时间 ping的几个用法 传输层 UDP UDP--数据格式 UDP--检验和(Checksum) 端口 网络层 网络层数据包(IP数据包,Pac…

第四讲:网络层协议

文章目录 一、网络层功能二、IP数据包的格式1、IP数据包格式2、各字段说明 三、ICMP协议1、ICMP封装与格式2、ping命令2.1 ping命令的各种用法 四、ARP协议1、什么是ARP协议?2、ARP协议是如何工作的?3、ARP工作原理4、windows当中如何查看ARP缓存表5、AR…

网络层协议的介绍

目录 ICMP协议(Internet控制报文协议) 网络层的功能 *定义了基于IP协议的逻辑地址 *连接不同的媒介类型 *选择数据通过网络的最佳路径 总体结构 IP数据包格式ICMP协议介绍ARP协议介绍ARP攻击原理 1,IP数据包格式 协议字段 版本&…

网络层协议

网络层有四个协议:ARP协议,IP协议,ICMP协议,IGMP协议。 ARP协议为IP协议提供服务,IP协议为ICMP协议提供服务,ICMP协议为IGMP协 议提供服务。 ARP协议:将IP地址通过广播,目标Mac地址是FF-FF-FF…解析目标IP地址的Mac 地址。(局域网中)通过arp -a可以查看Mac地址。…

详解网络层协议(ICMP,ARP)

目录 1、网络层功能: 2、IP数据包格式: 3、ICMP协议: 4、请求超时和目标主机不可达的区别: 5、ICMP协议的封装: 6、ping 命令的使用: 7、ARP协议: 8、ARP工作原理: 9、ARP欺骗&a…

网络层的协议介绍

文章目录 IP数据包格式ICMP协议(Internet控制报文协议)ARP协议概述ARP攻击原理本章总结 IP数据包格式 协议字段 IP数据包格式(分为20字节的固定部分,表示每个IP数据包必须包含的部分,和40字节的可变长部分&#xff…

4、网络层协议

目录 IP协议 IPV4 IPv6 ARP协议 IGMP协议 ICMP协议 路由协议 OSPF协议 RIP协议 BGP协议(边界网关) IP协议 网络层的IP协议是构成Internet的基础。网络上每一个节点都必须有一个独立的Internet地址(IP地址)。每个计算机…

【网络】网络层协议——IP

目录 网络层IP协议IP基础知识IP地址IP报头格式网段划分CIDR 特殊的IP地址IP地址的数量限制私有IP地址和公有IP地址 路由IP总结 网络层 在复杂的网络环境中确定一个合法的路径。 IP协议 IP协议作为整个TCP/IP中至关重要的协议,主要负责将数据包发送给最终的目标计…

网络层协议 IP

目录 IP协议 基本概念 协议头格式(重要) 分片了如何组装: 那么判断是否片偏移就是: 分片对UDP和TCP有影响吗? 总结 网段划分(重要) 下面有两个例子: 特殊的IP地址 …

网络层协议协议介绍

网络层协议协议介绍 文章目录 网络层协议协议介绍一、网络层的功能二、IP数据包的格式三、ICMP协议(internet控制报文协议)3.1icmp协议3.2ICMP协议的封装3.3 Ping命令的用法 四、ARP协议介绍4.1什么是ARP协议4.2ARP协议的作用4.3ARP工作原理 一、网络层的功能 1、定义了基于IP…

IP 协议(网络层协议)

IP协议 IP 协议作用地址管理动态分配 IP 地址NAT 机制IPv6IP 地址的组成 路由选择 IP 协议作用 主要有两点 : 地址管理 为每个上网的设备分配一个唯一地址. 路由选择 两台主机间的信息交互, 具体走哪条线路. 地址管理 先来看看 IP协议 报文格式 : IP 协议最主要就是 32 位的…

网络层协议总结

网络层,说简单点,就是在复杂的网络环境中确定一个合适的路径。 有四个协议:ARP协议,IP协议,ICMP协议,IGMP协议。 IP协议 1、概念(协议内容即设定ip地址,实现数据传输) I…

Java--三目运算符

文章目录 前言内容总结end 前言 在判断这方面我们经常用到的有if / if ... else / if ... else if / switch case之类的,有一种非常简单的,能将if原本需要几行代码才能总结出来的内容,只需要一行代码就能书写出来的,这就是今天我要介绍的三目运算符. 内容 先给出一个输入的例…

python和java中的三目运算符

前言: 作者:神的孩子在歌唱 大家好,我叫智 Python 三元运算符用于根据条件选择两个值之一。它是 if-else 语句的一个缩影,它将两个值之一分配给一个变量。Python 三元运算符的语法是: [statement_1] if [expression] …

java使用三目运算符来判断成绩

**题目:**利用条件运算符的嵌套来完成此题:学习成绩>90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 程序分析:(a>b)?a:b这是条件运算符的基本例子。 三目运算符: (判断式…

java运算符(算数运算符、三目运算符、位运算符)

java运算符 1 运算符:算术运算符%:求余运算符。/:除法运算符。自增运算符三目运算符 (条件表达式)?表达式1:表达式2;练习题位运算符 2 程序流程控制2.1 if-else结构2.2 switch-case结构2.3 循环结构之for循环2.4 循环…