草庐IT

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

大数据研习社 2023-09-25 原文

【不要错过文末彩蛋】

申明:

本文旨在为【大数据自学者|大数据专业学生|工资低的程序员(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. ruby-on-rails - 在 ruby​​ 进程之间处理大数据对象 - 2

    如果使用Marshal.dump写入文件,我有一个Ruby散列达到大约10兆字节。gzip压缩后约为500KB。在ruby​​中迭代和改变这个散列是非常快的(几分之一毫秒)。即使复制它也非常快。问题是我需要在RubyonRails进程之间共享此散列中的数据。为了使用Rails缓存(file_store或memcached)执行此操作,我需要先Marshal.dump文件,但这会在序列化文件时产生1000毫秒的延迟,在序列化文件时产生400毫秒的延迟。理想情况下,我希望能够在100毫秒内从每个进程保存和加载此哈希。一个想法是生成一个新的Ruby进程来保存这个散列,该散列为其他进程提供AP

  2. 企业大数据发展面临问题之存算分离技术思考 - 2

    文章目录概述背景为何要存算分离优势**应用场景**存算分离产品技术流派华为JuiceFSHashDataXSKY概述背景Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据

  3. 大数据之Hadoop数据仓库Hive - 2

    目录:一、简介二、HQL的执行流程三、索引四、索引案例五、Hive常用DDL操作六、Hive常用DML操作七、查询结果插入到表八、更新和删除操作九、查询结果写出到文件系统十、HiveCLI和Beeline命令行的基本使用十一、Hive配置一、简介Hive是一个构建在Hadoop之上的数据仓库,它可以将结构化的数据文件映射成表,并提供类SQL查询功能,用于查询的SQL语句会被转化为MapReduce作业,然后提交到Hadoop上运行。特点:简单、容易上手(提供了类似sql的查询语言hql),使得精通sql但是不了解Java编程的人也能很好地进行大数据分析;灵活性高,可以自定义用户函数(UDF)和

  4. 华为认证的网络工程师证好考吗,含金量高吗 ? - 2

    华为认证分等级的,相当于初中高三个等级,当然高级是比较难考的,也是含金量最高的。我就慢慢给你介绍一下。1.了解华为认证华为认证网络工程师是由华为公司认证与采购部推出的独立认证体系,与之前的华为认证不同,简称HCIA。同时华为认证是华为技术有限公司凭借多年信息通信技术人才培养经验,以及对行业发展的理解,以层次化的职业技术认证为指引,推出的覆盖IP、IT、CT以及ICT融合技术领域的认证体系,是ICT全技术领域认证体系。​2.怎么考取华为认证网络工程师?要考取华为认证网络工程师必须选择最近的Prometric授权考试中心APTC报名并参加GB0-190的考试,考试通过后,以获得由华为统一签发的“华

  5. 打通源码,高效定位代码问题|云效工程师指北 - 2

    大家好,我叫胡飞虎,花名虎仔,目前负责云效旗下产品Codeup代码托管的设计与开发。代码作为企业最核心的数据资产,除了被构建、部署之外还有更大的价值。为了帮助企业和团队挖掘更多源代码价值以赋能日常代码研发、运维等工作,云效代码团队在大数据和智能化方向进行了一系列的探索和实践(例如代码搜索与推荐),本文主要介绍我们如何通过直接打通源代码来提高研发与运维效率。随着微服务架构的流行,一个业务流程需要多个微服务共同完成。一旦出现问题,运维人员在面对数量多、调用链路复杂的情况下,很难快速锁定导致问题发生的罪魁祸首:代码。为了提高排查效率,目前常见的解决方案是:链路跟踪+日志分析工具相结合。即通过链路跟踪

  6. ruby-on-rails - 如何在 Ruby 中每四个整数之间创建空格? - 2

    我正在尝试取下面的数字:423523420987并将其转换为:423523420987它也不一定必须是整数。事实上,我更希望它是一个字符串。 最佳答案 您可以使用String::gsub使用正则表达式:=>'abcdefghijkl'.gsub(/.{4}(?=.)/,'\0')'abcdefghijkl' 关于ruby-on-rails-如何在Ruby中每四个整数之间创建空格?,我们在StackOverflow上找到一个类似的问题: https://stac

  7. ruby - ruby 中的大数组操作非常慢 - 2

    我有以下场景:我需要在一个非常大的集合中找出唯一的ID列表。例如,我有6000个id数组(关注者列表),每个数组的大小范围在1到25000(他们的关注者列表)之间。我想获得所有这些ID数组中的唯一ID列表(关注者的唯一关注者)。完成后,我需要减去另一个ID列表(另一个人的关注者列表)并获得最终计数。最后一组唯一ID增长到大约60,000,000条记录。在ruby​​中,将数组添加到大数组时,它开始变得非常慢,大约几百万。添加到集合中一开始需要0.1秒,然后增长到200万时需要超过4秒(离我需要去的地方不远)。我用java编写了一个测试程序,它在不到一分钟的时间内完成了整个过程。也许我在

  8. Nature Neuroscience:高家红团队首次发布中国人脑连接组计划研究成果及其大数据资源 - 2

    人类生活在充满多样性的世界里。长久以来的研究发现,人类的脑与行为受到基因、环境和文化及其相互作用的塑造,然而这种影响发生的机制始终缺乏系统性探索与研究。近年来,前沿神经影像技术方法飞速进步,推动着多模态脑成像大数据集的产生和融合性探索,并让学界得以深入探究人脑宏观结构与功能连接组架构,为包括上述主题在内的许多有趣而重要的科学问题带来了新的启发和思路。2022年12月20日,北京大学物理学院、IDG麦戈文脑科学研究所高家红团队在《NatureNeuroscience》在线发表了题为“IncreasingdiversityinconnectomicswiththeChineseHumanConne

  9. 软件工程毕业设计课题(81)微信小程序毕业设计PHP校园跑腿小程序系统设计与实现 - 2

        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信校园跑腿小程序系统,前台用户使用小程序发布跑腿任何和接跑腿任务,后台管理使用基于PHP+MySql的B/S架构;通过后台管理跑腿的用户、查看跑腿信息和对应订单。意义:手机网络时代,大学生通过手机网购日常用品、外卖外卖、代取快递等已不再是稀奇的事情。此外,不少高校还流行着校园有偿工作,校园跑腿就成了大学生创业服务项目。        因为你在校园里,所以不会有进入的限制。并不是所有的外卖平台都可以随意进入校园,比如小黄和小蓝的双打外卖平台。许多大学禁止送餐进入学校,更不用说送餐进入宿舍了。这一措施使得校园服务市场的竞争相对不

  10. BigData/Cloud Computing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程 - 2

    BigData/CloudComputing:基于阿里云技术产品的人工智能与大数据/云计算/分布式引擎的综合应用案例目录来理解技术交互流程目录一、云计算网站建设:部署与发布网站建设:简单动态网站搭建云服务器管理维护云数据库管理与数据迁移云存储:对象存储管理与安全超大流量网站的负载均衡二、大数据MOOC网站日志分析搭建企业级数据分析平台基于LBS的热点店铺搜索基于机器学习PAI实现精细化营销基于机器学习的客户流失预警分析使用DataV制作实时销售数据可视化大屏使用MaxCompute进行数据质量核查使用Quick BI制作图形化报表使用时间序列分解模型预测商品销量三、云安全云平台使用安全云上服务

随机推荐