体系课大数据工程师2022版2.0升级版
如果链接失效请添加客服QQ:985303259
进行反馈!直接说出您的需求
切记带上资源链接及问题
如有其它疑问请点击文章底部的【常见问题】
主讲:资深大数据架构师 徐老师课时:118 小时
2022版已迭代两次,紧跟一线大厂用人需求,对标高薪就业标准
Java/Scala双语言教学,系统构建大数据技能体系
企业级案例驱动学习,还原真实业务场景
课程介绍
体系课-大数据工程师2022版2.0升级版2022版已迭代两次,紧跟一线大厂用人需求,对标高薪就业标准
Java/Scala双语言教学,系统构建大数据技能体系
企业级案例驱动学习,还原真实业务场景
2022版已新增40+课时,30+知识点,全面覆盖企业最新应用场景
试看链接:https://pan.baidu.com/s/1_PpjVl3CumYkYszO-QpwIw?pwd=39lt章节目录:阶段一:走进大数据第1周 学好大数据先攻克Linux在步入大数据殿堂之前,先带领大家快速掌握大数据的必备技能:Linux的操作使用,为后面学习大数据技术打下坚实基础。预习资料传送门:http://suo.im/613aVS 提取码:bbbb课程安排:1、掌握Linux虚拟机的安装和配置2、使用ScecureCRT连接Linux虚拟机3、掌握Linux中常见高级命令(vi、wc、sort、date、jps、kill等命令)的使用4、掌握Linux中三剑客(grep、sed、awk)的常见用法5、掌握Linux的高级配置(ip、hostname、防火墙)6、掌握Shell脚本的开发7、掌握Shell中变量、循环和判断的使用8、掌握Shell中的扩展内容9、掌握Linux中crontab定时器的使用10、了解认识什么是大数据11、大数据产生的背景12、大数据的4V特征13、大数据的行业应用【本周思考与讨论】1、结合自己的实际情况,明确学习目标、制定学习计划。有计划、有执行、有落实,必有收获!2、利用学习的Linux高级技能实现论坛访问日志数据分析,看一下到底是谁在暴力攻击你的网站?3、某云服务器被挖矿病毒程序侵入,病毒程序很顽强,如何开发一个脚本监控并杀掉此病毒程序?4、手动安装JDK配置环境变量太繁琐了,如何开发一个一键安装配置JDK的程序?5、为什么使用jps命令查看不到正在运行的Java进程?6、在SecureCRT中按Ctrl+s会发生什么现象,尝试一下?7、如何确认Crontab中的定时任务是否正常执行?8、使用crontab -e 和 vi /etc/crontab配置的定时任务有什么区别?9、谈一谈你眼中的大数据是什么样的?学习贵在坚持,每天进步一点点!第2周 大数据起源之初识HadoopHadoop是大数据开创者,引领者,学习大数据必经之路,本周带领大家了解Hadoop,以及Hadoop集群的安装部署。预习资料:http://suo.im/5SMmAO 提取码:bbbb课程安排:1、什么是Hadoop2、Hadoop发行版介绍3、Hadoop版本演变历史4、Hadoop3.x的细节优化5、Hadoop三大核心组件介绍6、伪分布集群安装部署7、分布式集群安装部署8、Hadoop的客户端节点【本周思考与讨论】1、如何让你对大数据平台进行技术选型,你是选择原生Hadoop还是CDH/HDP?这样选择的依据是什么?2、谈一下你对Hadoop的认知,Hadoop的出现到底改变了什么?3、你在安装Hadoop集群的时候都遇到了哪些坑?如何解决的?4、动手配置一个Hadoop客户端节点,都有哪些注意事项?5、Hadoop客户端节点是怎么识别Hadoop集群的?6、如果让你规划一套大数据平台的部署方案,你会如何规划?授人以鱼不如授人以渔,加油,打工人!第3周 Hadoop之HDFS的使用通过生活场景"小明租房"案例引入HDFS核心架构,掌握HDFS的常见Shell操作以及Java代码操作,对以后实现海量数据的存储打下基础。课程安排:1、生活场景引入:"小明租房"案例一步一步引入Hadoop中的分布式存储架构2、HDFS的Shell介绍3、HDFS的常见Shell操作4、HDFS案例实操5、Java代码操作HDFS6、HDFS的高级Shell命令7、HDFS读数据过程分析8、HDFS写数据过程分析9、HDFS写数据源码分析【本周思考与讨论】1、还有哪些和HDFS类型的分布式文件系统?它们都有什么特点?2、如何实现大海捞针,从HDFS中揪出不经常使用并且占用空间的大文件?3、如何获取指定的HDFS目录下所有文件的Block块信息?4、在工作中最常用的是使用shell命名操作HDFS还是使用Java代码操作?5、我们自己串联多块硬盘实现海量数据存储和使用HDFS有什么区别?6、HDFS集群之间是否可以实现数据迁移?7、如何通过JS代码(或者C++、PHP之类的代码)获取HDFS中的文件信息?知其然也要知其所以然!第4周 Hadoop之HDFS核心进程剖析通过对HDFS中核心进程NameNode、SecondaryNameNode、DataNode进行详细分析,帮助大家更好的理解HDFS的底层原理课程安排:1、NameNode介绍2、NameNode深入3、SecondaryNameNode介绍4、DataNode介绍5、HDFS的回收站6、HDFS的安全模式详解7、实战:定时上传数据至HDFS8、HDFS的高可用和高扩展机制分析【本周思考与讨论】1、HDFS中的回收站和windows中的回收站有什么区别?2、Hadoop中必须要有SecondaryNameNode进程吗?3、HDFS中NameNode内存将要耗尽,有什么解决方案?4、一台128G内存的NameNode节点理论上可以存储多少文件的元数据?5、HDFS中的安全模式是为了干什么?有什么意义?6、HDFS的存储能力理论上来说是有极限的,如何扩容?7、开发脚本实现定时向HDFS中上传内容和下载内容动手一次胜过浏览万次,多做,多练!第5周 Hadoop之初识MR通过"计算扑克牌中的黑桃个数"案例引入MapReduce的思想,详细分析了MapReduce的执行流程,并且通过开发WordCount案例加深理解。课程安排:1、MapReduce介绍2、 MapReduce执行原理3、实战:WordCount案例图解4、实战:WordCount案例开发5、MapReduce任务日志查看6、停止Hadoop集群中的任务7、MapReduce程序扩展【本周思考与讨论】1、谈一下你对本地计算的理解?它的计算性能为什么这么高?2、如何开发一个只有map阶段的MapReduce任务?这种任务的应用场景是什么?3、使用MapReduce如何开发自定义二次排序Key?4、使用MapReduce如何实现统计TopN的需求?5、谈一谈你对源码分析的看法?如何快速高效分析项目源码?6、如果MapReduce任务中没有shuffle过程会出现什么现象?7、MapReduce中的Combiner阶段在什么场景下适合使用?8、如何使用MapReduce对数据实现全局排序?源码是解决一切问题的根源,一言不合,源码中见分晓!阶段二:PB级离线数据计算分析存储方案第6周 拿来就用的企业级解决方案详细分析了小文件的解决方案、数据倾斜的解决方案、YARN调度器的使用、以及Hadoop在CDH和HDP中的使用。课程安排:1、小文件问题之SequenceFile2、小文件问题之MapFile3、案例:小文件存储和计算4、 数据倾斜问题分析5、数据倾斜案例实战6、YARN的基本情况介绍7、YARN中的调度器分析8、案例:YARN多资源队列配置和使用9、Hadoop官方文档使用指北10、Hadoop在CDH中的使用11、Hadoop在HDP中的使用【本周思考与讨论】1、在工作中如何遇到了小文件问题,都有哪些解决方法?你推荐是用哪种?理由是什么?2、能不能使用zip或者rar文件解决HDFS中的小文件问题?3、总结一下数据倾斜产生的原因,如何避免?如何解决?4、如何从一批数据中找出倾斜的key?5、分析一下Hadoop中的RPC框架?6、想一下,如果给你一个10T内存、6400个CPU的大数据集群,你会如何在YARN中分配多个资源队列?7、在MapReduce程序中使用gzip数据压缩方式对程序计算性能进行优化,对比一下性能提升了多少?8、在MapReduce中如何实现多路输入(同时指定多个不同的输入目录)?9、在MapReduce中如何实现多路输出(按照一定规则,将结果输出到多个不同的目录中)?【福利加餐】1、大数据技术揭开抖音推荐的真相2、大厂资深HR教你如何准备简历和面试3、扩展知识-Hadoop3.0新特性之纠删码技术4、疑难问题-课程内容典型疑难问题整理【第一弹】5、面试题-课程内容常见面试题整理【第一弹】理论和实践是好基友,学练结合,效果增倍!第7周 Flume从0到高手一站式养成记Flume是一个分布式、高可靠、高可用的系统,能够有效的收集、聚合、移动大量的日志数据,在数据采集领域,属于中流砥柱,在这里通过原理、实战、监控、优化等层面对Flume进行学习。课程安排:1、快速了解Flume2、Flume的三大核心组件3、Flume安装部署4、Flume的Hello World5、案例:采集文件内容上传至HDFS6、Flume高级组件之Source Interceptors7、Flume高级组件之Channel Selectors8、Flume高级组件之Sink Processors9、各种自定义组件10、Flume优化11、Flume进程监控【本周思考与讨论】1、设想一下,给你几百台机器让你采集日志数据,你应该如何快速高效的实现?2、和Flume类似的日志数据采集工具还有Logstash、Filebeat,他们有什么典型区别?如何进行技术选型?3、如何开发一个通用的监控程序来监控Flume进程的运行情况,实现监控+预警+自动重启一条龙服务?4、如何使用Flume中的自定义拦截器实现数据分目录存储?5、如果Flume中内置的sink组件不够用,如何开发自定义的Sink组件实现数据存储?6、 Flume中哪些地方用到了事务机制?合适的才是最好的,技术选型的时候要坚持此原则!第8周 数据仓库Hive从入门到小牛频繁的开发MapReduce是非常繁琐的,并且很多业务人员是不懂代码的,如何让他们也可以很方便的操作HDFS中的海量数据呢?Hive的横空出世,解决了这一难题。课程安排:1、快速了解Hive2、数据库和数据仓库的区别3、Hive安装部署4、Hive使用方式之命令行方式5、Hive使用方式之JDBC方式6、Set命令的使用7、Hive的日志配置8、Hive中数据库的操作9、Hive中表的操作10、Hive中数据类型的应用11、Hive表类型之内部表+外部表12、Hive表类型之内部分区表13、Hive表类型之外部分区表14、Hive表类型之桶表+视图15、Hive数据处理综合案例16、Hive高级函数之分组排序取TopN17、Hive高级函数之行转列18、Hive高级函数之列转行19、Hive的排序函数20、Hive的分组和去重函数21、一个SQL语句分析22、Hive的Web工具-HUE【本周思考与讨论】1、如何在Hive中开发自定义SQL函数实现单词首字母大写转换功能?2、如何开发开发只产生一次shuffle且无子查询的SQL语句?3、使用Hive SQL统计一份订单销售数据,计算出月环比4、针对一个用到了union all和group by的SQL,在数据量很大的情况下,就会很慢,如何优化此SQL?5、在一份海量数据中,如何使用HiveSQL发现倾斜的Key?6、摘取自某同学工作中的实际需求:使用Hive加载指定复杂嵌套格式的数据7、生产环境中为什么建议使用Hive外部表?8、Hive分区表如何开启自动加载分区?9、Hive中支持多种数据存储格式,默认是TextFile,还可以SequenceFile、RCFile、ORCFile等,这4种数据存储格式有什么优缺点?第9周 Hive扩展内容针对Hive中的数据压缩格式和数据存储格式进行扩展分析,进一步提高Hive的存储能力和计算性能。课程安排:1、常见的数据压缩格式介绍2、数据压缩格式选择建议和压缩位置3、数据压缩格式案例实战分析4、默认未压缩格式演示5、Deflate压缩格式演示6、Gzip压缩格式演示7、Bzip2压缩格式演示8、Lz4压缩格式演示9、Snappy压缩格式演示10、Lzo压缩格式演示11、数据存储格式之TextFile的原理及使用12、数据存储格式之SequenceFile的原理及使用13、数据存储格式之RCFile的原理及使用14、数据存储格式之ORC的原理及使用15、数据存储格式之Parquet的原理及使用16、数据存储格式总结17、数据压缩格式和存储格式在数仓中的应用【本周思考与讨论】1、为什么要在Hive中集成压缩格式?2、如何在Hive中针对Map阶段的中间结果设置压缩?3、针对小文件的问题,在Hive中应该如何解决?4、在Hive数据仓库中应该如何选择合适的数据存储格式和压缩格式?第10周 快速上手NoSQL数据库HBaseHBase是一个高可靠 、高性能 、面向列 、可伸缩的NoSQL数据库,解决了HDFS无法实现修改删除的问题,适合应用在高并发实时读写的应用场景中。课程安排:1、HBase核心原理介绍2、列式存储简介及优点3、HBase典型应用场景及应用案例分析4、HBase的优缺点总结5、HBase逻辑存储模型详解6、HBase集群安装部署7、HBase常用命令之基础命令和DDL命令8、HBase常用命令之增删改查命令和命名空间的操作9、HBase JavaAPI开发环境配置10、HBase JavaAPI之增加和查询操作11、HBase JavaAPI之查询多版本数据和删除操作12、HBase JavaAPI之创建表和删除表13、Region概念详解14、HBase物理架构详解15、HBase底层架构详解16、WAL预写日志系统17、HFile文件及布隆过滤器介绍18、HFile的合并机制详解19、Region的分裂机制详解20、Region的负载均衡策略详解21、列族高级设置22、Scan全表扫描功能详解23、HBase批量导入和批量导出功能详解24、HBase链接池分析25、HBase预分区、Rowkey列族的设计原则26、HBase核心参数优化27、HBase扩展内容(Hive+HBase、Phoenix、协处理器、Elasticsearch+HBase)28、HBase常见问题总结29、HBase实现分页功能30、封装HBaseUtils工具类【本周思考与讨论】1、如果想支持海量数据读写需求和SQL查询分析需求,有哪些解决方案或技术组件可以实现?2、HDFS是不支持修改删除的,为什么HBase是基于HDFS的,HBase却可以支持修改删除?3、如果有固定多个字段组合查询的需求,应该对HBase做哪些设计?4、为什么在大数据领域很多技术框架底层数据存储倾向于使用列式存储?5、谈一谈你的HBase中的多数据版本特性的理解?6、谈一谈你对HBase中列族的理解?阶段三:Spark+综合项目:电商数据仓库设计与实战第11周 7天极速掌握Scala语言Scala的函数式编程受到很多框架的青睐,例如Kafka、Spark、Flink等框架都是使用Scala作为底层源码开发语言,下面就带着大家7天极速掌握Scala语言。课程安排:1、快速了解Scala2、Scala环境安装配置3、Scala中的变量和数据类型4、Scala中的表达式和循环5、Scala集合体系之Set+List+Map6、Scala中的Array和Tuple7、Scala中函数的使用8、Scala面向对象之类的使用9、Scala面向对象之对象和伴生对象10、Scala面向对象之apply和main的使用11、Scala面向对象之接口的使用12、Scala函数式编程之匿名函数和高阶函数的使用13、Scala高级特性之模式匹配和隐式转换【本周思考与讨论】1、谈一下你对Scala语言的认知,Scala和Java有什么异同?Scala的语法格式和Python有没有相似之处?2、Scala中的匿名函数和Java中的匿名函数有什么区别?3、如何使用Scala代码读取MySQL数据库中的数据?4、如何使用Scala实现单例设计模式?Scala中不支持静态关键字,如何实现单例?5、Scala中的数据类型和Java中的数据类型有什么区别?6、Scala代码和Java代码可以无缝集成吗?7、分析一下Scala中的map和tuple 的区别?8、Scala中的下划线 _ 有哪些作用?第12周 Spark快速上手Spark是目前企业中应用最广泛的计算引擎,盘它!实际案例详细分析Spark中的Transformation算子和Action算子使用,RDD持久化,共享变量使用,最后通过一个综合案例加深理解。课程安排:1、快速了解Spark2、Spark 集群安装部署(Standalone+ON YARN)3、Spark工作原理分析4、什么是RDD5、Spark架构原理6、Spark项目开发环境配置7、WordCount代码开发(Java+Scala)8、Spark任务的三种提交方式9、Spark开启historyServer服务10、创建RDD的三种方式11、Transformation和Action介绍12、Transformation操作开发实战13、Action操作开发实战14、RDD持久化原理15、RDD持久化开发实战16、共享变量之Broadcast Variable的使用17、共享变量之Accumulator的使用18、案例实战:TopN主播统计19、面试题【本周思考与讨论】1、谈一下你对Spark的理解,Spark和Hadoop之间是什么关系?2、按照你的理解,在工作中最常用的是Spark的哪一种任务提交方式?说出你的理由?3、你们目前工作中开发Spark代码是使用scala语言还是java语言?你倾向于使用哪一种语言?4、在Spark程序中将处理的结果数据按照一定的规则,输出到多个不同的目录中,实现多路输出5、如何使用Spark程序实现对WordCount的结果排序输出?6、如何使用Spark实现自定义二次排序Key的开发?7、Spark中join和cogroup的区别?8、Spark如何读取多个不同目录下的数据(多路输入)?9、介绍一下Spark的远程进程通信机制?第13周 Spark性能优化的道与术通过对Spark中的宽依赖、窄依赖、Stage、Shuffle机制进行详细分析,加深对Spark的理解,以及对Spark中的checkpoint机制通过源码层面进行深度剖析。课程安排:1、宽依赖和窄依赖2、Stage的理解3、Spark任务的三种提交模式4、Shuffle介绍5、三种Shuffle机制分析6、checkpoint概述7、checkpoint和持久化的区别8、checkpoint代码开发和执行分析9、checkpoint源码分析之写操作和读操作10、Spark程序性能优化分析11、高性能序列化类库Kryo的使用12、持久化或者checkpoint13、JVM垃圾回收调忧14、提高并行度15、数据本地化16、算子优化17、SparkSql快速上手使用18、实战:SparkSQL实现TopN主播统计【本周思考与讨论】1、谈一下你对宽依赖和窄依赖的理解,以及Stage的个数和宽依赖之间的关系?2、谈一下你对Spark性能优化的总结,到底哪种优化策略的效果最明显?3、想要在Spark中直接操作MySQL应该如何实现?4、如何在SparkSQL中使用自定义函数(UDF)?5、算子优化在优化方案中常见吗?都适合在哪些场景中使用?6、Spark中的repartition和coalesce有什么区别?7、谈一下你对SparkSQL和Hive的理解?8、分析一下SparkSQL的执行流程?第14周 Spark3.x扩展内容基于Spark3.x版本进行更新迭代,重点分析Spark3.x中的新特性,并且扩展SparkSQL相关内容。课程安排:1、Spark 3.0.0版本介绍2、基于Spark 3.x版本开发代码3、在已有的大数据集群中集成Spark 3.x环境4、向YARN中同时提交Spark 2.x和Spark 3.x的代码5、Spark 1.x~3.x的演变历史6、自适应查询执行之自适应调整Shuffle分区数量7、自适应查询执行之动态调整Join策略8、自适应查询执行之动态优化倾斜的 Join9、Spark 3.x新特性之动态分区裁剪10、Spark 3.x新特性之加速器感知调度11、Spark 3.x新特性之Catalog 插件 API12、Spark 3.x新特性之更好的 ANSI SQL 兼容性13、在SparkSQL 命令行中集成Hive14、在SparkSQL 代码中集成Hive15、SparkSQL写入Hive表的几种方式【本周思考与讨论】1、禁用动态优化倾斜的 Join策略时,如何解决数据倾斜问题?2、禁用动态调整Join策略时,如果实现Map端Join?3、动态分区裁剪和SQL中的谓词下推有什么关系?第15周 综合项目:电商数据仓库之用户行为数仓整合各个业务线数据,为各个业务系统提供统一&规范的数据出口。通过对项目的由来,需求、技术进行分析和选型,实现用户行为数据数仓开发。课程安排:1、项目效果展示2、项目的由来3、什么是数据仓库4、数据仓库基础知识5、数据仓库分层6、典型数仓系统架构分析7、技术选型8、整体架构设计9、服务器资源规划10、生成用户行为数据【客户端数据】11、生成商品订单相关数据【服务端数据】12、采集用户行为数据【客户端数据】13、Sqoop安装部署14、Sqoop之数据导入功能15、Sqoop之数据导出功能16、采集商品订单相关数据【服务端数据】17、用户行为数据数仓开发之ods层开发18、用户行为数据数仓开发之ods层脚本抽取19、用户行为数据数仓开发之dwd层开发20、用户行为数据数仓开发之dwd层脚本抽取21、用户行为数据数仓需求分析22、用户行为数据数仓需求开发23、用户行为数据数仓表和任务脚本总结【本周思考与讨论】1、谈一下你对数据仓库分层的理解,如果分成3层或者5层可以吗?2、谈一下你对数仓技术选型的看法,请提出你的思路?3、如何使用Sqoop将MySQL表数据导入Hive表中?4、如何使用Sqoop将Hive表数据导出到MySQL表中?5、开发数仓的时候有哪些注意事项?什么时候容易掉坑里面?6、针对数仓脚本的开发心得,交流一下7、什么是数据湖?谈一下你的理解?第16周 综合项目:电商数据仓库之商品订单数仓基于商品订单数据开发数仓,详细分析了拉链表的由来和具体实现。使用数据可视化工具Zepplin实现数据展现,使用Azkaban调度器实现任务依赖调度。课程安排:1、商品订单数据数仓开发之ods层和dwd层2、商品订单数据数仓需求分析与开发3、什么是拉链表4、如何制作拉链表5、【实战】基于订单表的拉链表实现6、拉链表的性能问题分析7、商品订单数据数仓表和任务脚本总结8、数据可视化之Zepplin的安装部署和参数配置9、数据可视化之Zepplin的使用10、任务调度之Crontab调度器的使用11、任务调度之Azkaban的安装部署12、任务调度之Azkaban提交独立任务13、任务调度之Azkaban提交依赖任务14、任务调度之在数仓中使用Azkaban15、项目优化【本周思考与讨论】1、使用Hive SQL可以实现数据清洗,使用Spark代码也能实现数据清洗,有什么区别吗?2、使用Spark代码实现ods层数据清洗工作,替换掉之前的Hive SQL3、针对用户信息表,有必要制作成拉链表吗?说出你的理由?4、Crontab和Azkaban都能实现任务调度,应该如何技术选型呢?5、如何使用Azkaban实现调度漏斗分析需求相关任务?6、Hive和Impala有什么异同?谈一谈你对Impala的理解?7、Ooize和Azkaban都是大数据中常用的任务调度工具,谈一下你对Ooize的看法?阶段四:高频实时数据处理+海量数据全文检索方案第17周 消息队列之Kafka从入门到小牛Kafka是一个支持高吞吐、持久性、分布式的消息队列,非常适合海量数据的实时生产和消费,详细分析了Kafka的核心原理、代码实战、性能优化,以及Kafka的企业级应用。课程安排:1、什么是消息队列2、什么是Kafka3、Zookeeper安装部署之单机模式和集群模式4、 Kafka安装部署之单机模式和集群模式5、Kafka中的生产者和消费者6、案例:QQ群聊天7、Broker扩展内容8、Producer扩展内容9、Consumer扩展内容10、Topic+Partition+Message扩展内容11、Kafka中的存储策略12、Kafka中的容错机制13、Java代码实现生产者代码14、Java代码实现消费者代码15、消费者代码扩展16、Consumer消费Offset查询17、Consumer消费顺序18、Kafka的三种语义19、Kafka参数调忧之JVM参数调忧20、Kafka参数调忧之Replication参数调忧21、Kafka参数调忧之Log参数调忧22、Kafka Topic命名小技巧23、Kafka集群监控管理工具(CMAK)24、实战:Flume集成Kafka25、实战:Kafka集群平滑升级【本周思考与讨论】1、Kafka和ActiveMQ、RabbitMQ、RocketMQ这些MQ有什么区别?2、如何使用Zookeeper实现分布式进程监控?原理是什么?3、Zookeeper如何实现分布式共享锁?原理是什么?4、如何保证Kafka数据不丢失?5、kafka如何保证数据一致性和可靠性?6、谈一谈你对Kafka中exactly-once语义的理解?7、如何开发一个基于Kafka的Topic Offset变化智能监控工具?8、如何开发一个基于Kafka的消费者待消费数据(lag)监控告警工具?第18周 极速上手内存数据库RedisRedis是一种面向键值对的NoSQL内存数据库,可以满足我们对海量数据的读写需求,在这里我们学习Redis中的五种常用数据类型以及Redis中的一些高级特性,达到快速上手使用。课程安排:1、快速了解Redis2、Redis的安装部署3、Redis基础命令4、Redis多数据库特性5、Redis常用数据类型之String6、Redis常用数据类型之Hash7、Redis常用数据类型之List8、Redis常用数据类型之Set9、Redis常用数据类型之Sorted Set10、案例:存储高一班的学员信息11、Java代码操作Redis之单连接12、Java代码操作Redis之连接池13、提取RedisUtils工具类14、Redis高级特性之expire15、Redis高级特性之pipeline16、Redis高级特性之info17、Redis持久化之RDB18、Redis持久化之AOF19、Redis的安全策略20、Redis监控命令-monitor21、Redis架构演进过程【本周思考与讨论】1、如何使用Redis实现一个带有优先级的先进先出队列?2、如何使用Scala代码实现RedisUtils工具类?3、如何使用Redis方便的获取前10名学生信息以及获取某一个学生的排名?4、Redis中事务和管道的区别?5、如何查看Redis中的数据使用了多少内存?6、Redis的内存碎片问题如何解决?第19周 Flink快速上手篇快速了解Flink的基本原理和核心特点,掌握Flink中流数据和批数据的编程思路和代码实战,Flink中Standalone集群、ON YARN集群的安装部署,以及Flink中核心API的使用。课程安排:1、快速了解Flink2、Flink Streaming程序开发3、Flink Batch程序开发4、Flink Standalone集群安装部署5、Flink ON YARN的第一种方式6、Flink ON YARN的第二种方式7、向集群中提交Flink任务8、Flink核心API介绍9、DataStream API之DataSource10、DataStream API之Transformation11、DataStream API之分区规则介绍12、DataStream API之分区规则的使用13、DataStream API之DataSink14、DataSet API之DataSource15、DataSet API之Transformation16、DataSet API之DataSink17、Table API 和 SQL介绍18、创建TableEnvironment对象19、TableAPI和SQL的使用20、使用DataStream创建表21、使用DataSet创建表22、将表转换成DataStream22、将表转换成DataSet【本周思考与讨论】1、如何在Flink流计算中开发自定义Source?2、如何在Flink流计算中开发自定义Sink?3、如何在Flink批处理中创建自定义Source?4、如何在Flink批处理中创建自定义Sink?5、Flink中的哪些算子容易产生数据倾斜?6、分析一下Flink SQL的执行流程?第20周 Flink高级进阶之路详细剖析Window和Time的使用,Watermark的实战应用,并行度的设置,Kafka Connector的具体应用,以及SparkStreaming的特性和使用。课程安排:1、Window的概念和类型2、TimeWindow的使用3、CountWindow的使用4、自定义Window的使用5、Window中的增量聚合和全量聚合6、Flink中的Time7、Watermark的分析8、开发Watermark代码9、通过数据跟踪观察Watermark10、Watermark+EventTime处理乱序数据11、延迟数据的三种处理方式12、在多并行度下的Watermark应用13、Watermark案例总结14、并行度介绍及四种设置方式15、并行度案例分析16、KafkaConsumer的使用17、KafkaConsumer消费策略设置18、KafkaConsumer的容错19、KafkaProducer的使用20、KafkaProducer的容错21、SparkStreaming的WordCount程序开发22、SparkStreaming整合Kafka【本周思考与讨论】1、使用FlinkSQL对Kafka中的数据进行操作,如何通过DDL的方式集成Flink和Kafka?2、如何在SparkStreaming中使用SparkSQL实现数据计算?3、介绍一下 Flink中kafka 消费者的Exactly-Once是如何实现的?4、介绍一下Flink中kafka 生产者的Exactly-Once是如何实现的?5、介绍一下Flink的两阶段提交机制?【福利加餐】1、天猫双11大屏的由来2、双11大屏需求分析及架构设计3、双11大屏指标核心代码开发4、双11大屏从0~1全流程跑通5、疑难问题-课程内容典型疑难问题整理【第二弹】6、面试题-课程内容常见面试题整理【第二弹】理论和实践是好基友,学练结合,效果增倍!第21周 Flink1.15新特性及状态的使用基于Flink1.15版本进行更新迭代,快速掌握基于新版本的代码开发,并且对Flink中的State(状态)的使用与管理进行深度扩展。课程安排:1、Flink最近几个版本的新特性介绍2、什么是State(状态)3、离线计算是否需要State(状态)?4、State相关概念整体概览5、State(状态)的类型介绍(RawState和ManagedState)6、托管状态(Managed State)的类型对比分析7、Keyed State详解(包括原理、数据结构)8、Keyed State的使用案例之温度告警-ValueState9、Keyed State的使用案例之直播间数据统计-MapState10、Keyed State的使用案例之订单数据补全-ListState11、Operator State详解(包括原理、数据结构)12、Operator State的使用案例之ListState的使用13、Operator State的使用案例之UnionListState的使用14、Operator State的使用案例之BroadcastState的使用【本周思考与讨论】1、针对单词计数案例,如果通过MapState维护单词出现的次数是否可行?2、Keyed State和Operator State中的ListState,有哪些区别?3、Flink流计算任务中使用State是否会导致内存溢出?第22周 Flink1.15之状态的容错与一致性基于Flink1.15版本深入剖析流式计算任务中状态的容错与一致性,包括State的快照生成和恢复,最后以Kafka+Flink+Kafka场景为例整体分析了Flink任务如何实现端到端的一致性!课程安排:1、State的容错与一致性介绍2、流计算中Exactly-once语义的多种实现思路3、如何实现Flink任务的端到端一致性?4、Checkpoint(快照)机制详解5、如何保存多个Checkpoint?6、从Checkpoint进行恢复7、Savepoint详解8、Checkpoint VS Savepoint9、Savepoint保证程序可移植性的前提条件10、手工触发Savepoint并从Savepoint进行恢复11、State Backend(状态的存储方式)12、State的生存时间(TTL)13、Window中的数据存在哪里?14、Checkpoint的生成过程和恢复过程详解15、Checkpoint Barrier详解16、Kafka+Flink+Kafka实现端到端一致性17、Flink-Kafka相关源码分析【本周思考与讨论】1、如何基于Mysql实现一个支持Exactly-once语义的Sink组件?2、Checkpoint在什么时候会自动触发恢复?3、在RocksDB中,针对key-value类型的数据,使用ValueState和MapState哪种数据类型效率高?第23周 FlinkSQL(1.15)快速上手基于Flink1.15版本,主要涉及Flink SQL中的表、列、数据类型、DML语句、滚动+滑动窗口、Watermark、Catalog、HiveModule、SQL Client等功能课程安排:1、Flink SQL快速理解(离线计算+实时计算)2、Flink SQL解析引擎之Calcite分析3、Flink SQL之DDL案例(FileSystem+Print)4、Flink SQL之DDL案例(Kafka+Kafka)5、Flink SQL中的静态表和动态表6、Flink SQL中的连续查询概念解释7、Flink SQL动态表转换为Append-only流8、Flink SQL动态表转换为Retract流9、Flink SQL动态表转换为Upsert流10、Flink SQL中的版本表和时态表函数11、Flink SQL常见的数据类型12、Flink SQL中常规列和元数据列介绍13、Flink SQL中元数据列的使用14、Flink SQL中计算列介绍15、Flink SQL中的DML语句介绍16、Flink SQL滚动窗口和滑动窗口的使用17、Flink SQL滚动窗口+Watermark的使用18、Flink SQL中Catalog的原理及使用19、Flink SQL如何兼容Hive SQL函数和Hive SQL语法20、Flink SQL Client客户端工具的使用21、Flink SQL Client直接执行SQL脚本文件【本周思考与讨论】1、Flink SQL开启Hive方言之后是否可以支持Hive中的函数?2、Flink SQL如何支持自定义函数?3、Flink SQL中的哪些功能会借助于State实现?第24周 全文检索引擎ElasticsearchElasticsearch是一个基于Lucene的分布式全文检索引擎,解决了海量数据下数据多条件快速复杂查询的痛点。课程安排:1、Elasticsearch核心原理介绍2、常见的全文检索引擎分析3、Solr vs Elasticsearch4、MySQL VS Elasticsearch5、Elasticsearch核心概念剖析6、ES集群安装部署7、ES集群监控管理工具-cerebro的使用8、使用REST API的方式操作ES9、使用Java API的方式操作ES10、ES分词功能介绍11、倒排索引介绍12、分词器的作用及工作流程13、停用词(常见的中文和英文停用词)14、中文分词方式及常见的中文分词器15、ES集成中文分词插件(es-ik)16、es-ik添加自定义词库(包括热更新词库)17、ES Search查询详解18、searchType查询类型详解19、ES 查询功能扩展(包括过滤、分页、排序、高亮、评分依据等)20、ES中分页的性能问题分析21、ES aggregations聚合统计案例应用22、ES中的settings和mapping详解23、ES的偏好查询(分片查询方式)分析24、ES中的routing路由功能详解25、ES的索引库模板和索引库别名的使用26、ES SQL的使用27、ES性能优化策略分析【本周思考与讨论】1、ES适合存储海量数据吗?在快速复杂查询和海量数据存储上如何权衡?2、ES如何对半结构化和非结构化数据(例如:Word、Excel、Pdf等)提供快速检索功能?3、ES中的数据Schema到底是动态生成还是手工指定,哪种方案比较好?4、ES是否可以替换掉大数据中的Hive?5、ES整合HBase可以解决哪种场景下的问题?第25周 Es+HBase仿百度搜索引擎项目基于Elasticsearch+HBase实现仿百度搜索引擎的海量数据存储和检索功能,可以提供海量数据下的多条件快速复杂检索能力。课程安排:1、大数据领域海量数据存储现状2、大数据领域常见的SQL分析引擎3、目前常见的全文检索引擎4、海量数据存储+快速复杂查询需求分析及解决方案5、仿百度搜索引擎项目架构设计6、项目整体架构流程分析7、ES和HBase数据同步的三种方案8、ES高级特性扩展之_source字段9、ES高级特性扩展之index和store属性10、开发仿百度搜索引擎项目11、调用接口获取数据导入HBase和Redis12、通过ES对HBase中的数据建立索引13、对接Web项目,提供页面检索功能14、从0~1运行项目15、项目中遇到的典型问题【本周思考与讨论】1、为什么要基于Elasticsearch+HBase实现海量数据存储和建立索引,单独使用Elasticsearch不行吗?2、Hive、Impala、Spark、Flink这些引擎为什么不适合海量数据检索需求?3、Elasticsearch如果是存储商品数据,索引库的mapping信息该如何设计比较合理?4、如何保证Elasticsearch和HBase中的数据一致性?阶段五:综合项目:三度关系推荐系统+数据中台第26周 直播平台三度关系推荐V1.0构建直播平台用户三度关系推荐系统,详细分析数据采集/数据分发/数据存储/数据计算/数据展现等功能,完整复现互联网企业大数据项目从0~1,从1~N的开发过程。课程安排:1、项目介绍2、项目需求分析3、技术选型4、整体架构设计5、Neo4j快速上手使用6、数据采集架构详细分析7、数据来源分析8、模拟产生数据9、数据采集聚合10、数据分发11、数据落盘12、数据计算核心指标详细分析与实现13、三度关系推荐页面数据接入14、三度关系推荐流程演示15、项目代码双语支持16、项目总结【本周思考与讨论】1、如果让你来设计这个项目的架构,你会如何设计?2、如何使用SparkStreaming解决实时粉丝关注数据乱序的问题?不能借助于第三方工具。3、如何使用Spark代码实现三度关系列表数据导出MySQL?目前课程中使用的是Sqoop实现的第27周 直播平台三度关系推荐V2.0分析V1.0架构存在的问题及弊端,重新设计整体架构方案,进行迭代优化,基于最新的架构方案重新实现核心功能代码,开发数据接口,优化数据传输逻辑,提高数据安全性。课程安排:1、现有V1.0技术架构分析2、V2.0技术架构设计3、数据计算核心指标详细分析4、历史粉丝关注数据初始化5、实时维护粉丝关注数据6、每天定时更新主播等级7、每天定时更新用户活跃时间8、每周一计算最近一月主播视频评级9、每周一计算最近一月主播视频评级10、三度关系列表数据导出到Redis11、数据接口定义与开发12、项目代码双语支持13、项目总结【本周思考与讨论】1、如果是你,你会如何优化此项目的架构?2、如何使用Flink代码实现三度关系列表数据导出到Redis?目前课程中使用的是Sqoop实现的3、针对目前Neo4j中的数据,还有哪些属性需要建立索引?第28周 数据中台大屏掌握一线互联网企业数据中台构建流程,了解巨头企业的项目架构,理解巨型项目的思想,掌握数据中台之数据加工总线子系统的底层实现。课程安排:1、什么是中台2、中台化主要解决的问题3、中台的延伸4、什么是数据中台5、数据中台演进的四个阶段6、数据中台需要具备三大能力7、企业级数据中台架构分析9、目前大数据领域实时计算的现状10、数据中台之数据加工总线介绍11、数据加工总线架构图分析12、开发数据加工总线计算引擎(基于SparkSQL)13、开发数据加工总线计算引擎(基于FlinkSQL)14、掌握如何在流式SQL中调用HTTP接口15、支持流式SQL中的自定义函数返回多列字段【本周思考与讨论】1、谈一谈你对数据中台的理解?2、课程中提供了基于Spark的通用实时计算引擎,如果想要开发基于SparkSQL+Spark Core的通用离线计算引擎的话,该如何实现?3、课程中提供了基于Flink的通用实时计算引擎,如果想要开发基于FlinkSQL的通用离线计算引擎的话,该如何实现?
本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
图穷联盟教程网 » 体系课大数据工程师2022版2.0升级版