初学者详细大数据学习路线图
一.核心基础:
1. Java基础:
适合零基础学员,自Java语言起源始,循序渐进,知识点剖析细致且每章配备大量随堂练习,让你步步为营,学得透彻、练得明白。
2. MySQL:
数据库就像一棵常青的技能树,无论是初级程序员还是CTO、首席架构师都能从中汲取足够的技术养料。菜鸟往往积累单点技术,如 DML、DDL、存储过程和函数、约束、索引的数据结构,老鸟则需要吃透底层原理,数据库事务ACID如何实现?锁机制与MVCC又是怎么回事?分布式场景下数据库怎么优化保持高性能?
知道怎么用是一方面,知道为什么则是更为稀缺的能力。程序员核心能力中至关重要的一点:精通数据库。精通意味着:第一,形成知识网,更灵活地应对突发问题;第二,懂底层原理,更自由地应对复杂多变的业务场景。
3. JDBC:
涵盖JDBC的方方面面,包括手动获取数据库连接的多种方式、使用数据库连接池获取连接、与的对比使用、sql注入问题讲解、Blob字段的操作、高效的批量插入、DAO设计模式、使用提供的相关工具类等。此外还对数据库事务进行详解,利用反射及JDBC元数据编写通用的查询方法等企业级开发内容。
4. Maven:
让你从不会使用 Maven 的小白晋升熟练使用 Maven 管理依赖和构建过程的大牛,并理解 Maven 中各种内部机制的来龙去脉,在 Maven 的整个生态中游刃有余。
5.Linux:
Linux作为一款经典的开源软件,已经成为服务器操作系统的首选。Linux继承了Unix简约高效的设计风格,性能强大,安全稳定,只需占用很少的硬件资源就可以为庞大的应用服务提供支持。互联网大厂日活过亿的应用,背后依靠的就是成千上万的Linux服务器,在大数据、云计算等蓬勃发展的领域,构建分布式的服务器集群,Linux更是占据了操作系统的主流。
在如今的互联网公司中,不论是做系统运维,还是做应用开发、大数据处理,都需要对服务器进行操作管理,Linux成为了不可或缺的技能。在各个大厂的招聘职位中,Linux更是开发人员的必备技术栈。
二.大数据核心框架:
1. Shell:
Shell是一个功能相当强大的编程语言,易编写、易调试、灵活性强。Shell可以帮助我们来管理大数据集群,提高开发效率。本课程详细讲解:Shell解析器、变量、运算符、条件判断、流程控制、函数、cut、sed、awk、sort和企业真题(京东、搜狐、新浪等)。课程中全程以案例贯穿克鲁斯卡尔算法数据结构 2022年大数据培训自学路线图,深入浅出 。
2. .x:
框架主要用来解决海量数据的存储和分析计算问题。是大数据开发工程师需要掌握的技术之一。
课程特点: 1、全程案例贯穿始终,几乎每个知识点都有配套的案例; 2、整个框架深入源码讲解; 3、优化措施全部来源于企业开发; 4、相关企业真题全覆盖。
3. .x:
是大数据技术中重要的框架之一,是学习大数据重要的第一课,在平台之上,可以更容易地开发和运行其他处理大规模数据的框架。以企业实际生产环境为背景,增加了更全面、更细致、更硬核的生产调优手册,对源码解析部分进行了全新的扩充和升级,并增加大量企业实战案例!
4. :
是一个分布式的、开源的分布式应用程序协调服务,是和Hbase的重要组件。
为分布式应用提供一致性服务,功能包括:配置维护、域名服务、分布式同步、组服务等,是大数据开发工程师必会的框架之一。
5. .X高可用集:
是一个能够对海量数据进行分布式处理的软件框架,用户可以轻松地在上开发和运行处理PB级数据,具有高可靠性、高扩展性、高容错性、低成本等众多优点。是大数据技术中最重要的框架之一,是大数据工程师的必备技能。
6. HA:
HA(High )意为高可用,在本课程中主要是的高可用,在实际开发环境中是必不可少的技术之一。你将通过本课程学习到,存在的单点故障问题,解决单点故障的方案,搭建手动故障转移的HDFS-HA集群,搭建基于的自动故障转移的HDFS-HA集群以及自动故障转移的Yarn-HA集群。
7. Hive:
Hive是基于的数据仓库工具,将繁琐的程序变成了简单方便的SQL语句实现,深受广大软件开发工程师喜爱,它是大数据开发工程师的必备技术之一。
8. Hive高级:
Hive是基于的数据仓库工具,用来进行数据提取、转化、加载,是一种可以存储、查询和分析存储在中的大规模数据的机制。Hive将繁琐的程序变成了简单方便的SQL语句实现,深受广大软件开发工程师喜爱,是进入互联网行业的大数据开发工程师必备技术之一。
9. Flume:
Flume是一个高可靠且高可用的分布式海量日志采集、聚合和传输的系统,它基于简单而灵活的流式架构,具有可靠性机制及故障转移和恢复机制,且有强大的容错能力,已成为大数据开发工程师必会的框架之一。
10. Kafka:
课程分为四部分:主体技术讲解、外部系统集成、生产调优手册、源码解析。基于最新稳定版本.x,加入最新的Kafka-Kraft模式,增加Kafka-Eagle监控,覆盖几乎所有开发涉及内容,傲视全网!
基于.x版本讲解,分为四大部分:主体技术讲解、外部系统集成、生产调优手册、源码解析。经典技术点讲解包括Kafka架构解析、生产者API讲解、消费者API讲解、副本存储策略、分区分配机制等必要知识点,内容详尽且细致,助你轻松入门Kafka。
更有进阶知识点包括生产者可靠性及顺序性保证、消费者自定义消费分区、和时间、消费者事务讲解、数据积压处理等,带你玩转Kafka,应对生产环境难题。
11. HBase:
HBase是一个结构化数据的分布式存储系统,利用HBase技术可在廉价PC 上搭建起大规模结构化存储集群。是每一个大数据都应该掌握的基本框架。主要讲述了HBase详细的架构原理及特点、内部各个角色的详细介绍、安装配置、Shell操作、新旧版本的读写数据详细流程等。 更新课件升级、数据Flush流程和流程、切分流程。
分析底层代码逻辑,结合实际应用实践,提供了使用指南,教程内容包含HBase架构讲解、常见Shell操作、API操作、设计和各类调优策略等,同时讲解了HBase与、Hive兼容,提供了多种企业开发使用方式,轻松应对不同应用场景的开发需求,带你全局式掌握HBase安装部署和开发使用。
12. :
基于版本3.x讲解;引入了官方推荐的结构更清晰、功能更丰富的flow2.0;增加了更多类型的工作流案例,讲解更全面;根据企业实际需求新增了条件工作流;新增了邮件报警,电话报警配置更加高效。
13. :
从底层原理展开讲解,细致的介绍了的安装部署及基本使用,详细讲解如何实现MySQL数据的采集,并将数据分别发送至控制台与Kafka。
14. Canal:
以Canal的底层原理展开讲解,细致地介绍了Canal的安装部署及常见应用,详细讲解了如何实现MySQL数据的采集,并将数据分别发送至Kafka,同时使用TCP模式深层解析封装的数据,并实现自定义数据格式。
15. Scala:
分为三大部分:基础篇、核心篇和扩展篇。
1. 基础篇:Scala入门介绍和基本语法讲解,内容包括:Scala语言的特点和发展历史、变量和数据类型、运算符以及流程控制;
2. 核心篇:Scala的核心特性以及与大数据紧密相关的集合操作,内容包括:函数式编程、面向对象编程以及集合数据类型;
3. 扩展篇:Scala的一些其它特色讲解,主要包括:模式匹配、异常处理、隐式转换以及泛型等。
16. Spark:
基于Scala 2.12版本,对Spark 3.0版本的核心模块进行了详尽的源码级讲解,授课图文并茂,资料详实丰富,带你领略不一样的技术风景线。
17. Spark调优:
Spark是大数据工程师的必备技能之一,本套Spark性能调优教程从多个角度详解Spark调优策略,包括资源配置调优、Spark SQL语法调优、执行计划解读、数据倾斜问题解决、Job优化、Spark 3.0新特性详解等。每个角度都提供了多种解决方案参考,并提出了详细的配置参数,剖析了常见的故障排除手法,可解决工作中遇到的各种Spark疑难杂症。
基于Spark 3.0版本,拆解了Spark 3.0的新特性:AQE(自适应查询执行)、DPP(动态分区裁剪)、Hint增强,新增了谓词下推、列剪裁、常量替换、基于CBO的优化等Spark SQL优化手段。教程内容涉及面广、系统性强,将常用的Spark优化手段综合分类,提供了多种解决方案,在讲解常见问题的前提下,更注重培养解决问题的通用思路,让学习者可以触类旁通举一反三。
18. Git:
Java和大数据通用版Git教程,基于2.31.1版本讲解,使用开发工具IDEA集成,从企业开发真实需求出发,从最基础的常用命令开始讲起,到开发工具集成Git 、如何进行团队协作、国内代码托管中心Gitee码云的使用、局域网自建代码托管平台服务器的部署……内容详尽,由浅入深,无所不包。
19.Flink(Java):
分为两部分:Flink基础理论与基于Flink的电商用户行为分析项目实战。 第一部分Flink基础理论的讲解,涉及到各种重要概念、原理和API的用法,并配有大量的示例代码实现; 第二部分以电商作为业务应用场景,以Flink作为分析框架,介绍一个电商用户行为分析项目的开发实战。
20.Flink(SQL):
在已有的Flink理论和项目课程的基础上,又精心打造了Table API 和Flink SQL课程;通过对Flink Table API和Flink SQL理论基础、调用方式和自定义函数的详细讲解,将Flink技能点的最后一块拼图补上,为转型期的工程师、学习期的同学提供新而全的技术支持。由于Table API和SQL还处于快速发展中、尚未完善,有很多版本变化带来的API改变,课程中也做了具体说明,方便大家对各种版本的代码进行对比和兼容。
21. Flink内核源码解析:
针对Flink 1.12.0版本的核心模块进行源码级讲解,从任务提交流程、通讯过程、Task调度、内存模型四大方面入手,庖丁解牛逐行分析源码,手术刀级别剖析Flink内核架构!
22. Flink性能调优:
以企业开发环境为基础,从资源配置调优、状态及调优、反压处理、数据倾斜、Job优化、Flink SQL调优六大角度出发,详细讲解了如何对Flink应用进行调优。此外,还广泛收集了常见的Flink开发故障,给出了问题解决思路。
23.:
是一个真正面向列的DBMS,采用列式存储,提供超高压缩比的压缩算法,轻松存储海量数据。多样化的引擎方案、类LSM Tree的结构、极致的并行处理能力,可以为用户提供高吞吐实时数据处理,其单表查询能力更是尤其亮眼。
从入门级别的单机安装、分片集群部署、数据类型讲解、多样化表引擎介绍,以及不可或缺的SQL操作详细讲解;到深入级别的执行计划操作、建表优化、表参数调优、CPU参数调优、内存参数调优,以及多种语法优化规则讲解、多种单表查询优化策略讲解;再到进阶级别的与和集成监控详解、手动实现备份与恢复等……
24. Flink CD:
理论与实践相结合,从Flink CDC的基本使用入手,分别讲解了方式和方式两种使用模式,并详细讲解了如何自定义反序列化器。更为用户调研了Flink新的Flink CDC 2.0,基于1.x的技术痛点,2.0给出了更优化的解决方案,教程结合源码深入分析了其核心原理。
25. :
数据可视化在大数据领域有着十分重要的位置,如何选择一款适合的可视化工具,需要做大量的调研工作。是一款优秀易用的开源数据可视化平台,功能强大且兼容性强,可对接多种数据源,图标展示形式丰富多样,支持自定义仪表盘。
详细讲解了的环境搭建及使用克鲁斯卡尔算法数据结构,教程内容包括环境搭建、启停脚本编写、对接常用数据源、仪表盘配置实战、常用图表如折线图、地图、饼状图的详细配置等。
26. Atlas:
基于稳定新版本Atlas 2.1进行讲解,从Atlas运行环境的安装部署,到与生态圈的众多组件进行集成,都进行了细致的讲解,并全部经过了兼容性调研,还扩展讲解了如何编译Atlas源码,以及内容配置和用户权限配置等。
27. 监控告警系统:
集成了++睿象云的监控告警系统,融合了当下热门的监控系统,使用了便捷的数据可视化工具,睿象云智能告警平台可接入各类告警信息,提供了丰富的告警形式。本套教程细致讲解了三大技术的部署配置与互相集成,手把手教你打造一个功能完善、界面美观、报警及时的监控系统。
28. Kylin:
不仅讲解了Kylin的日常使用,还从基本的前置概念入手,讲解了Kylin的底层架构,通过准备原始数据,一步步展开介绍Kylin的安装部署和常规操作;并结合具体案例,深入分析了Kylin的cube构建算法等底层原理;在实际应用层面详解了常用的Kylin优化手段和BI工具,如JDBC和。讲解不局限于表面应用,更深入其底层原理,一套教程搞定Kylin!
三.项目实战:
1. 电商数仓2.0:
从数据仓库的架构搭建入手,穿插数据仓库的重要理论知识,包括数仓建模、范式理论和同步策略等,让你知其然更知其所以然。
2. 电商数仓3.0:
从数据仓库的架构搭建入手,实现了数据仓库项目的闭环,从数据采集到数仓建模,再到数仓应用全面涵盖。
3. 电商数仓4.0:
涵盖生态系统的所有主流技术:、Hive、Spark、Flume、Kafka、、、Sqoop、Atlas、Kylin、、、、等,均采用了稳定版。数据治理内容更加全面,搭建+的一体化权限管理系统,使用+Shell脚本实现自动化数据质量监控,使用+实现集群性能监控,采用目前企业主流的元数据管理应用Atlas实现了数据血缘管理,保障了数仓的安全性、一致性和可靠性。
数据仓库建模理论是整个数据仓库的核心部分,本套视频教程对数据仓库理论部分进行了大幅扩充,对维度建模、关系建模理论的讲解更加透彻,新增了数据仓库理论热门名词概念讲解。通过本套教程的学习,你可以掌握数据仓库建模的各种理论知识,从零开始搭建一套数据仓库系统,掌握主流的大数据相关技术,对数据仓库的整体构架有一个完整的认识。本套教程的数据仓库项目与企业真实项目无缝对接,实现需求的思路可直接嫁接至现实工作中,可以为你在大数据开发过程中遇到难题提供更多的解决问题思路。
适合具备一定大数据技术基础的学习者,需掌握Linux的日常操作,了解生态的基础框架。
4. 电商项目(实时处理):
项目讲解,可掌握企业中使用Spark 进行实时计算的完整流程,并掌握整个环节中涉及的各类框架技术。
5. 电信客服案例:
学习项目架构搭建,数据生产,数据消费,数据分析,以及数据展示等项目核心业务功能的实现。学习过程中,我们将使用Flume,Kafka,HBase,,,等大数据框架完成整个业务的实现,并在学习过程中对各个框架的应用和原理进行梳理和剖析。
6. 机器学习与推荐系统:
主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。 第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用做了实现; 第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。
7. 电商推荐系统:
包含了离线推荐与实时推荐体系,综合利用了协同过滤算法以及基于内容的推荐方法来提供混合推荐。具体实现的模块主要有:基于统计的离线推荐、基于隐语义模型的离线推荐、基于自定义模型的实时推荐,以及基于内容的、和基于Item-CF的离线相似推荐。
8. 阿里云数仓(离线):
以国内电商巨头实际业务应用场景为依托,同时以阿里云ECS服务器为技术支持,紧跟大数据主流场景,对接企业实际需求,对电商数仓的常见实战指标进行了详尽讲解,让你迅速成长,获取最前沿的技术经验。
9. 阿里云数仓(实时)程:
结合国内多家企业实际项目经验,从框架版本选型、系统架构设计、业务流程设计,手把手带你从零开始完成基于阿里云的实时数仓项目。(版本框架:RDS、、DTS、实时计算、、DataV等)。
10. Flink实时数仓:
掌握企业实际开发中实时数仓搭建的全流程,深入理解Flink的高阶应用实例,掌握开发环节多种框架技术。
四.选学技术:
1. IDEA:
IDEA在业界被公认为非常好的Java开发工具之一,因其功能强悍、设置人性化,而深受Java、大数据、移动端程序员的喜爱。本着"工欲善其事必先利其器"的精神,从IDEA的介绍、安装、设置入手,讲解IDEA中多种项目的创建、模板的使用、断点调试、数据库的关联、插件的下载、Maven及版本控制工具的配置等内容。
2. SVN:
SVN()是目前使用广泛的版本控制软件,作为CVS的继任者,它在很多方面都具有鲜明的特色,提供了更好的操作体验,很好的解决了在实际的企业开发过程中诸如:数据备份、代码还原、协同修改、版本管理、追溯问题代码的编写人和编写时间以及权限控制等问题。
3. :
采用Redis 6.2.1版本,内容由浅入深,循序渐进,从Redis的基本概念开启讲解,内容涵盖:Redis安装与部署、Redis常用数据类型操作和底层结构、Redis客户端Jedis和整合项目、Redis事务和锁,Redis持久化RDB和AOF、Redis主从复制和集群、Redis应用中的问题和解决方案(缓存穿透、击穿、雪崩、分布式锁)、Redis的新数据类型以及Redis 6的新特性等。
4. JUC:
主要讲授Java JUC线程部分的内容:针对 Java 5.0 提供的 java.util. (简称 JUC )包中的线程的高级应用。 在此包中增加了在并发编程中常用的实用工具类,用于定义类似于线程的自定义子系统,包括线程池、异步 IO 和轻量级任务框架。提供可调的、灵活的线程池。还提供了设计用于多线程上下文中的 实现等。
5. Flink(Scala):
分为两大部分:Flink理论基础和基于Flink的电商用户行为分析项目实战。 本套视频教程通过理论和实际的紧密结合,使学习者对Flink有充分的认识和理解,在项目实战中对Flink和流式处理应用的场景,以及电商分析业务领域有更深刻的认识。并且通过对流处理原理的学习和与批处理架构的对比,对大数据处理架构有更全面的了解,为日后成为架构师打下基础。
6. Oozie:
Oozie是大数据生态圈中一个基于工作流的任务调度工具,也是大数据工程师的一个常用工具。在本课程中,你将学习到,Oozie的原理、安装配置、使用Oozie实现调度Shell脚本、逻辑调度多个Shell脚本、直接调度任务以及定时逻辑调度多个任务。
7. :
近年来,容器技术在互联网行业大火,特别是在开发和运维方向,极大地解决了规模化和灵活化部署的问题,作为容器技术的代表作更是被广泛应用。
技术点从入门到高级全面覆盖,系统掌握容器技术,从菜鸟到老鸟,成为云原生时代的高级开发人员!
8. :
基于 7.8.0版本,由浅入深讲解的开发应用、核心原理以及与其他经典数据分析引擎Spark、Flink的集成方式,带你玩转全文检索!最后会重点讲解的优化和常见面试题。
9. K8S:
k8s版本升级为新版1.18.0,内容由浅入深,且更加深化细节,对于开发者大大提高了友好度,增加了项目实战部署。教程完整演示了一个真实的项目从零开始部署到k8s集群,包括项目打包、制作镜像、部署过程等。
10. Java数据结构及算法:
使用Java来讲解数据结构和算法,考虑到数据结构和算法较难克鲁斯卡尔算法数据结构,授课采用图解加算法游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、八皇后问题、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘算法。
通过学习,学员能掌握主流数据结构和算法的实现机制,开阔编程思路,提高优化程序的能力。
11. Scala数据结构和算法:
使用Scala语言来讲解数据结构和算法,内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、表达式的转换与求值、递归与回溯、迷宫问题、冒泡排序、选择排序、插入排序、快速排序、归并排序、排序速度分析、二分查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、其它二叉树介绍(AVL 线索二叉树 赫夫曼树)。通过学习,学员能掌握主流数据结构的实现机制,开阔编程思路。
12. :
内容涵盖数据的安装、配置及日常的数据库管理,SQL内容精讲精练,并涵盖约束、SET运算符和高级子查询,以及PL/SQL的实战使用。每个技术点均以目前新版本设计,结合企业应用的实用性加以修订。
13. DataX:
从DataX安装部署开始讲起,详细讲解了MySQL、、、、DB2等数据库的数据同步操作,且不囿于安装操作,更深入内核源码,解读数据同步的执行流程,并对DataX的使用优化进行深入调研,提供了多种常见优化方案。一套教程,带你轻松玩转DataX!