课程介绍
基于开源大数据平台数据分析和挖掘实训课程,该是一个理论与实践相结合的课程,阐述大数据主流的系统架构,数据分析和。
本课程包含了开源大数据常用的技术Hadoop、Hive、Hbase、Flume和Spark等常用的技术。
本课程是目前基于大数据平台数据分析主流课程,涵盖了基于大数据平台数据分析整个流程和技术
课程收益
帮助学员了解大数据体系架构基础知识,并掌握基础开发技能、运维技能,能够从事大数据应用项目的开发及运维工作
深度了解主流大数据系统的系统架构,组件交互,及其内核工作与运行机制;
了解大数据平台常用的以希望数据分析和挖掘的技术,如:Hadoop、Hive、Spark等
能够使用大数据平台技术让金融行业的应用落地
课程特点
以主流大数据系统的原理、架构、部署、运维为脉络,分别介绍Hadoop,Spark,Kafka,HBase等主流大数据平台系统;
原理和案例结合,让学员快速掌握常用大数据平台的技术,能够独立使用大数据平台相关的技术实现相关的数据应用。
课程对象
对大数据平台的开发感兴趣的同学、或转型大数据平台的技术人员
学员基础
至少熟悉掌握如下一名程序设计语言:Java,Scala;
了解Linux的常用指令、常用的SQL
对计算机有一定的了解
课程大纲
时间 | 内容 |
Day1 | 第1个主题:大数据生态系统介绍(目的:整体了解开源大数据的技术体系)(1h) 1、开源大数据技术架构 2、开源大数据常用组件之间的依赖关系 3、离线计算框架介绍 —Mapreduce、Hive、Tez、Presto、Kylin 4、实时查询框架介绍 —NoSQL、Hbase 5、实时计算框架介绍 —Kafka、Pulsar、Structured Streaming、Flink 6、内存计算框架介绍 —SparkCore、SparkSQL、PySpark、SparkMllib、SparkR 7、实时大数据技术介绍 —Flink、ClickHouse、KUDU等 8、海量日志快速检索架构 —ELK(Elasticsearch、Logstash、Kibana)等 9、数据湖工具技术介绍 —Iceberg、Hudi和open Delta技术介绍
第2个主题;HDFS分布式存储(目的:掌握分布式存储的原理、架构和常用的应用场景)(2h) 1、HDFS架构介绍 2、HDFS原理介绍 3、NameNode功能详解 4、DataNode功能详 5、HDFS HA功能详解 6、HDFS的fsimage和editslog详解 7、HDFS的block详解 8、HDFS的block的备份策略 9、Hadoop的机架感知配置 10、HDFS的权限详解 11、Hadoop的客服端接入案例 12、HDFS Snapshots的应用和原理介绍 课堂实操:HDFS常用命令使用 (老师带领学员一起操作 )
第3个主题:分布式计算Mapreduce详解(目的:掌握分布式计算的架构和原理、能够使用MapReduce离线批处理数据 )(2h) 1、Mapreduce原理 2、MapReduce流程 3、剖析一个MapReduce程序 4、Mapper和Reducer抽象类详解 5、Combiner详解 6、Partitioner详解 7、Tez的原理和架构 8、Tez的应用场景介绍 9、Tez和Mapreduce的比较 课堂实操:MapReduce离线日志处理实战、自定义partition实战,MapReduce在银行T+1的数据处理应用
第4个主题:Yarn分布分布式资源详解(目的:掌握Yarn的架构和原理、使用Yarn控制大数据平台的资源)(1h) 1、Yarn的原理和架构 2、Yarn资源调度策略 3、Yarn资源调度Fair和Capacity详解 4、JobHistory的功能介绍 5、Yarn动态资源的设置 6、动态分配特定节点给每个应用(MR、Flink、Spark、Hbase等) 7、基于Yarn的资源控制详解 8、基于Yarn实现底层SLA的资源分配 课堂实操:使用Yarn配置大数据平台的资源
第5个主题:Hadoop3.0和Hadoop2.0的区别(1h) 1.Hadoop3.0的重要特性介绍 2. HDFS的功能和性能改进 3. Yarn的功能和性能改进 3. Hadoop3.0资源调度的改进和优化 |
Day2 | 第6个主题:Hive数据仓库工具实操(目的:掌握Hive的使用、能够使用Hive基于Hadoop平台进行数据分析和挖掘)(2h) 1、Hive的作用和原理说明 2、Hadoop仓库和传统数据仓库的协作关系 3、Hadoop/Hive仓库数据数据流 4、Hive的MetaStore详解 5、Hive的基本用法 6、Hive的server启动 7、HQL基本语法 8、Hive的加载数据本地加载和HDFS加载 9、Hive的partition详解 10、Hive的存储方式详解 11、RCFILE、TEXTFILE和SEQUEUEFILE 12、Hive的UDF和UDAF 13、Hive的JDBC连接 14、Hive3新特性介绍及使用 15、Hive3 ACID的原理和实操 课堂实操:Hive创建表、Hive加载数据、Hive的分区表、Hive的UDF实验
第7个主题:NoSQL和Hbase实操(目的:NoSQL的应用场景,了解Hbase的数据库的应用场景)(1h) 1、NoSQL介绍 2、NoSQL应用场景 3、Hbase的架构原理 4、Hbase核心概念详解(HMaster、HRegionServer、Store、StoreFile、HFile、HLog和MetaStore) 5、Hbase自带的namesapce和Meta表详解 6、HBase逻辑视图介绍 7、HBase物理视图介绍 8、HBase的RowKey设计原则 9、HBase BloomFilter的介绍 10、Hbase表的设计案例 11、Hbase运维和优化介绍 课堂实操:hbase企业级使用场景介绍
第8个主题:Sqoop、Flume、kafka和Pulsar实战(目的:掌握大数据平台的数据采集和调度)(2h) 1、Flume架构和应用场景 2、Flume用用场景 3、Flume Agent介绍 —Source —Channel —Sink 4、Flume 采集数据到HDFS实战 5、Flume案例实战 6、Sqoop架构介绍 7、Sqoop抽取Oracle和Mysql的数据 8、Sqoop实战 9、Kafka的架构 10、Kafka的功能和应用场景介绍 11、Kafka的数据发布和订阅应用 12、Kafka企业级应用架构案例介绍 13、Pulsar技术架构和应用场景介绍 14、Pulsar和Kafka的比较 15、Flume、Sqoop和kafka实际应用的优化点和优化参数 课堂实操:Sqoop抽取Mysql数据到HDFS、Hive和hbase 、 Flume采集数据到HDFS
第11个模块 Spark技术栈介绍(目的:掌握Spark大数据平台的功能)(0.5h) 1、Spark生态系统架构介绍 2、Spark Core介绍 3、Spark SQL介绍 4、Spark Streaming介绍 5、Spark 2.0 Structured Streaming介绍 6、Spark Mllib介绍 7、Spark Graphx介绍
第12个模块:Spark核心原理和常用功能介绍(目的:掌握Spark大数据平台的功能)(1.5h) 1、Spark的编程模型 2、Spark编程模型解析 3、Partition实现机制 4、RDD的特点、操作、依赖关系 5、Transformation RDD详解 6、Action RDD详解 7、Spark的累加器详解 8、Spark的广播变量详解 9、Spark容错机制 10、lineage和checkpoint详解 11、Spark的运行方式 12、Spark的Shuffle原理详解 —Sort-Based原理 —Hash-Based原理 13、Spark3.0的新特性 14、Spark DataFrame和DateSet介绍 |
Day3 | 第13个主题:sparkSQL、DataFram和DataSet实战 (2h) 1、Spark SQL原理 2、Spark SQL的Catalyst优化器 2、Spark SQL和Hive连接 3、DataFrame和DataSet应用 4、Dataframe、DataSet和SQL的比较 5、SparkSQL parquet格式实战 6、Spark SQL自定义UDF和UDAF 7、Spark SQL 读取txt、json、csv等文件介绍 8、Spark SQL 读写关系型数据库介绍(mysql为例) 9、Spark SQL reflect函数介绍 10、Spark SQL案例实操 课堂实操:SparkSQL数据分析案例实操
第14主题:Python+Spark数据分析和挖掘实战(目的:掌握使用Python和Spark实现数据分析和数据挖掘的使用)(2小时) 1、Python数据分析和挖掘常用技术框架介绍 2、PySpark的原理和安装 3、Jupyter的安装和使用 4、PySpark特征工程构建 5、基于PySpark实战决策树、贝叶斯、随机森林、聚类等 6、PySpark的优化 课堂实操:基于PySpark实现信贷模型和用户分群模型
第15个主题:流式计算技术介绍(目的:掌握大数据平台流式计算任务的架构)(1h) 1、Structured Streaming架构和原理介绍 2、Structured Streaming 功能介绍 3、Structured Streaming 应用场景介绍 4、Structured Streaming 实时性介绍 5、Flink 架构和原理 6、Flink的功能介绍 7、Flink的实时性介绍 8、Structured Streaming和Flink之间的优缺点比较 课堂实操:Kafka+Structured Streaming实时计算实操
第16个主题:Flink技术实战(目的:掌握大数据平台海量数据快速检索的应用的功能和场景)(2h) 1、Flink和Spark的深度比较 2、Flink中的重要角⾊ 3、无界数据流与有界数据流 4、Flink数据流编程模型 5、Flink的应用场景 6、DataSet API开发 7、Flink Accumulators & Counters 8、Flink的分布式缓存 9、DataStream开发 10、基于kafka的source操作 11、基于mysql的source操作 12、Flink的状态管理 13、Flink容错 14、Flink SQL实战 15、Flink CDC实战 课堂实操:Kafka+Flink CDC+Flink SQL实战 |
Day4 | 第18个主题:大数据新技术介绍及发展趋势(目的:掌握目前主流的新技术及应用场景)(1h) 1、ClickHouse架构介绍 2、ClickHouse功能介绍 3、Iceberg数据湖工具原理及架构介绍 4、Hudi数据湖工具原理及架构介绍 5、Flink CDC原理及功能介绍 6、Ozone分布式对象存储原理及功能介绍 7、Ozone与HDFS的应用场景比较 8、大数据平台发展趋势介绍
第18个主题:大数据平台架构介绍及部署(目的:掌握离线数据平台、实时数据平台和流批一体数据架构)(1h) 9、离线大数据平台架构介绍 10、离线大数据平台技术栈介绍 11、实时大数据平台架构介绍 12、实时大数据平台技术栈介绍 13、流批一体数据平台架构介绍 14、流批大数据平台技术栈介绍 15、大数据平台部署架构介绍 16、大数据平台云架构介绍 第19个主题:数据架构实战(1h) 17、数据接入大数据平台 —离线数据接入 —实时的数据接入 18、数据处理过程 —数据的ETL —数据分层(ODS、DW和DM等) —数据建模 —数据校验 19、数据应用 —数据离线应用 —数据实时应用 —数据实验室 —数据展示工具(BI工具)
第20个主题:新技术项目实战(RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana):(2h) 1、Docker演示环境介绍 2、项目需求分析和解决方案设计 3、流式数仓分层模型设计 3、Flink CDC mysql实战 4、Flink CDC postgres实战 5、Flink CDC Kafka实战 6、Flink CDC ES实现 7、Kibana结果展示 8、RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana完整项目实战 实操:学员项目实操和问题解决 |