马士兵 大数据架构师
文件目录
📁 728.某兵大数据架构师
├── 📁 01.AirFlow分布式任务调度框架-86
│ ├── 📁 章节1-第一章-Airflow架构原理及术语
│ │ ├── 🎬 课时1-01-Airflow任务流调度工具-什么是Airflow.mp4
│ │ ├── 🎬 课时2-02-Airflow任务流调度工具-Airflow架构角色及作用.mp4
│ │ ├── 🎬 课时3-03-Airflow任务流调度工具-Airflow术语.mp4
│ │ └── 🎬 课时4-04-Airflow任务流调度工具-任务调度原理.mp4
│ ├── 📁 章节2-第二章-Airflow单机搭建及启动
│ │ ├── 🎬 课时1-05-Airflow任务流调度工具-Anconda 及python3.7环境安装.mp4
│ │ ├── 🎬 课时2-06-Airflow任务流调度工具-Airflow单节点安装.mp4
│ │ ├── 🎬 课时3-07-Airflow任务流调度工具-Airflow配置及配置用户.mp4
│ │ ├── 🎬 课时4-08-Airflow任务流调度工具-Airflow启动.mp4
│ │ └── 🎬 课时5-09-Airflow任务流调度工具-Airflow webui介绍.mp4
│ ├── 📁 章节3-第三章-Airflow WebUI及DAG依赖参数设置
│ │ ├── 🎬 课时1-10-Airflow任务流调度工具-Airflow使用.mp4
│ │ ├── 🎬 课时2-11-Airflow任务流调度工具-Airflow DAG定义三种方式.mp4
│ │ ├── 🎬 课时3-12-Airflow任务流调度工具-Airflow task创建及指定task依赖关系.mp4
│ │ ├── 🎬 课时4-13-Airflow任务流调度工具-Airflow手动、自动调度DAG、删除DAG.mp4
│ │ ├── 🎬 课时5-14-Airflow任务流调度工具-Airflow调度触发时间.mp4
│ │ ├── 🎬 课时6-15-Airflow任务流调度工具-Airflow DAG Catchup参数.mp4
│ │ ├── 🎬 课时7-16-Airflow任务流调度工具-DAG调度周期三种设置方式.mp4
│ │ └── 🎬 课时8-17-Airflow任务流调度工具-Airflow任务依赖设置.mp4
│ ├── 📁 章节4-第四章-Airflow Operator及案例实战
│ │ ├── 🎬 课时1-18-Airflow任务流调度工具-Airflow BaseOperator参数.mp4
│ │ ├── 🎬 课时2-19-Airflow任务流调度工具-Airflow BashOperator执行shell命令.mp4
│ │ ├── 🎬 课时3-20-Airflow任务流调度工具-Airflow发送邮件配置.mp4
│ │ ├── 🎬 课时4-21-Airflow任务流调度工具-BashOperator执行shell命令测试.mp4
│ │ ├── 🎬 课时5-22-Airflow任务流调度工具-BashOperator执行shell脚本.mp4
│ │ ├── 🎬 课时6-23-Airflow任务流调度工具-SSHOperator参数及依赖安装配置.mp4
│ │ ├── 🎬 课时7-24-Airflow任务流调度工具-SSHOpeator远程执行脚本案例.mp4
│ │ ├── 🎬 课时8-25-Airflow任务流调度工具-HiveOperator使用环境准备.mp4
│ │ ├── 🎬 课时9-26-Airflow任务流调度工具-HiveOperator DAG执行案例.mp4
│ │ └── 🎬 课时10-27-Airflow任务流调度工具-PythonOperator配置及执行案例.mp4
│ └── 📁 章节5-第五章-Airflow 分布式集群原理、搭建及HA测试
│ ├── 🎬 课时1-28-Airflow任务流调度工具-Airflow分布式集群知识扩展.mp4
│ ├── 🎬 课时2-29-Airflow任务流调度工具-Airflow集群搭建环境准备.mp4
│ ├── 🎬 课时3-30-Airflow任务流调度工具-Airflow分布式集群搭建.mp4
│ ├── 🎬 课时4-31-Airflow任务流调度工具-Airflow集群配置及Scheduler HA 配置.mp4
│ ├── 🎬 课时5-32-Airflow任务流调度工具-Airflow集群启动.mp4
│ └── 🎬 课时6-33-Airflow任务流调度工具-Airflow集群HA 测试.mp4
├── 📁 02.Apache Druid分布式数据存储-172
│ └── 📁 章节1-Apache Druid实时分析型数据库
│ ├── 🎬 课时1-什么是Apache Druid.mp4
│ ├── 🎬 课时2-Druid优缺点.mp4
│ ├── 🎬 课时3-Druid数据结构.mp4
│ ├── 🎬 课时4-Druid架构原理.mp4
│ ├── 🎬 课时5-四类节点.mp4
│ ├── 🎬 课时6-Druid集群搭建介绍.mp4
│ ├── 🎬 课时7-Druid集群搭建.mp4
│ ├── 🎬 课时8-Druid集群启动.mp4
│ ├── 🎬 课时9-使用Imply进行Druid集群搭建说明.mp4
│ ├── 🎬 课时10-Druid数据加载-使用webui加载本地数据.mp4
│ ├── 🎬 课时11-查询Druid中的数据.mp4
│ ├── 🎬 课时12-删除Druid数据,使用post方式加载Kafka数据.mp4
│ ├── 🎬 课时13-Druid与HDFS整合.mp4
│ ├── 🎬 课时14-流式数据加载.mp4
│ ├── 🎬 课时15-Druid JDBC API与Druid数据的全量更新.mp4
│ └── 🎬 课时16-Druid与其他OLAP分析框架对比.mp4
├── 📁 03.ClickHouse 列式数据库-26
│ ├── 📁 章节1-ClickHouse 使用场景、特性与分布式搭建
│ │ ├── 🎬 课时1-批处理与流处理.mp4
│ │ ├── 🎬 课时2-ClickHouse与其特征.mp4
│ │ ├── 🎬 课时3-ClickHouse特性1.mp4
│ │ ├── 🎬 课时4-ClickHouse特性2.mp4
│ │ ├── 🎬 课时5-问题解答.mp4
│ │ ├── 🎬 课时6-ClickHouse安装.mp4
│ │ └── 🎬 课时7-ClickHouse分布式安装.mp4
│ ├── 📁 章节2-ClickHouse 数据类型详解
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-ClickHouse命令.mp4
│ │ ├── 🎬 课时3-ClickHouse 数据类型1.mp4
│ │ ├── 🎬 课时4-ClickHouse 数据类型2.mp4
│ │ ├── 🎬 课时5-ClickHouse 数据类型3.mp4
│ │ ├── 🎬 课时6-ClickHouse 数据类型4.mp4
│ │ ├── 🎬 课时7-ClickHouse 数据类型5.mp4
│ │ ├── 🎬 课时8-ClickHouse 数据类型6.mp4
│ │ └── 🎬 课时9-ClickHouse 数据类型7.mp4
│ ├── 📁 章节3-ClickHouse数据库引擎分类及操作
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-Ordinary数据库引擎.mp4
│ │ ├── 🎬 课时3-Mysql数据库引擎.mp4
│ │ ├── 🎬 课时4-Log系列表引擎1.mp4
│ │ ├── 🎬 课时5-Log系列表引擎2.mp4
│ │ ├── 🎬 课时6-Special系列表引擎1.mp4
│ │ └── 🎬 课时7-Special系列表引擎2.mp4
│ ├── 📁 章节4-ClickHouse 表引擎分类及MergeTree引擎详解
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-MargeTree引擎1.mp4
│ │ ├── 🎬 课时3-MargeTree引擎2.mp4
│ │ ├── 🎬 课时4-MargeTree磁盘目录.mp4
│ │ ├── 🎬 课时5-MargeTree分区1.mp4
│ │ ├── 🎬 课时6-MargeTree分区2.mp4
│ │ ├── 🎬 课时7-ClickHouse 使用.mp4
│ │ ├── 🎬 课时8-ClickHouse分区表DDL.mp4
│ │ └── 🎬 课时9-临时表和视图.mp4
│ ├── 📁 章节5-ClickHouse 视图与SQL语法操作
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-视图知识点1.mp4
│ │ ├── 🎬 课时3-视图知识点2.mp4
│ │ ├── 🎬 课时4-ReplacingMergeTree.mp4
│ │ ├── 🎬 课时5-SummingMergeTree.mp4
│ │ ├── 🎬 课时6-AggregatingMergeTree.mp4
│ │ ├── 🎬 课时7-物化视图和MergeTree一起使用.mp4
│ │ └── 🎬 课时8-疑难解答.mp4
│ ├── 📁 章节6-ClickHouse 6
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-ClickHouse数据导入导出.mp4
│ │ ├── 🎬 课时3-CollapsingMergeTree讲解(1).mp4
│ │ ├── 🎬 课时4-CollapsingMergeTree讲解(2).mp4
│ │ ├── 🎬 课时5-CollapsingMergeTree存在的问题.mp4
│ │ ├── 🎬 课时6-VersionedCollapsingMergeTree.mp4
│ │ ├── 🎬 课时7-HDFS引擎.mp4
│ │ ├── 🎬 课时8-Mysql引擎.mp4
│ │ ├── 🎬 课时9-Kafka引擎.mp4
│ │ └── 🎬 课时10-演示Kafka引擎.mp4
│ └── 📁 章节7-ClickHouse 7
│ ├── 🎬 课时1-问题解决.mp4
│ ├── 🎬 课时2-Java操作ClickHouse.mp4
│ ├── 🎬 课时3-Spark操作ClickHouse.mp4
│ ├── 🎬 课时4-Flink操作ClickHouse(1).mp4
│ ├── 🎬 课时5-Flink操作ClickHouse(2).mp4
│ ├── 🎬 课时6-Flink操作ClickHouse 1.11版本之后.mp4
│ └── 🎬 课时7-ClickHouse可视化操作.mp4
├── 📁 04.ClickHouse进阶-975
│ ├── 📁 章节1-Clickhouse分布式集群搭建
│ │ ├── 🎬 课时1-Clickhouse内容回顾.mp4
│ │ ├── 🎬 课时2-Clickhouse适用场景及安装包下载.mp4
│ │ ├── 🎬 课时3-Clickhouse分布式集群搭建及注意点.mp4
│ │ └── 🎬 课时4-Clickhouse启动操作命令及目录解释.mp4
│ ├── 📁 章节2-Clickhouse MergeTree表引擎
│ │ ├── 🎬 课时1-Clickhouse MergeTree引擎数据目录变化.mp4
│ │ ├── 🎬 课时2-Clickhouse一级索引生成与使用.mp4
│ │ ├── 🎬 课时3-Clickhouse二级索引-跳数索引原理及案例.mp4
│ │ ├── 🎬 课时4-Clickhouse 列级别TTL及案例.mp4
│ │ ├── 🎬 课时5-Clickhouse 表级别TTL及案例.mp4
│ │ ├── 🎬 课时6-Clickhouse 副本与分片.mp4
│ │ ├── 🎬 课时7-Clickhouse副本表及实操.mp4
│ │ ├── 🎬 课时8-Clickhouse数据分片及实操.mp4
│ │ ├── 🎬 课时9-Clickhouse Distribute分布式表引擎创建及映射分片表.mp4
│ │ └── 🎬 课时10-Clickhouse Distribute分布式表分片规则及操作.mp4
│ ├── 📁 章节3-Clickhouse数据查询
│ │ ├── 🎬 课时1-Clickhouse 数据查询数据准备.mp4
│ │ ├── 🎬 课时2-Clickhouse With 子句及使用方式.mp4
│ │ ├── 🎬 课时3-Clickhouse From 子句.mp4
│ │ ├── 🎬 课时4-Clickhouse Sample抽样子句.mp4
│ │ ├── 🎬 课时5-Clickhouse ArrayJoin子句及案例.mp4
│ │ ├── 🎬 课时6-Clickhouse Join 子句连接精度及连接类型.mp4
│ │ ├── 🎬 课时7-Clickhouse使用Join注意事项.mp4
│ │ ├── 🎬 课时8-Clickhouse explain执行计划.mp4
│ │ ├── 🎬 课时9-Clickhouse Where与PreWhere操作.mp4
│ │ ├── 🎬 课时10-Clickhouse Where不自动优化情况.mp4
│ │ ├── 🎬 课时11-Clickhouse group by 修饰符操作.mp4
│ │ ├── 🎬 课时12-Clickhoues Having&order by 查询.mp4
│ │ └── 🎬 课时13-Clickhouse Limit by子句与Limit子句.mp4
│ ├── 📁 章节4-数据字典
│ │ ├── 🎬 课时1-Clickhouse数据字典介绍.mp4
│ │ ├── 🎬 课时2-Clickhouse字典表创建.mp4
│ │ ├── 🎬 课时3-Clickhouse字典表查询、删除.mp4
│ │ ├── 🎬 课时4-Clickhouse字典类型介绍.mp4
│ │ ├── 🎬 课时5-Clickhouse FLAT 字典类型及案例.mp4
│ │ ├── 🎬 课时6-Clickhouse HASHED字典类型及案例.mp4
│ │ ├── 🎬 课时7-Clickhouse RANGE_HASHED字典类型及案例.mp4
│ │ ├── 🎬 课时8-Clickhouse CACHE字典类型及案例.mp4
│ │ ├── 🎬 课时9-Clickhouse COMPLEX_KEY_HASHED字典类型及案例.mp4
│ │ ├── 🎬 课时10-Clickhouse COMPLEX_KEY_CACHE字典类型及案例.mp4
│ │ ├── 🎬 课时11-Clickhouse IP_TIRE 字典类型及案例.mp4
│ │ ├── 🎬 课时12-Clickhouse 本地数据源映射字典表.mp4
│ │ └── 🎬 课时13-Clickhouse MySQL表映射字典表.mp4
│ ├── 📁 章节5-MaterializeMySQL物化引擎
│ │ ├── 🎬 课时1-Clickhouse MySQL数据库引擎与MySQL表引擎知识回忆.mp4
│ │ ├── 🎬 课时2-Clickhouse MaterializedMySQL物化引擎介绍.mp4
│ │ ├── 🎬 课时3-Clickhouse MaterializedMySQL物化引擎使用.mp4
│ │ └── 🎬 课时4-Clickhouse MaterializedMySQL物化引擎使用测试.mp4
│ ├── 📁 章节6-Projection 投影及ClickHouse优化
│ │ ├── 🎬 课时1-Clickhouse Projection 投影.mp4
│ │ ├── 🎬 课时2-Clickhouse Projection 应用及效率测试.mp4
│ │ ├── 🎬 课时3-Clickhouse Projection 支持聚合及总结.mp4
│ │ ├── 🎬 课时4-Clickhouse 优化之表优化.mp4
│ │ ├── 🎬 课时5-Clickhouse 写入查询优化之避免小批量、全列扫描、构建虚拟列查询.mp4
│ │ ├── 🎬 课时6-Clickhouse 写入查询优化之uniqCombined、物化视图、join关联优化.mp4
│ │ ├── 🎬 课时7-Clickhouse 写入查询优化之分布式表global查询.mp4
│ │ └── 🎬 课时8-Clickhouse 写入查询优化之自己写SQL替换final查询.mp4
│ └── 📁 章节7-ClickHouse管理与监控
│ ├── 🎬 课时1-Clickhouse Profile配置.mp4
│ ├── 🎬 课时2-Clickhouse 用户定义操作.mp4
│ ├── 🎬 课时3-Clickhouse 权限管理之访问权限配置及测试.mp4
│ ├── 🎬 课时4-Clickhouse 权限管理之查询权限配置及测试.mp4
│ ├── 🎬 课时5-Clickhouse 权限管理之数据行级权限配置及测试.mp4
│ ├── 🎬 课时6-Clickhouse 熔断机制之时间周期累计用量熔断.mp4
│ ├── 🎬 课时7-Clickhouse 熔断机制之根据单词查询的用量熔断.mp4
│ ├── 🎬 课时8-Clickhouse 数据备份之导出文件备份.mp4
│ ├── 🎬 课时9-Clickhouse 数据备份之通过快照表备份.mp4
│ ├── 🎬 课时10-Clickhouse 数据备份之分区备份FREEZE方式备份.mp4
│ ├── 🎬 课时11-Clickhouse 数据备份之分区备份FETCH方式备份.mp4
│ └── 🎬 课时12-Clickhouse 服务监控.mp4
├── 📁 05.Cloudera Manager 集群平台管理-476
│ ├── 📁 章节1-Cloudera Manager CDN平台01
│ │ ├── 🎬 课时1-大数据集群搭建及管理问题.mp4
│ │ ├── 🎬 课时2-CDH简介.mp4
│ │ ├── 🎬 课时3-安装基础环境(1).mp4
│ │ ├── 🎬 课时4-安装基础环境(2).mp4
│ │ └── 🎬 课时5-安装基础环境(3).mp4
│ ├── 📁 章节2-Cloudera Manager CDN平台02
│ │ ├── 🎬 课时1-Cloudera Manager安装(1).mp4
│ │ ├── 🎬 课时2-Cloudera Manager安装(2).mp4
│ │ ├── 🎬 课时3-基于CM平台安装CDH(1).mp4
│ │ ├── 🎬 课时4-基于CM平台安装CDH(2).mp4
│ │ └── 🎬 课时5-基于CM平台安装CDH(3).mp4
│ └── 📁 章节3-Cloudera Manager CDN平台03
│ ├── 🎬 课时1-Hue介绍及安装.mp4
│ ├── 🎬 课时2-Hue的使用(1).mp4
│ ├── 🎬 课时3-Hue的使用(2).mp4
│ ├── 🎬 课时4-impala介绍.mp4
│ ├── 🎬 课时5-impala架构.mp4
│ ├── 🎬 课时6-impala优劣及与Hive异同.mp4
│ ├── 🎬 课时7-impala安装与使用.mp4
│ └── 🎬 课时8-impala Shell命令.mp4
├── 📁 06.Elasticsearch高手进阶篇-933
│ ├── 📁 章节1-课程简介
│ │ └── 🎬 课时1-01 课程介绍.mp4
│ ├── 📁 章节2-分布式原理
│ │ ├── 🎬 课时1-单机和分布式.mp4
│ │ ├── 🎬 课时2-集群环境选择.mp4
│ │ ├── 🎬 课时3-分布式的重要概念.mp4
│ │ ├── 🎬 课时4-ES的常见模块-1.mp4
│ │ ├── 🎬 课时5-ES的常见模块-2.mp4
│ │ ├── 🎬 课时6-分片的创建策略.mp4
│ │ ├── 🎬 课时7-集群级和索引级配置.mp4
│ │ ├── 🎬 课时8-分片分配感知策略.mp4
│ │ ├── 🎬 课时9-强制感知策略.mp4
│ │ ├── 🎬 课时10-容灾机制.mp4
│ │ ├── 🎬 课时11-选举过程中两个重要角色.mp4
│ │ ├── 🎬 课时12-高可用系统的架构设计.mp4
│ │ ├── 🎬 课时13-Master选举的必要前置认知.mp4
│ │ ├── 🎬 课时14-选举临时ActiveMaster节点.mp4
│ │ ├── 🎬 课时15-选举完成.mp4
│ │ ├── 🎬 课时16-节点失效监测.mp4
│ │ └── 🎬 课时17-脑裂问题.mp4
│ ├── 📁 章节3-深度分页问题以及解决方案
│ │ ├── 🎬 课时1-什么是深度分页.mp4
│ │ ├── 🎬 课时2-深度分页的危害.mp4
│ │ ├── 🎬 课时3-避免使用深度分页.mp4
│ │ ├── 🎬 课时4-Scroll Search.mp4
│ │ ├── 🎬 课时5-Search After.mp4
│ │ └── 🎬 课时6-实战环境解决深度分页的思路.mp4
│ ├── 📁 章节4-倒排索引底层原理
│ │ ├── 🎬 课时1-倒排索引的核心原理.mp4
│ │ ├── 🎬 课时2-倒排表的压缩算法-FOR.mp4
│ │ ├── 🎬 课时3-倒排表的压缩算法-RoaringBitmap.mp4
│ │ ├── 🎬 课时4-Trie前缀树原理.mp4
│ │ ├── 🎬 课时5-FST模型的构建原理.mp4
│ │ ├── 🎬 课时6-FST在Luncene中的构建过程和原理-1.mp4
│ │ ├── 🎬 课时7-FST在Lucene中的构建过程和原理-2.mp4
│ │ ├── 🎬 课时8-.tip和.tim文件的内部存储结构.mp4
│ │ └── 🎬 课时9-FST在源码中的写入和遍历过程.mp4
│ ├── 📁 章节5-高级检索
│ │ ├── 🎬 课时1-多字段检索-1.mp4
│ │ ├── 🎬 课时2-多字段检索-2.mp4
│ │ ├── 🎬 课时3-搜索模板.mp4
│ │ ├── 🎬 课时4-Term Vector.mp4
│ │ ├── 🎬 课时5-高亮查询.mp4
│ │ ├── 🎬 课时6-地理位置检索:两种数据类型.mp4
│ │ ├── 🎬 课时7-地理位置检索 - 基于Geo_Point检索.mp4
│ │ ├── 🎬 课时8-地理位置检索 - 基于Geo_Shape的位置存储.mp4
│ │ └── 🎬 课时9-地理位置检索 - 基于Geo_Shape检索.mp4
│ ├── 📁 章节6-高级聚合
│ │ ├── 🎬 课时1-正排索引.mp4
│ │ ├── 🎬 课时2-三角选择原则.mp4
│ │ ├── 🎬 课时3-Cardinality.mp4
│ │ └── 🎬 课时4-深度优先(DFS)和广度优先(BFS).mp4
│ ├── 📁 章节7-相关度评分算法
│ │ ├── 🎬 课时1-相关度评分.mp4
│ │ ├── 🎬 课时2-TF-IDF:Similarity.mp4
│ │ ├── 🎬 课时3-TF-IDF:空间向量模型.mp4
│ │ ├── 🎬 课时4-TF-IDF:评分函数.mp4
│ │ ├── 🎬 课时5-BM25-1.mp4
│ │ ├── 🎬 课时6-BM25-2.mp4
│ │ ├── 🎬 课时7-Shard Local IDF.mp4
│ │ └── 🎬 课时8-控制评分的几种方式.mp4
│ ├── 📁 章节8-ES并发问题
│ │ └── 🎬 课时1-ES并发控制.mp4
│ └── 📁 章节9-ES读写原理及调优
│ ├── 🎬 课时1-文档写入流程.mp4
│ ├── 🎬 课时2-ES数据写入原理.mp4
│ ├── 🎬 课时3-写入调优.mp4
│ └── 🎬 课时4-查询调优.mp4
├── 📁 07.Elasticsearch核心知识篇-412
│ ├── 📁 章节1-简介
│ │ └── 🎬 课时1-课程介绍.mp4
│ ├── 📁 章节2-环境安装
│ │ ├── 🎬 课时1-安装Elasticsearch.mp4
│ │ ├── 🎬 课时2-安装Kibana.mp4
│ │ ├── 🎬 课时3-安装Elasticsearch-Head插件.mp4
│ │ ├── 🎬 课时4-集群的健康值检查.mp4
│ │ └── 🎬 课时5-本章小结.mp4
│ ├── 📁 章节3-核心概念
│ │ ├── 🎬 课时1-集群、节点和分片.mp4
│ │ └── 🎬 课时2-索引和文档的概念.mp4
│ ├── 📁 章节4-索引的CRUD
│ │ └── 🎬 课时1-索引的CRUD.mp4
│ ├── 📁 章节5-Mapping
│ │ └── 🎬 课时1-Mapping.mp4
│ ├── 📁 章节6-搜索和查询
│ │ ├── 🎬 课时1-本章内容介绍.mp4
│ │ ├── 🎬 课时2-ES的查询上下文、评分、元数据.mp4
│ │ ├── 🎬 课时3-Query String.mp4
│ │ ├── 🎬 课时4-全文检索:match.mp4
│ │ ├── 🎬 课时5-精准查询:term.mp4
│ │ ├── 🎬 课时6-过滤器:filter.mp4
│ │ └── 🎬 课时7-组合查询:bool query.mp4
│ ├── 📁 章节7-分词器
│ │ ├── 🎬 课时1-文档正常化:normalization.mp4
│ │ ├── 🎬 课时2-字符过滤器:character filter.mp4
│ │ ├── 🎬 课时3-令牌过滤器:token filter.mp4
│ │ ├── 🎬 课时4-分词器:tokenizer.mp4
│ │ ├── 🎬 课时5-自定义分词器.mp4
│ │ ├── 🎬 课时6-中文分词器.mp4
│ │ ├── 🎬 课时7-基于远程词库的热更新.mp4
│ │ └── 🎬 课时8-基于MySQL的热更新.mp4
│ ├── 📁 章节8-聚合查询
│ │ ├── 🎬 课时1-本章内容介绍.mp4
│ │ ├── 🎬 课时2-三种聚合分类:Bucket、Metrics、Pipeline.mp4
│ │ ├── 🎬 课时3-代码+案例演示三种不同的聚合.mp4
│ │ ├── 🎬 课时4-嵌套聚合:基于聚合结果的聚合.mp4
│ │ ├── 🎬 课时5-基于查询结果的聚合和基于聚合结果的查询.mp4
│ │ ├── 🎬 课时6-聚合排序.mp4
│ │ └── 🎬 课时7-常用的聚合函数.mp4
│ ├── 📁 章节9-脚本查询
│ │ ├── 🎬 课时1-本章内容介绍.mp4
│ │ ├── 🎬 课时2-Scripting基本概念.mp4
│ │ ├── 🎬 课时3-Scripting的CRUD.mp4
│ │ ├── 🎬 课时4-参数化脚本.mp4
│ │ ├── 🎬 课时5-Scripts模板.mp4
│ │ ├── 🎬 课时6-函数式编程.mp4
│ │ └── 🎬 课时7-本章课程小结及知识点补充.mp4
│ ├── 📁 章节10-索引的批量操作
│ │ ├── 🎬 课时1-基于_mget的批量查询.mp4
│ │ ├── 🎬 课时2-文档的四种操作类型.mp4
│ │ └── 🎬 课时3-基于_bulk的增删改.mp4
│ ├── 📁 章节11-模糊查询和智能搜索推荐
│ │ ├── 🎬 课时1-关于课程使用ES的版本升级.mp4
│ │ ├── 🎬 课时2-本章内容介绍.mp4
│ │ ├── 🎬 课时3-prefix:前缀搜索.mp4
│ │ ├── 🎬 课时4-wildcard:通配符.mp4
│ │ ├── 🎬 课时5-regexp:正则表达式.mp4
│ │ ├── 🎬 课时6-fuzzy:模糊查询.mp4
│ │ ├── 🎬 课时7-match_phrase_prefix:短语前缀.mp4
│ │ └── 🎬 课时8-前缀、中缀和后缀搜索的优化方案.mp4
│ ├── 📁 章节12-搜索推荐
│ │ ├── 🎬 课时1-Term Suggester.mp4
│ │ ├── 🎬 课时2-phrase suggester.mp4
│ │ ├── 🎬 课时3-completion suggester.mp4
│ │ ├── 🎬 课时4-context suggester1.mp4
│ │ └── 🎬 课时5-context suggester 2.mp4
│ ├── 📁 章节13-数据建模
│ │ ├── 🎬 课时1-嵌套类型查询:Nested.mp4
│ │ ├── 🎬 课时2-父子级关系查询:Join.mp4
│ │ └── 🎬 课时3-Elasticsearch数据建模.mp4
│ ├── 📁 章节14-ES客户端
│ │ ├── 🎬 课时1-本章内容介绍.mp4
│ │ ├── 🎬 课时2-Java API和Transport Client.mp4
│ │ ├── 🎬 课时3-基于Java API的CRUD.mp4
│ │ ├── 🎬 课时4-基于Java API的多条件查找.mp4
│ │ ├── 🎬 课时5-基于Java API的聚合查询.mp4
│ │ ├── 🎬 课时6-Java REST Client.mp4
│ │ ├── 🎬 课时7-Java REST Client的基础使用.mp4
│ │ ├── 🎬 课时8-封装RestClient.mp4
│ │ ├── 🎬 课时9-嗅探器:Sniffer.mp4
│ │ └── 🎬 课时10-总结性学习:使用ESClient处理常用操作.mp4
│ └── 📁 章节15-Spring Data Elasticsearch
│ └── 🎬 课时1-Spring Data Elasticsearch.mp4
├── 📁 08.Elasticsearch项目实战篇-935
│ ├── 📁 章节1-疫情地图
│ │ ├── 🎬 课时1-项目介绍.mp4
│ │ ├── 🎬 课时2-需求分析.mp4
│ │ ├── 🎬 课时3-索引结构设计.mp4
│ │ └── 🎬 课时4-功能实现.mp4
│ └── 📁 章节2-ELK日志系统
│ ├── 🎬 课时1-概述.mp4
│ ├── 🎬 课时2-Why ELK.mp4
│ ├── 🎬 课时3-Logstash介绍.mp4
│ ├── 🎬 课时4-Beats介绍.mp4
│ ├── 🎬 课时5-Kibana介绍.mp4
│ ├── 🎬 课时6-启动Logstash服务.mp4
│ ├── 🎬 课时7-为什么要使用标准化输入输出插件.mp4
│ ├── 🎬 课时8-部署Filebeat.mp4
│ ├── 🎬 课时9-Filebeat+Logstash+ES.mp4
│ ├── 🎬 课时10-Multiline messages.mp4
│ ├── 🎬 课时11-Filter.mp4
│ ├── 🎬 课时12-事件.mp4
│ ├── 🎬 课时13-基于Filebeat采集Nginx日志.mp4
│ ├── 🎬 课时14-基于Filebeat采集Syslog.mp4
│ └── 🎬 课时15-数据的可视化操作.mp4
├── 📁 09.Elasticsearch运维调优篇-934
│ ├── 📁 章节1-课程介绍
│ │ └── 🎬 课时1-课程介绍.mp4
│ ├── 📁 章节2-构建生产集群
│ │ ├── 🎬 课时1-基础环境安装.mp4
│ │ ├── 🎬 课时2-基于2+1部署小规模HA集群.mp4
│ │ ├── 🎬 课时3-部署Kibana.mp4
│ │ └── 🎬 课时4-冷热集群架构部署.mp4
│ ├── 📁 章节3-索引管理
│ │ ├── 🎬 课时1-常见故障诊断API指令.mp4
│ │ ├── 🎬 课时2-索引压缩.mp4
│ │ ├── 🎬 课时3-索引的常见操作.mp4
│ │ ├── 🎬 课时4-索引别名.mp4
│ │ ├── 🎬 课时5-滚动索引.mp4
│ │ ├── 🎬 课时6-索引模板.mp4
│ │ ├── 🎬 课时7-索引的生命周期管理.mp4
│ │ └── 🎬 课时8-数据流.mp4
│ └── 📁 章节4-集群安全
│ ├── 🎬 课时1-集群安全-版本支持性.mp4
│ ├── 🎬 课时2-集群安全-最低等级安全配置.mp4
│ ├── 🎬 课时3-集群安全-基础安全认证.mp4
│ ├── 🎬 课时4-集群安全-配置HTTPS访问.mp4
│ ├── 🎬 课时5-权限管理.mp4
│ └── 🎬 课时6-快照.mp4
├── 📁 10.ETL工具Kettle-155
│ ├── 📁 章节1-ETL工具Kettle-安装及基本操作
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-解决hiveserver2起不来问题.mp4
│ │ ├── 🎬 课时3-解释登入依赖及Hive创建两张表权限管理.mp4
│ │ ├── 🎬 课时4-用户1配置访问和修改权限 用户2配置访问权限.mp4
│ │ ├── 🎬 课时5-对用户配置两列查询权限 其他列没有查询权限.mp4
│ │ ├── 🎬 课时6-对用户访问表student时 age列空值输出 进行脱敏.mp4
│ │ ├── 🎬 课时7-对用户访问student时 age列只能插叙小于等于20的行数据.mp4
│ │ ├── 🎬 课时8-Ranger管理HDFS安全.mp4
│ │ ├── 🎬 课时9-Kettle介绍.mp4
│ │ ├── 🎬 课时10-Kettle核心组件.mp4
│ │ ├── 🎬 课时11-Kettle特点及应用场景.mp4
│ │ ├── 🎬 课时12-Kettle下载安装.mp4
│ │ └── 🎬 课时13-Kettle创建入门案例.mp4
│ ├── 📁 章节2-ETL工具Kettle-转换核心作业对象
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-Kettle基本操作 CSV文件输入.mp4
│ │ ├── 🎬 课时3-Excel输入.mp4
│ │ ├── 🎬 课时4-数据类型.mp4
│ │ ├── 🎬 课时5-JSON input.mp4
│ │ ├── 🎬 课时6-json输出.mp4
│ │ ├── 🎬 课时7-生成记录.mp4
│ │ ├── 🎬 课时8-自定义常亮数据.mp4
│ │ ├── 🎬 课时9-表输入(1).mp4
│ │ ├── 🎬 课时10-表输入(2).mp4
│ │ ├── 🎬 课时11-输出.mp4
│ │ ├── 🎬 课时12-Excel输出MicrosoftExcel输出.mp4
│ │ ├── 🎬 课时13-SQL文件输出.mp4
│ │ ├── 🎬 课时14-删除.mp4
│ │ ├── 🎬 课时15-更新.mp4
│ │ ├── 🎬 课时16-更新插入(2).mp4
│ │ ├── 🎬 课时17-文本文件输出.mp4
│ │ ├── 🎬 课时18-表输出.mp4
│ │ ├── 🎬 课时19-课程介绍.mp4
│ │ ├── 🎬 课时20-Concat fields.mp4
│ │ ├── 🎬 课时21-值映射.mp4
│ │ ├── 🎬 课时22-增加常量.mp4
│ │ ├── 🎬 课时23-增加序列.mp4
│ │ ├── 🎬 课时24-字段选择.mp4
│ │ ├── 🎬 课时25-计算器.mp4
│ │ └── 🎬 课时26-字符串操作、剪切字符串、字符串替换.mp4
│ ├── 📁 章节3-ETL工具Kettle-案例分析
│ │ ├── 🎬 课时1-分享故事.mp4
│ │ ├── 🎬 课时2-回顾.mp4
│ │ ├── 🎬 课时3-去除重复记录排序记录.mp4
│ │ ├── 🎬 课时4-排序记录.mp4
│ │ ├── 🎬 课时5-唯一行(哈希值).mp4
│ │ ├── 🎬 课时6-拆分字段.mp4
│ │ ├── 🎬 课时7-列拆分为多行.mp4
│ │ ├── 🎬 课时8-列转行.mp4
│ │ ├── 🎬 课时9-行转列.mp4
│ │ ├── 🎬 课时10-行扁平化.mp4
│ │ ├── 🎬 课时11-课程介绍.mp4
│ │ ├── 🎬 课时12-替换null值.mp4
│ │ ├── 🎬 课时13-写日志.mp4
│ │ ├── 🎬 课时14-过滤记录.mp4
│ │ ├── 🎬 课时15-switch case.mp4
│ │ ├── 🎬 课时16-中止.mp4
│ │ ├── 🎬 课时17-空操作.mp4
│ │ ├── 🎬 课时18-执行sql脚本.mp4
│ │ ├── 🎬 课时19-数据库查询.mp4
│ │ ├── 🎬 课时20-数据库连接.mp4
│ │ └── 🎬 课时21-加入过滤记入.mp4
│ ├── 📁 章节4-ETL工具Kettle-案例分析02
│ │ ├── 🎬 课时1-回顾与今日安排.mp4
│ │ ├── 🎬 课时2-流查询.mp4
│ │ ├── 🎬 课时3-合并记录.mp4
│ │ ├── 🎬 课时4-记录集连接.mp4
│ │ ├── 🎬 课时5-分组.mp4
│ │ ├── 🎬 课时6-映射子转换.mp4
│ │ ├── 🎬 课时7-回答问题.mp4
│ │ ├── 🎬 课时8-作业创建(1).mp4
│ │ ├── 🎬 课时9-作业创建(2).mp4
│ │ ├── 🎬 课时10-作业创建(3).mp4
│ │ ├── 🎬 课时11-发送邮件 转换映射(1).mp4
│ │ ├── 🎬 课时12-发送邮件 转换映射(2).mp4
│ │ ├── 🎬 课时13-全局参数.mp4
│ │ ├── 🎬 课时14-全局参数(2).mp4
│ │ ├── 🎬 课时15-设置变量获取变量.mp4
│ │ ├── 🎬 课时16-转换命名参数.mp4
│ │ └── 🎬 课时17-总结.mp4
│ └── 📁 章节5-ETL工具Kettle-案例分析03
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-解决上节课小问题.mp4
│ ├── 🎬 课时3-Mysql库数据同步(1).mp4
│ ├── 🎬 课时4-Mysql库数据同步(2).mp4
│ ├── 🎬 课时5-Mysql库数据同步(3).mp4
│ ├── 🎬 课时6-Mysql表数据同步到Hive.mp4
│ ├── 🎬 课时7-回答问题.mp4
│ ├── 🎬 课时8-Mysql数据同步到HDFS.mp4
│ └── 🎬 课时9-Mysql数据增量同步到HIVE.mp4
├── 📁 11.Flink城市交通实时监控平台-94
│ ├── 📁 章节1-交通实时监控项目1
│ │ ├── 🎬 课时1-Flink的大数据实时城市交通监控平台介绍.mp4
│ │ ├── 🎬 课时2-数据流程图.mp4
│ │ ├── 🎬 课时3-项目主要模块.mp4
│ │ ├── 🎬 课时4-数据采集代码实现(上).mp4
│ │ └── 🎬 课时5-数据采集代码实现(中).mp4
│ ├── 📁 章节2-交通实时监控项目2
│ │ ├── 🎬 课时1-数据采集代码实现(下).mp4
│ │ ├── 🎬 课时2-卡口车辆采集数据(上).mp4
│ │ ├── 🎬 课时3-卡口车辆采集数据(下).mp4
│ │ └── 🎬 课时4-城市交通管理数据表和实时车辆超速功能介绍.mp4
│ ├── 📁 章节3-交通实时监控项目3
│ │ ├── 🎬 课时1-实时车辆超速监控(上).mp4
│ │ ├── 🎬 课时2-实时车辆超速监控(下).mp4
│ │ └── 🎬 课时3-实时卡口拥堵情况监控.mp4
│ ├── 📁 章节4-交通实时监控项目4
│ │ ├── 🎬 课时1-实时卡口拥堵情况监控功能测试.mp4
│ │ ├── 🎬 课时2-实时最通畅的TopN卡口.mp4
│ │ └── 🎬 课时3-智能实时报警与实时套牌分析.mp4
│ ├── 📁 章节5-交通实时监控项目5
│ │ ├── 🎬 课时1-实时危险驾驶分析(上).mp4
│ │ ├── 🎬 课时2-实时危险驾驶分析(下).mp4
│ │ ├── 🎬 课时3-三个思考题讲解.mp4
│ │ └── 🎬 课时4-违法车辆轨迹跟踪实现思路.mp4
│ ├── 📁 章节6-交通实时监控项目6
│ │ ├── 🎬 课时1-违法车辆轨迹跟踪(上).mp4
│ │ ├── 🎬 课时2-违法车辆轨迹跟踪(中).mp4
│ │ ├── 🎬 课时3-违法车辆轨迹跟踪(下).mp4
│ │ └── 🎬 课时4-解疑与实时车辆布控(1).mp4
│ └── 📁 章节7-交通实时监控项目7
│ ├── 🎬 课时1-作业讲解.mp4
│ ├── 🎬 课时2-实时车辆布控(2).mp4
│ ├── 🎬 课时3-实时车辆布控(3).mp4
│ ├── 🎬 课时4-实时车辆布控(4).mp4
│ └── 🎬 课时5-解疑与回顾整个项目流程.mp4
├── 📁 12.Flink实时计算引擎-188
│ ├── 📁 章节1-Flink初始及搭建集群环境
│ │ ├── 🎬 课时1-大数据技术发展历程.mp4
│ │ ├── 🎬 课时2-复习Spark.mp4
│ │ ├── 🎬 课时3-复习Spark代码书写.mp4
│ │ ├── 🎬 课时4-Spark实时计算.mp4
│ │ ├── 🎬 课时5-Flink介绍.mp4
│ │ ├── 🎬 课时6-Spark和Flink对比.mp4
│ │ ├── 🎬 课时7-Flink下载安装部署 配置环境变量.mp4
│ │ └── 🎬 课时8-启动集群.mp4
│ ├── 📁 章节2-Flink基于Yarn多种启动方式
│ │ ├── 🎬 课时1-复习昨天内容.mp4
│ │ ├── 🎬 课时2-Flink基本框架和JobManager.mp4
│ │ ├── 🎬 课时3-Standalone HA集群安装&测试.mp4
│ │ ├── 🎬 课时4-Flink on Yarn.mp4
│ │ ├── 🎬 课时5-Flink on Yarn两种运行模式(1).mp4
│ │ ├── 🎬 课时6-Flink on Yarn两种运行模式(2).mp4
│ │ └── 🎬 课时7-课后答疑.mp4
│ ├── 📁 章节3-Flink运行架构及并行度设置
│ │ ├── 🎬 课时1-复习Flink.mp4
│ │ ├── 🎬 课时2-Flink API详解 设置算子并行度4种方式.mp4
│ │ ├── 🎬 课时3-WordCount流批计算程序.mp4
│ │ ├── 🎬 课时4-WordCount Dataflows 算子链.mp4
│ │ ├── 🎬 课时5-Flink任务调度规则(1).mp4
│ │ ├── 🎬 课时6-算子并行度为5 发生什么.mp4
│ │ ├── 🎬 课时7-Flink任务调度规则(2).mp4
│ │ └── 🎬 课时8-Dataflows DataSource数据源.mp4
│ ├── 📁 章节4-Flink各种算子精讲1
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-flink读取本地集合.mp4
│ │ ├── 🎬 课时3-Kafka Source.mp4
│ │ ├── 🎬 课时4-读取Kafka数据key value.mp4
│ │ ├── 🎬 课时5-读取Kafka数据value.mp4
│ │ ├── 🎬 课时6-转换算子引入.mp4
│ │ └── 🎬 课时7-Dataflows Transformations.mp4
│ ├── 📁 章节5-Flink各种算子精讲2
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-从Kafka消费数据并统计流量.mp4
│ │ ├── 🎬 课时3-从Kafka消费数据 统计每分钟每卡口流量.mp4
│ │ ├── 🎬 课时4-Aggregations Union真合并 Connect假合并.mp4
│ │ ├── 🎬 课时5-CoMap CoFlatMap的实现方式.mp4
│ │ ├── 🎬 课时6-demo3通过车牌号实时匹配出对应的车主姓名.mp4
│ │ ├── 🎬 课时7-Split Select sideOutput.mp4
│ │ ├── 🎬 课时8-Iterate.mp4
│ │ ├── 🎬 课时9-函数类和富函数类.mp4
│ │ ├── 🎬 课时10-底层API 监控每辆汽车,车速超过100迈,5s钟后发出超速的警告通知.mp4
│ │ ├── 🎬 课时11-Dateflows分区策略shuffle.mp4
│ │ ├── 🎬 课时12-Dateflows分区策略rebalance.mp4
│ │ └── 🎬 课时13-rescale.mp4
│ ├── 📁 章节6-Flink各种算子精讲3
│ │ ├── 🎬 课时1-复习.mp4
│ │ ├── 🎬 课时2-broadcast广播.mp4
│ │ ├── 🎬 课时3-测试broadcast广播代码.mp4
│ │ ├── 🎬 课时4-Forward.mp4
│ │ ├── 🎬 课时5-global.mp4
│ │ ├── 🎬 课时6-KeyBy PartitionCustom.mp4
│ │ ├── 🎬 课时7-总结.mp4
│ │ ├── 🎬 课时8-Sink.mp4
│ │ ├── 🎬 课时9-redisSink.mp4
│ │ ├── 🎬 课时10-Kafka Sink.mp4
│ │ ├── 🎬 课时11-MySQL Sink.mp4
│ │ ├── 🎬 课时12-HBase Sink.mp4
│ │ └── 🎬 课时13-课后答疑.mp4
│ ├── 📁 章节7-基本函数类及富函数的使用
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-FileSink.mp4
│ │ ├── 🎬 课时3-Flink中状态分为两种类型(1).mp4
│ │ ├── 🎬 课时4-Flink中状态分为两种类型(2).mp4
│ │ ├── 🎬 课时5-使用ValueState keyed state检查车辆是否发生了急加速(1).mp4
│ │ ├── 🎬 课时6-使用ValueState keyed state检查车辆是否发生了急加速(2).mp4
│ │ ├── 🎬 课时7-ListState 统计每辆车的运行轨迹 所谓运行轨迹就是这辆车的信息 按照时间排序,卡口号串联起来(1).mp4
│ │ ├── 🎬 课时8-统计每辆车的运行轨迹 所谓运行轨迹就是这辆车的信息 按照时间排序,卡口号串联起来.mp4
│ │ ├── 🎬 课时9-代码实现展示.mp4
│ │ ├── 🎬 课时10-ReducingState :使用ReducingState统计每辆车的速度总和(1).mp4
│ │ ├── 🎬 课时11-ReducingState :使用ReducingState统计每辆车的速度总和(2).mp4
│ │ ├── 🎬 课时12-AggregatingState使用AggregatingState统计每辆车的速度总和.mp4
│ │ └── 🎬 课时13-CheckPoint入门.mp4
│ ├── 📁 章节8-Flink Checkpoint及SavePoint精讲
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-引入CheckPoint.mp4
│ │ ├── 🎬 课时3-CheckPoint吞吐量不高问题.mp4
│ │ ├── 🎬 课时4-CheckPoint异常处理.mp4
│ │ ├── 🎬 课时5-基于上次checkpoint的结果 重新读取数据.mp4
│ │ ├── 🎬 课时6-答疑.mp4
│ │ ├── 🎬 课时7-用户在程序中调用方法配置和开启检查点.mp4
│ │ ├── 🎬 课时8-checkpoint测试.mp4
│ │ └── 🎬 课时9-SavePoint原理.mp4
│ ├── 📁 章节9-Flink Window窗口剖析1
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-SavePoint系统的升级顺序(1).mp4
│ │ ├── 🎬 课时3-SavePoint系统的升级顺序(2).mp4
│ │ ├── 🎬 课时4-StateBackend状态后端-MemoryStateBackend.mp4
│ │ ├── 🎬 课时5-StateBackend状态后端-RocksDBStateBackend.mp4
│ │ ├── 🎬 课时6-集群级配置StateBackend.mp4
│ │ ├── 🎬 课时7-Flink Window操作.mp4
│ │ ├── 🎬 课时8-Window窗口分类-滚动窗口.mp4
│ │ ├── 🎬 课时9-滑动窗口.mp4
│ │ ├── 🎬 课时10-Flink构建窗口的方式.mp4
│ │ ├── 🎬 课时11-基于wordCount代码测试checkpoint.mp4
│ │ └── 🎬 课时12-最近20s内.mp4
│ ├── 📁 章节10-Flink Window窗口剖析2
│ │ ├── 🎬 课时1-复习.mp4
│ │ ├── 🎬 课时2-读取kafka数据 每隔10s统计每辆汽车的平均速度.mp4
│ │ ├── 🎬 课时3-no keyed Stream count窗口统计10个元素的wordcount.mp4
│ │ ├── 🎬 课时4-回答问题.mp4
│ │ ├── 🎬 课时5-作业.mp4
│ │ ├── 🎬 课时6-no keyed Stream 时间窗口.mp4
│ │ ├── 🎬 课时7-读取kafka数据 每隔10s 最近10s内的车速排序 同时获得最大车速和车辆信息分析.mp4
│ │ ├── 🎬 课时8-增量聚合函数.mp4
│ │ ├── 🎬 课时9-全量聚合函数各个卡口的车流量基于事件的触发机制.mp4
│ │ ├── 🎬 课时10-代码实现每隔10s 最近10s内的车速排序 同时获得最大车速和车辆信息.mp4
│ │ ├── 🎬 课时11-Session窗口.mp4
│ │ ├── 🎬 课时12-EventTime事件时间件 Process Time系统时间 Ingestion time 摄取时间.mp4
│ │ └── 🎬 课时13-基于EventTime构建窗口.mp4
│ ├── 📁 章节11-Flink时间语义+Watermark
│ │ ├── 🎬 课时1-回顾1.mp4
│ │ ├── 🎬 课时2-回顾2.mp4
│ │ ├── 🎬 课时3-回顾3.mp4
│ │ ├── 🎬 课时4-解决启动时间不确定问题.mp4
│ │ ├── 🎬 课时5-窗口是左闭右开的.mp4
│ │ ├── 🎬 课时6-如何处理延时数据 水印.mp4
│ │ ├── 🎬 课时7-Flink具体实现.mp4
│ │ ├── 🎬 课时8-总结Flink具体实现.mp4
│ │ ├── 🎬 课时9-怎么给每个元素打水印.mp4
│ │ ├── 🎬 课时10-0代码实现周期性水印生成.mp4
│ │ ├── 🎬 课时11-1代码实现周期性水印生成.mp4
│ │ └── 🎬 课时12-2回顾今天内容及下节课介绍.mp4
│ ├── 📁 章节12-Flink Window剖析3
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-AllowedLateness.mp4
│ │ ├── 🎬 课时3-Flink关联维表实战(场景1).mp4
│ │ ├── 🎬 课时4-Flink关联维表实战(场景2).mp4
│ │ └── 🎬 课时5-Flink关联维表实战(场景3).mp4
│ ├── 📁 章节13-Flink Table API 编程
│ │ ├── 🎬 课时1-TableAPI和Flink SQL解释.mp4
│ │ ├── 🎬 课时2-开发环境构建.mp4
│ │ ├── 🎬 课时3-TableEnvironment.mp4
│ │ ├── 🎬 课时4-Table API创建表的两种方法.mp4
│ │ ├── 🎬 课时5-创建Table.mp4
│ │ ├── 🎬 课时6-从文件中创建Table(静态表).mp4
│ │ ├── 🎬 课时7-从DateStream中创建Table(动态表).mp4
│ │ └── 🎬 课时8-回答问题.mp4
│ ├── 📁 章节14-Flink SQL编程
│ │ ├── 🎬 课时1-查询和过滤与分组函数.mp4
│ │ ├── 🎬 课时2-UDF自定义函数.mp4
│ │ ├── 🎬 课时3-Window窗口函数(滚动窗口).mp4
│ │ ├── 🎬 课时4-Window窗口函数(滑动窗口).mp4
│ │ ├── 🎬 课时5-加入sql语句讲解.mp4
│ │ └── 🎬 课时6-Window窗口函数参数.mp4
│ ├── 📁 章节15-Flink 复杂事件处理CEP
│ │ ├── 🎬 课时1-Flink的复杂事件处理CEP解释.mp4
│ │ ├── 🎬 课时2-CEP相关概念.mp4
│ │ ├── 🎬 课时3-事件定义.mp4
│ │ ├── 🎬 课时4-Pattern API步骤.mp4
│ │ ├── 🎬 课时5-模式定义.mp4
│ │ ├── 🎬 课时6-定义条件.mp4
│ │ ├── 🎬 课时7-模式序列、模式检测与选择结果.mp4
│ │ ├── 🎬 课时8-案例一(上).mp4
│ │ ├── 🎬 课时9-案例一(下).mp4
│ │ ├── 🎬 课时10-案例二.mp4
│ │ └── 🎬 课时11-解疑.mp4
│ └── 📁 章节16-CEP编程和Flink优化
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-状态编程替换成CEP编程.mp4
│ ├── 🎬 课时3-Flink内存优化解释.mp4
│ ├── 🎬 课时4-JobManager与TaskManager配置.mp4
│ ├── 🎬 课时5-Flink的网络缓存优化.mp4
│ ├── 🎬 课时6-面试题一:应用架构讲解.mp4
│ ├── 🎬 课时7-面试题二:压测和监控.mp4
│ ├── 🎬 课时8-面试题三:为什么用Flink.mp4
│ ├── 🎬 课时9-面试题四:checkpoint的存储.mp4
│ ├── 🎬 课时10-面试题五:exactly-once的保证.mp4
│ ├── 🎬 课时11-面试题六:状态机制与面试题七:海量key去重.mp4
│ └── 🎬 课时12-其他面试题讲解.mp4
├── 📁 13.Hadoop 分布式计算框架MapReduce-154
│ ├── 📁 章节1-hadoop-MapReduce原理精讲、轻松入门
│ │ ├── 🎬 课时1-什么是分布式文件系统hdfs.mp4
│ │ ├── 🎬 课时2-MapReduce中的Map.mp4
│ │ ├── 🎬 课时3-MapReduce中的Reduce.mp4
│ │ ├── 🎬 课时4-为什么叫MapReduce.mp4
│ │ ├── 🎬 课时5-mapReduce的依赖关系.mp4
│ │ ├── 🎬 课时6-比例关系.mp4
│ │ ├── 🎬 课时7-MapReduce计算原理.mp4
│ │ ├── 🎬 课时8-map里做了哪些事.mp4
│ │ ├── 🎬 课时9-小文件有哪些特征.mp4
│ │ ├── 🎬 课时10-Reduce里做了哪些事.mp4
│ │ ├── 🎬 课时11-查找重复行.mp4
│ │ └── 🎬 课时12-什么是word count.mp4
│ ├── 📁 章节2-hadoop-MapReduce调度原理,Yarn原理
│ │ ├── 🎬 课时1-学习方法(hdfs).mp4
│ │ ├── 🎬 课时2-学习方法(MapReduce).mp4
│ │ ├── 🎬 课时3-计算向数据移动.mp4
│ │ ├── 🎬 课时4-Job Tracker.mp4
│ │ ├── 🎬 课时5-Client.mp4
│ │ ├── 🎬 课时6-JobTracker收到启动程序之后.mp4
│ │ ├── 🎬 课时7-TaskTracker.mp4
│ │ ├── 🎬 课时8-JobTracker的三大问题.mp4
│ │ ├── 🎬 课时9-yarn架构.mp4
│ │ ├── 🎬 课时10-yarn是做什么的.mp4
│ │ ├── 🎬 课时11-yarn的模型.mp4
│ │ ├── 🎬 课时12-yarn实现.mp4
│ │ ├── 🎬 课时13-结论.mp4
│ │ ├── 🎬 课时14-总结感悟1.mp4
│ │ └── 🎬 课时15-总结感悟2.mp4
│ ├── 📁 章节3-hadoop-MapReduce-Yarn集群搭建、idea开发MR的WC程序
│ │ ├── 🎬 课时1-yarn搭建介绍.mp4
│ │ ├── 🎬 课时2-通过官网配置yarn.mp4
│ │ ├── 🎬 课时3-hadoop配置流程node01.mp4
│ │ ├── 🎬 课时4-node03和node4.mp4
│ │ ├── 🎬 课时5-验证node03和node4.mp4
│ │ ├── 🎬 课时6-MapReduce和yarn的运行方式.mp4
│ │ ├── 🎬 课时7-wordCount代码实现1.mp4
│ │ ├── 🎬 课时8-Job继承关系.mp4
│ │ ├── 🎬 课时9-wordCount代码实现2.mp4
│ │ ├── 🎬 课时10-wordCount代码实现3.mp4
│ │ ├── 🎬 课时11-wordCount代码实现4.mp4
│ │ └── 🎬 课时12-wordCount代码实现5.mp4
│ ├── 📁 章节4-hadoop-MapReduce作业提交方式、源码-客户端提交源码
│ │ ├── 🎬 课时1-MapReduce提交方式1.mp4
│ │ ├── 🎬 课时2-MapReduce提交方式2.mp4
│ │ ├── 🎬 课时3-在windows上单机跑动.mp4
│ │ ├── 🎬 课时4-解决错误.mp4
│ │ ├── 🎬 课时5-配置项必须写死吗.mp4
│ │ ├── 🎬 课时6-参数个性化.mp4
│ │ ├── 🎬 课时7-讲源码分析的目的.mp4
│ │ ├── 🎬 课时8-分析Client.mp4
│ │ ├── 🎬 课时9-MapReduce默认的输入格式化类.mp4
│ │ ├── 🎬 课时10-源码分析getSplits方法1.mp4
│ │ ├── 🎬 课时11-源码分析BlockLocation.mp4
│ │ ├── 🎬 课时12-splits四个重要属性.mp4
│ │ └── 🎬 课时13-源码分析getSplits方法2.mp4
│ ├── 📁 章节5-hadoop-MapReduce源码-MapTask-input源码精讲
│ │ ├── 🎬 课时1-回顾上节课知识.mp4
│ │ ├── 🎬 课时2-MapTask做了什么事情.mp4
│ │ ├── 🎬 课时3-为什么要输入格式化类.mp4
│ │ ├── 🎬 课时4-解析LineRecordReader类.mp4
│ │ ├── 🎬 课时5-答疑.mp4
│ │ ├── 🎬 课时6-总结input.mp4
│ │ ├── 🎬 课时7-map输出1.mp4
│ │ ├── 🎬 课时8-解析HashPartitioner.mp4
│ │ ├── 🎬 课时9-map输出2.mp4
│ │ ├── 🎬 课时10-collector是什么.mp4
│ │ ├── 🎬 课时11-map输出3.mp4
│ │ ├── 🎬 课时12-combiner是什么.mp4
│ │ └── 🎬 课时13-答疑.mp4
│ ├── 📁 章节6-hadoop-MapReduce源码-MapTask-output和ReduceTask精讲
│ │ ├── 🎬 课时1-回顾上节课知识.mp4
│ │ ├── 🎬 课时2-字节数组怎么去用的.mp4
│ │ ├── 🎬 课时3-80%溢写.mp4
│ │ ├── 🎬 课时4-解决撞车问题.mp4
│ │ ├── 🎬 课时5-环形缓冲区怎么用.mp4
│ │ ├── 🎬 课时6-排序.mp4
│ │ ├── 🎬 课时7-什么是环形缓冲区.mp4
│ │ ├── 🎬 课时8-调优.mp4
│ │ ├── 🎬 课时9-combine注意事项.mp4
│ │ ├── 🎬 课时10-答疑.mp4
│ │ ├── 🎬 课时11-map和reduce中的run方法.mp4
│ │ ├── 🎬 课时12-doc中的shuffle.mp4
│ │ ├── 🎬 课时13-doc中的sort.mp4
│ │ ├── 🎬 课时14-doc中reduce.mp4
│ │ ├── 🎬 课时15-reduceTask中的run方法.mp4
│ │ ├── 🎬 课时16-排序比较器可不可以做分组比较器.mp4
│ │ ├── 🎬 课时17-组合方式.mp4
│ │ ├── 🎬 课时18-ReduceTask源码分析1.mp4
│ │ ├── 🎬 课时19-ReduceContextImpl类解析.mp4
│ │ ├── 🎬 课时20-分析迭代器.mp4
│ │ └── 🎬 课时21-以上的设计艺术.mp4
│ ├── 📁 章节7-hadoop-MapReduce开发-分组取TopN-API精炼
│ │ ├── 🎬 课时1-求每个月气温最高的2天思路.mp4
│ │ ├── 🎬 课时2-求每个月气温最高的2天换成.mp4
│ │ ├── 🎬 课时3-分区.mp4
│ │ ├── 🎬 课时4-调优.mp4
│ │ ├── 🎬 课时5-排序.mp4
│ │ ├── 🎬 课时6-答疑.mp4
│ │ ├── 🎬 课时7-自己设置key1.mp4
│ │ ├── 🎬 课时8-自己设置key2.mp4
│ │ ├── 🎬 课时9-源码分析.mp4
│ │ ├── 🎬 课时10-输入.mp4
│ │ ├── 🎬 课时11-map.mp4
│ │ ├── 🎬 课时12-partitioner.mp4
│ │ ├── 🎬 课时13-序列化反序列化 比较器.mp4
│ │ ├── 🎬 课时14-map端代码实现.mp4
│ │ ├── 🎬 课时15-分区器代码实现.mp4
│ │ ├── 🎬 课时16-排序比较器代码实现.mp4
│ │ ├── 🎬 课时17-reduce代码实现.mp4
│ │ └── 🎬 课时18-运行项目.mp4
│ └── 📁 章节8-hadoop-MapReduce开发-推荐系统-大数据思维模式
│ ├── 🎬 课时1-Reduce端的join操作思路.mp4
│ ├── 🎬 课时2-分组取topN和码值替换.mp4
│ ├── 🎬 课时3-Reduce端的join操作实现.mp4
│ ├── 🎬 课时4-好友推荐(场景).mp4
│ ├── 🎬 课时5-如何实现好友推荐1.mp4
│ ├── 🎬 课时6-转成数据.mp4
│ ├── 🎬 课时7-如何实现好友推荐2.mp4
│ ├── 🎬 课时8-如何实现好友推荐代码实现1.mp4
│ ├── 🎬 课时9-如何实现好友推荐代码实现2.mp4
│ └── 🎬 课时10-如何实现好友推荐代码实现3.mp4
├── 📁 14.Hadoop 分布式文件系统HDFS-52
│ ├── 📁 章节1-hadoop-大数据启蒙-初识HDFS
│ │ ├── 🎬 课时1-什么是分治思想1.mp4
│ │ ├── 🎬 课时2-如果我期望的复杂度是O(4)呢.mp4
│ │ ├── 🎬 课时3-什么是分治思想2.mp4
│ │ ├── 🎬 课时4-单机处理大数据问题.mp4
│ │ ├── 🎬 课时5-多机能不能处理大数据问题.mp4
│ │ ├── 🎬 课时6-集群分布式处理大数据的辩证.mp4
│ │ ├── 🎬 课时7-结论.mp4
│ │ ├── 🎬 课时8-Hadoop之父Doug Cutting.mp4
│ │ ├── 🎬 课时9-Hadoop时间简史.mp4
│ │ ├── 🎬 课时10-Cloudera公司介绍.mp4
│ │ ├── 🎬 课时11-分布式文件系统那么多,为什么hadoop项目中还要开发一个hdfs文件系统.mp4
│ │ └── 🎬 课时12-存储模型.mp4
│ ├── 📁 章节2-hadoop-HDFS理论基础读写流程
│ │ ├── 🎬 课时1-架构设计.mp4
│ │ ├── 🎬 课时2-linux和windows文件系统的差异.mp4
│ │ ├── 🎬 课时3-HDFS架构设计图.mp4
│ │ ├── 🎬 课时4-角色功能.mp4
│ │ ├── 🎬 课时5-元数据持久化(日志文件).mp4
│ │ ├── 🎬 课时6-请问:99999999存到磁盘占用多大的磁盘空间.mp4
│ │ ├── 🎬 课时7-在HDFS中是怎么做的.mp4
│ │ ├── 🎬 课时8-安全模式.mp4
│ │ ├── 🎬 课时9-HDFS中的SNN.mp4
│ │ ├── 🎬 课时10-Block的副本放置策略.mp4
│ │ ├── 🎬 课时11-HDFS写流程.mp4
│ │ └── 🎬 课时12-HDFS读流程.mp4
│ ├── 📁 章节3-hadoop-HDFS集群搭建-伪分布式模式
│ │ ├── 🎬 课时1-搭建hadoop思路.mp4
│ │ ├── 🎬 课时2-基础设施讲解.mp4
│ │ ├── 🎬 课时3-基础设施的命令.mp4
│ │ ├── 🎬 课时4-安装JDK.mp4
│ │ ├── 🎬 课时5-设置SSH免密.mp4
│ │ ├── 🎬 课时6-hadoop配置过程.mp4
│ │ ├── 🎬 课时7-配置hadoop的角色.mp4
│ │ ├── 🎬 课时8-初始化和启动.mp4
│ │ ├── 🎬 课时9-验证知识点1.mp4
│ │ └── 🎬 课时10-验证知识点2.mp4
│ ├── 📁 章节4-hadoop-HDFS集群搭建-HA模式概念
│ │ ├── 🎬 课时1-伪分布式到完全分布式.mp4
│ │ ├── 🎬 课时2-ssh免密是为了什么.mp4
│ │ ├── 🎬 课时3-配置部署.mp4
│ │ ├── 🎬 课时4-hdfs-ha思路.mp4
│ │ ├── 🎬 课时5-HDFS解决方案.mp4
│ │ ├── 🎬 课时6-HDFS-HA解决方案1.mp4
│ │ ├── 🎬 课时7-CAP原则.mp4
│ │ ├── 🎬 课时8-HDFS-HA解决方案2.mp4
│ │ ├── 🎬 课时9-HDFS-HA解决方案(Paxos)1.mp4
│ │ ├── 🎬 课时10-简化思路.mp4
│ │ ├── 🎬 课时11-HDFS-HA解决方案3.mp4
│ │ ├── 🎬 课时12-HDFS-HA解决方案(Paxos)2.mp4
│ │ ├── 🎬 课时13-总结HDFS-HA解决方案(HA方案).mp4
│ │ ├── 🎬 课时14-HDFS-Federation解决方案1.mp4
│ │ └── 🎬 课时15-HDFS-Federation解决方案2.mp4
│ ├── 📁 章节5-hadoop-HDFS集群搭建-HA模式验证
│ │ ├── 🎬 课时1-回顾上节课内容.mp4
│ │ ├── 🎬 课时2-如何搭建HA环境.mp4
│ │ ├── 🎬 课时3-HA模式下NameNode是2台?在某一时刻,谁是Active.mp4
│ │ ├── 🎬 课时4-启动集群.mp4
│ │ ├── 🎬 课时5-流程实现(基础设施 ssh免密).mp4
│ │ ├── 🎬 课时6-应用搭建.mp4
│ │ ├── 🎬 课时7-初始化启动.mp4
│ │ ├── 🎬 课时8-实操(停止之前的集群).mp4
│ │ ├── 🎬 课时9-免密node01 node02.mp4
│ │ ├── 🎬 课时10-zookeeper集群搭建node02.mp4
│ │ ├── 🎬 课时11-zookeeper集群搭建node03.mp4
│ │ ├── 🎬 课时12-总结.mp4
│ │ ├── 🎬 课时13-配置hadoop的core和hdfs.mp4
│ │ └── 🎬 课时14-使用验证.mp4
│ └── 📁 章节6-hadoop-HDFS权限、企业级搭建、idea+maven开发HDFS
│ ├── 🎬 课时1-HDFS权限.mp4
│ ├── 🎬 课时2-一般企业中不会用root做什么事情.mp4
│ ├── 🎬 课时3-切换我们用root搭建的HDFS(添加用户).mp4
│ ├── 🎬 课时4-将资源与用户绑定1.mp4
│ ├── 🎬 课时5-切换到god去启动.mp4
│ ├── 🎬 课时6-将资源与用户绑定2.mp4
│ ├── 🎬 课时7-给god用户做免密.mp4
│ ├── 🎬 课时8-配置hdfs-site.xml.mp4
│ ├── 🎬 课时9-二进制.mp4
│ ├── 🎬 课时10-用户权限验证实操1.mp4
│ ├── 🎬 课时11-idea eclipse是什么.mp4
│ ├── 🎬 课时12-maven干什么事情.mp4
│ ├── 🎬 课时13-hdfs中的pom.mp4
│ ├── 🎬 课时14-idea目录结构.mp4
│ ├── 🎬 课时15-怎么拿到配置文件.mp4
│ ├── 🎬 课时16-FileSystem能带来哪些操作.mp4
│ ├── 🎬 课时17-创建目录方法.mp4
│ ├── 🎬 课时18-上传文件.mp4
│ ├── 🎬 课时19-下载文件1.mp4
│ ├── 🎬 课时20-下载文件2.mp4
│ └── 🎬 课时21-回顾.mp4
├── 📁 15.IDE集成开发工具-IDEA-127
│ ├── 📁 章节1-IDE的概念
│ │ └── 🎬 课时1-IDE的概念.mp4
│ ├── 📁 章节2-JetBrains公司介绍
│ │ └── 🎬 课时1-JetBrains公司介绍.mp4
│ ├── 📁 章节3-IntelliJ IDEA介绍
│ │ └── 🎬 课时1-IntelliJ IDEA介绍.mp4
│ ├── 📁 章节4-IDEA的下载_安装前的准备工作
│ │ └── 🎬 课时1-IDEA的下载_安装前的准备工作.mp4
│ ├── 📁 章节5-IDEA的卸载
│ │ └── 🎬 课时1-IDEA的卸载.mp4
│ ├── 📁 章节6-IDEA的安装
│ │ └── 🎬 课时1-IDEA的安装.mp4
│ ├── 📁 章节7-IDEA页面展示
│ │ └── 🎬 课时1-IDEA页面展示.mp4
│ ├── 📁 章节8-Module的概念和使用
│ │ └── 🎬 课时1-Module的概念和使用.mp4
│ ├── 📁 章节9-IDEA的常用设置1
│ │ └── 🎬 课时1-IDEA的常用设置1.mp4
│ ├── 📁 章节10-IDEA的常用设置2
│ │ └── 🎬 课时1-IDEA的常用设置2.mp4
│ ├── 📁 章节11-IDEA的常用设置3
│ │ └── 🎬 课时1-IDEA的常用设置3.mp4
│ ├── 📁 章节12-IDEA的常用快捷键1
│ │ └── 🎬 课时1-IDEA的常用快捷键1.mp4
│ ├── 📁 章节13-IDEA的常用快捷键2
│ │ └── 🎬 课时1-IDEA的常用快捷键2.mp4
│ ├── 📁 章节14-代码模板是什么
│ │ └── 🎬 课时1-代码模板是什么.mp4
│ ├── 📁 章节15-常用代码模板
│ │ └── 🎬 课时1-常用代码模板.mp4
│ ├── 📁 章节16-修改代码模板
│ │ └── 🎬 课时1-修改代码模板.mp4
│ ├── 📁 章节17-创建代码模板
│ │ └── 🎬 课时1-创建代码模板.mp4
│ ├── 📁 章节18-断点调试_常用断点调试快捷键
│ │ └── 🎬 课时1-断点调试_常用断点调试快捷键.mp4
│ ├── 📁 章节19-断点调试_条件判断
│ │ └── 🎬 课时1-断点调试_条件判断.mp4
│ ├── 📁 章节20-断点调试_查看表达式值
│ │ └── 🎬 课时1-断点调试_查看表达式值.mp4
│ ├── 📁 章节21-创建JavaWeb项目
│ │ └── 🎬 课时1-创建JavaWeb项目.mp4
│ └── 📁 章节22-在IDEA中添加Tomcat的镜像
│ └── 🎬 课时1-在IDEA中添加Tomcat的镜像.mp4
├── 📁 16.IO精讲-340
│ ├── 📁 章节1-虚拟文件系统,文件描述符,IO重定向
│ │ ├── 🎬 课时1-操作系统宏观介绍.mp4
│ │ ├── 🎬 课时2-虚拟文件系统.mp4
│ │ ├── 🎬 课时3-文件描述符nodeid,脏读.mp4
│ │ ├── 🎬 课时4-socket pipeline.mp4
│ │ ├── 🎬 课时5-linux的基本使用.mp4
│ │ └── 🎬 课时6-PageCache.mp4
│ ├── 📁 章节2-内核中PageCache、mmap作用、java文件系统io、nio、内存中缓冲区作用
│ │ ├── 🎬 课时1-PageCache kernel.mp4
│ │ ├── 🎬 课时2-磁盘IO.mp4
│ │ └── 🎬 课时3-总结.mp4
│ ├── 📁 章节3-Socket编程BIO及TCP参数
│ │ ├── 🎬 课时1-TCPIP.mp4
│ │ ├── 🎬 课时2-tcp内核数据遗失.mp4
│ │ ├── 🎬 课时3-tcpip参数.mp4
│ │ └── 🎬 课时4-网络IO变化模型.mp4
│ ├── 📁 章节4-C10K问题及NIO精讲和IO模型性能压测
│ │ ├── 🎬 课时1-C10K.mp4
│ │ ├── 🎬 课时2-拓扑结构.mp4
│ │ ├── 🎬 课时3-Linux速度慢的原因.mp4
│ │ ├── 🎬 课时4-答疑1.mp4
│ │ ├── 🎬 课时5-连接数超时102184的原因.mp4
│ │ ├── 🎬 课时6-答疑2.mp4
│ │ └── 🎬 课时7-github移库.mp4
│ ├── 📁 章节5-网络编程之多路复用器及Epoll精讲
│ │ ├── 🎬 课时1-多路复用器的引用.mp4
│ │ ├── 🎬 课时2-同步异步阻塞非阻塞.mp4
│ │ ├── 🎬 课时3-多路复用器.mp4
│ │ ├── 🎬 课时4-中断处理.mp4
│ │ ├── 🎬 课时5-解决问题.mp4
│ │ ├── 🎬 课时6-epoll.mp4
│ │ ├── 🎬 课时7-epoll vs select poll.mp4
│ │ └── 🎬 课时8-java底层selector.mp4
│ ├── 📁 章节6-网络编程java API 实战多路复用器开发
│ │ ├── 🎬 课时1-回顾演示.mp4
│ │ ├── 🎬 课时2-三次握手、四次分手.mp4
│ │ ├── 🎬 课时3-poll演示.mp4
│ │ ├── 🎬 课时4-epoll演示.mp4
│ │ ├── 🎬 课时5-懒加载.mp4
│ │ ├── 🎬 课时6-写事件.mp4
│ │ ├── 🎬 课时7-模型.mp4
│ │ └── 🎬 课时8-答疑.mp4
│ ├── 📁 章节7-全手写急速理解Netty模型及IO模型应用实战
│ │ ├── 🎬 课时1-SelectorThread-IO基本架构.mp4
│ │ ├── 🎬 课时2-MainThread整体步骤.mp4
│ │ ├── 🎬 课时3-创建IO Thread组队列.mp4
│ │ ├── 🎬 课时4-混杂模式.mp4
│ │ ├── 🎬 课时5-全局模型实现.mp4
│ │ └── 🎬 课时6-回答问题.mp4
│ ├── 📁 章节8-Netty之IO模型开发本质手写部分实现推导篇
│ │ ├── 🎬 课时1-bytebuf介绍.mp4
│ │ ├── 🎬 课时2-nio客户端.mp4
│ │ ├── 🎬 课时3-nio服务端.mp4
│ │ └── 🎬 课时4-channel详解.mp4
│ ├── 📁 章节9-全手写基于Netty的RPC框架自定义协议,连接池
│ │ ├── 🎬 课时1-rpc通信demo.mp4
│ │ ├── 🎬 课时2-客户端响应.mp4
│ │ └── 🎬 课时3-响应处理器.mp4
│ ├── 📁 章节10-全手写基于Netty的RPC框架 协议编解码问题 粘包拆包与内核关系
│ │ ├── 🎬 课时1-上节回顾.mp4
│ │ ├── 🎬 课时2-解码decode.mp4
│ │ ├── 🎬 课时3-nioEventGroup.mp4
│ │ └── 🎬 课时4-netty演示NioEventGroup过程.mp4
│ ├── 📁 章节11-全手写基于Netty的RPC框架 provider端简单dispatcher实现RPC调用全流程
│ │ ├── 🎬 课时1-rpc过程回顾.mp4
│ │ ├── 🎬 课时2-netty线程介绍.mp4
│ │ ├── 🎬 课时3-课堂答疑netty eventLoop.mp4
│ │ └── 🎬 课时4-io密集型和内核.mp4
│ ├── 📁 章节12-全手写基于Netty的RPC框架 简单重构框架分层及RPC传输的本质及有无状态的RPC区别
│ │ ├── 🎬 课时1-知识点概念讲解.mp4
│ │ ├── 🎬 课时2-rpc封装过程.mp4
│ │ ├── 🎬 课时3-rpc过程梳理.mp4
│ │ ├── 🎬 课时4-问题之并发量可达到多大.mp4
│ │ ├── 🎬 课时5-rpc流层分析.mp4
│ │ └── 🎬 课时6-课后答疑.mp4
│ └── 📁 章节13-自定义HTTP协议解析和HTTPserver调用实现
│ ├── 🎬 课时1-课前概述.mp4
│ ├── 🎬 课时2-服务端完成接收和返回.mp4
│ ├── 🎬 课时3-通过netty建立io连接.mp4
│ ├── 🎬 课时4-netty客户端实现.mp4
│ └── 🎬 课时5-课堂小结.mp4
├── 📁 17.JavaSE初阶-212
│ ├── 📁 章节1-初始JAVA
│ │ ├── 🎬 课时1-初始JAVA_计算机语言的发展历史.mp4
│ │ ├── 🎬 课时2-初始JAVA_JAVA简史.mp4
│ │ ├── 🎬 课时3-初始JAVA_JAVA体系结构.mp4
│ │ ├── 🎬 课时4-初始JAVA_JAVA特性和优势.mp4
│ │ ├── 🎬 课时5-初始JAVA_核心机制之垃圾收集机制.mp4
│ │ ├── 🎬 课时6-初始JAVA_核心机制之JAVA跨平台原理.mp4
│ │ ├── 🎬 课时7-初始JAVA_核心机制之对比C语言的跨平台原理.mp4
│ │ ├── 🎬 课时8-初始JAVA_常用DOS命令.mp4
│ │ ├── 🎬 课时9-初始JAVA_JDK的下载_安装_卸载.mp4
│ │ ├── 🎬 课时10-初始JAVA_notepad++的安装_系统环境变量path.mp4
│ │ ├── 🎬 课时11-初始JAVA_第一段程序_编译_执行.mp4
│ │ ├── 🎬 课时12-初始JAVA_程序中常见错误.mp4
│ │ ├── 🎬 课时13-初始JAVA_编译方式.mp4
│ │ ├── 🎬 课时14-初始JAVA_扩展:classpath环境变量.mp4
│ │ ├── 🎬 课时15-初始JAVA_扩展:JAVA_HOME环境变量.mp4
│ │ ├── 🎬 课时16-初始JAVA_API.mp4
│ │ ├── 🎬 课时17-初始JAVA_代码量统计工具的使用.mp4
│ │ ├── 🎬 课时18-初始JAVA_单行注释和多行注释.mp4
│ │ ├── 🎬 课时19-初始JAVA_文档注释.mp4
│ │ ├── 🎬 课时20-初始JAVA_反编译工具的使用.mp4
│ │ ├── 🎬 课时21-初始JAVA_本章最后一段代码.mp4
│ │ └── 🎬 课时22-初始JAVA_扩展面试题.mp4
│ ├── 📁 章节2-数据类型
│ │ ├── 🎬 课时1-数据类型_标识符.mp4
│ │ ├── 🎬 课时2-数据类型_关键字.mp4
│ │ ├── 🎬 课时3-常量_字面常量.mp4
│ │ ├── 🎬 课时4-变量的声明 赋值 使用.mp4
│ │ ├── 🎬 课时5-变量的内存.mp4
│ │ ├── 🎬 课时6-变量的作用域.mp4
│ │ ├── 🎬 课时7-基本数据类型之整数类型常量.mp4
│ │ ├── 🎬 课时8-基本数据类型之整数类型变量.mp4
│ │ ├── 🎬 课时9-基本数据类型之浮点类型常量的两种形式.mp4
│ │ ├── 🎬 课时10-基本数据类型之浮点类型变量.mp4
│ │ ├── 🎬 课时11-编码和字符集.mp4
│ │ ├── 🎬 课时12-基本数据类型之字符类型1.mp4
│ │ ├── 🎬 课时13-基本数据类型之字符类型2.mp4
│ │ ├── 🎬 课时14-解释乱码问题.mp4
│ │ ├── 🎬 课时15-基本数据类型之布尔类型.mp4
│ │ ├── 🎬 课时16-基本数据类型转换问题.mp4
│ │ ├── 🎬 课时17-习题_final_字符常量.mp4
│ │ └── 🎬 课时18-习题_加深对Scanner的使用.mp4
│ ├── 📁 章节3-运算符
│ │ ├── 🎬 课时1-Java中的运算符概述.mp4
│ │ ├── 🎬 课时2-算术运算符_除法_取余.mp4
│ │ ├── 🎬 课时3-算术运算符_加号.mp4
│ │ ├── 🎬 课时4-算术运算符_自增.mp4
│ │ ├── 🎬 课时5-赋值运算符.mp4
│ │ ├── 🎬 课时6-扩展赋值运算符.mp4
│ │ ├── 🎬 课时7-关系运算符.mp4
│ │ ├── 🎬 课时8-逻辑运算符.mp4
│ │ ├── 🎬 课时9-三元运算符.mp4
│ │ ├── 🎬 课时10-位运算符.mp4
│ │ ├── 🎬 课时11-运算符_总结.mp4
│ │ └── 🎬 课时12-运算符的优先级别.mp4
│ ├── 📁 章节4-流程控制
│ │ ├── 🎬 课时1-引入.mp4
│ │ ├── 🎬 课时2-分支结构_if单分支.mp4
│ │ ├── 🎬 课时3-分支结构_if多分支.mp4
│ │ ├── 🎬 课时4-分支结构_if双分支.mp4
│ │ ├── 🎬 课时5-随机数.mp4
│ │ ├── 🎬 课时6-分支的嵌套使用_练习1.mp4
│ │ ├── 🎬 课时7-分支的嵌套使用_练习2.mp4
│ │ ├── 🎬 课时8-分支结构_switch分支.mp4
│ │ ├── 🎬 课时9-循环结构_while循环.mp4
│ │ ├── 🎬 课时10-循环结构_while循环练习.mp4
│ │ ├── 🎬 课时11-循环结构_do-while循环.mp4
│ │ ├── 🎬 课时12-循环结构_for循环.mp4
│ │ ├── 🎬 课时13-循环结构_关键字break.mp4
│ │ ├── 🎬 课时14-循环结构_关键字continue.mp4
│ │ ├── 🎬 课时15-循环结构_关键字return.mp4
│ │ ├── 🎬 课时16-循环结构_循环练习1.mp4
│ │ ├── 🎬 课时17-循环结构_循环练习2.mp4
│ │ ├── 🎬 课时18-循环结构_循环嵌套(双重)_乘法口诀.mp4
│ │ ├── 🎬 课时19-循环结构_循环嵌套(双重)_打印各种形状.mp4
│ │ ├── 🎬 课时20-循环结构_循环嵌套(双重)_打印菱形的方式.mp4
│ │ └── 🎬 课时21-循环结构_循环嵌套(三重).mp4
│ ├── 📁 章节5-方法的定义、调用、重载
│ │ ├── 🎬 课时1-方法的定义和调用.mp4
│ │ ├── 🎬 课时2-方法提取的练习.mp4
│ │ ├── 🎬 课时3-面试题_两个数交换是否成功.mp4
│ │ └── 🎬 课时4-方法的重载.mp4
│ └── 📁 章节6-数组
│ ├── 🎬 课时1-数组的引入.mp4
│ ├── 🎬 课时2-数组的学习.mp4
│ ├── 🎬 课时3-数组习题完善_##数组的遍历方式.mp4
│ ├── 🎬 课时4-数组的三种初始化方式.mp4
│ ├── 🎬 课时5-数组的应用_最值问题.mp4
│ ├── 🎬 课时6-数组的应用_查询问题.mp4
│ ├── 🎬 课时7-数组的应用_添加元素.mp4
│ ├── 🎬 课时8-数组的应用_删除元素.mp4
│ ├── 🎬 课时9-详述main方法.mp4
│ ├── 🎬 课时10-可变参数.mp4
│ ├── 🎬 课时11-Arrays工具类的使用.mp4
│ ├── 🎬 课时12-数组的复制.mp4
│ ├── 🎬 课时13-二维数组的定义和遍历.mp4
│ └── 🎬 课时14-二维数组的初始化方式.mp4
├── 📁 18.JavaSE进阶实战-161
│ ├── 📁 章节1-Junit 注解 枚举
│ │ ├── 🎬 课时1-Junit单元测试引入.mp4
│ │ ├── 🎬 课时2-没有Junit的情况下如何测试.mp4
│ │ ├── 🎬 课时3-Junit的使用.mp4
│ │ ├── 🎬 课时4-Junit@Before@After.mp4
│ │ ├── 🎬 课时5-注解的引入.mp4
│ │ ├── 🎬 课时6-注解实例Junit注解.mp4
│ │ ├── 🎬 课时7-注解实例文档注解.mp4
│ │ ├── 🎬 课时8-注解实例JDK内置的3个注解.mp4
│ │ ├── 🎬 课时9-注解实例替代配置文件的注解.mp4
│ │ ├── 🎬 课时10-自定义注解.mp4
│ │ ├── 🎬 课时11-元注解的概念解释.mp4
│ │ ├── 🎬 课时12-元注解Retention.mp4
│ │ ├── 🎬 课时13-元注解Retention补充.mp4
│ │ ├── 🎬 课时14-元注解Target.mp4
│ │ ├── 🎬 课时15-元注解Documented.mp4
│ │ ├── 🎬 课时16-元注解Inherited.mp4
│ │ ├── 🎬 课时17-枚举的引入自定义枚举类.mp4
│ │ ├── 🎬 课时18-JDK1.5后使用enum关键字定义枚举类.mp4
│ │ ├── 🎬 课时19-enum定义枚举类补充.mp4
│ │ ├── 🎬 课时20-Enum类的常用方法.mp4
│ │ ├── 🎬 课时21-枚举类实现接口.mp4
│ │ └── 🎬 课时22-枚举的应用.mp4
│ ├── 📁 章节2-反射
│ │ ├── 🎬 课时1-反射的引入.mp4
│ │ ├── 🎬 课时2-反射概念.mp4
│ │ ├── 🎬 课时3-Class类14.mp4
│ │ ├── 🎬 课时4-提供丰富的类.mp4
│ │ ├── 🎬 课时5-获取字节码信息的四种方式.mp4
│ │ ├── 🎬 课时6-可以作为Class类的实例的种类.mp4
│ │ ├── 🎬 课时7-补充上面的丰富的类中的内容.mp4
│ │ ├── 🎬 课时8-获取构造器和创建对象.mp4
│ │ ├── 🎬 课时9-获取属性和对属性进行赋值.mp4
│ │ ├── 🎬 课时10-获取方法和调用方法.mp4
│ │ ├── 🎬 课时11-获取类的接口,所在包,注解.mp4
│ │ └── 🎬 课时12-关于反射的面试题.mp4
│ └── 📁 章节3-jdk新特性章节
│ ├── 🎬 课时1-JAVA新特性_课程介绍.mp4
│ ├── 🎬 课时2-JAVA新特性_环境准备.mp4
│ ├── 🎬 课时3-JAVA新特性_JAVA9概述.mp4
│ ├── 🎬 课时4-JAVA新特性_JAVA9钻石操作符.mp4
│ ├── 🎬 课时5-JAVA新特性_JAVA9try语句升级.mp4
│ ├── 🎬 课时6-JAVA新特性_JAVA9下划线标识符限制.mp4
│ ├── 🎬 课时7-JAVA新特性_JAVA9接口私有方法.mp4
│ ├── 🎬 课时8-JAVA新特性_JAVA9String底层存储结构.mp4
│ ├── 🎬 课时9-JAVA新特性_JAVA9Stream新增API.mp4
│ ├── 🎬 课时10-JAVA新特性_JAVA9InputStream新增API.mp4
│ ├── 🎬 课时11-JAVA新特性_JAVA9新增创建只读集合of方法.mp4
│ ├── 🎬 课时12-JAVA新特性_JAVA9模块化了解.mp4
│ ├── 🎬 课时13-JAVA新特性_JAVA9可交互REPL工具jshell.mp4
│ ├── 🎬 课时14-JAVA新特性_JAVA10概述.mp4
│ ├── 🎬 课时15-JAVA新特性_JAVA10局部变量类型推断.mp4
│ ├── 🎬 课时16-JAVA新特性_JAVA10只读集合新增copyOf方法.mp4
│ ├── 🎬 课时17-JAVA新特性_JAVA11概述.mp4
│ ├── 🎬 课时18-JAVA新特性_JAVA11局部变量类型推断升级.mp4
│ ├── 🎬 课时19-JAVA新特性_JAVA11String新增API.mp4
│ ├── 🎬 课时20-JAVA新特性_JAVA11OptionalAPI总结.mp4
│ ├── 🎬 课时21-JAVA新特性_JAVA11HttpClient.mp4
│ ├── 🎬 课时22-JAVA新特性_JAVA11简化编译运行.mp4
│ ├── 🎬 课时23-JAVA新特性_JAVA11其他新特性提示.mp4
│ ├── 🎬 课时24-JAVA新特性_JAVA12简要概述.mp4
│ ├── 🎬 课时25-JAVA新特性_JAVA12Switch表达式预览.mp4
│ ├── 🎬 课时26-JAVA新特性_JAVA12数字压缩格式化.mp4
│ ├── 🎬 课时27-JAVA新特性_JAVA12String新增transform方法.mp4
│ ├── 🎬 课时28-JAVA新特性_JAVA12String新增indent.mp4
│ ├── 🎬 课时29-JAVA新特性_JAVA12Files新增mismatch方法.mp4
│ ├── 🎬 课时30-JAVA新特性_JAVA12关于GC.mp4
│ ├── 🎬 课时31-JAVA新特性_JAVA12其他内容(了解 可自行阅读文档).mp4
│ ├── 🎬 课时32-JAVA新特性_JAVA13极简概述.mp4
│ ├── 🎬 课时33-JAVA新特性_JAVA13文本块预览..mp4
│ ├── 🎬 课时34-JAVA新特性_JAVA13文本块语法细节.mp4
│ ├── 🎬 课时35-JAVA新特性_JAVA13文本块拼接相关细节.mp4
│ ├── 🎬 课时36-JAVA新特性_JAVA13重新实现旧版套接字.mp4
│ ├── 🎬 课时37-JAVA新特性_JAVA13其他新特性提要.mp4
│ ├── 🎬 课时38-JAVA新特性_JAVA14新特性概述.mp4
│ ├── 🎬 课时39-JAVA新特性_JAVA14instanceof模式匹配(预览).mp4
│ ├── 🎬 课时40-JAVA新特性_JAVA14Switch表达式(标准).mp4
│ ├── 🎬 课时41-JAVA新特性_JAVA14文本块二次预览.mp4
│ ├── 🎬 课时42-JAVA新特性_JAVA14Records记录类型.mp4
│ ├── 🎬 课时43-JAVA新特性_JAVA14Records的使用限制(problem).mp4
│ ├── 🎬 课时44-JAVA新特性_JAVA14关于GC的提要.mp4
│ ├── 🎬 课时45-JAVA新特性_JAVA14空指针友好提示.mp4
│ ├── 🎬 课时46-JAVA新特性_JAVA14其他新特性.mp4
│ ├── 🎬 课时47-JAVA新特性_JAVA15简单概述.mp4
│ ├── 🎬 课时48-JAVA新特性_JAVA15密封类.mp4
│ ├── 🎬 课时49-JAVA新特性_JAVA15隐藏类.mp4
│ ├── 🎬 课时50-JAVA新特性_JAVA15instanceof_Records_文本块.mp4
│ ├── 🎬 课时51-JAVA新特性_JAVA15ZGC和Shenandoah转正.mp4
│ ├── 🎬 课时52-JAVA新特性_JAVA15其他新特性.mp4
│ ├── 🎬 课时53-JAVA新特性_JAVA16概述.mp4
│ ├── 🎬 课时54-JAVA新特性_JAVA16密封类(二次预览).mp4
│ ├── 🎬 课时55-JAVA新特性_JAVA16模式匹配(标准).mp4
│ ├── 🎬 课时56-JAVA新特性_JAVA16记录(标准).mp4
│ ├── 🎬 课时57-JAVA新特性_JAVA16基于值的类构造警告.mp4
│ ├── 🎬 课时58-JAVA新特性_JAVA16其他新特性(可忽略).mp4
│ ├── 🎬 课时59-JAVA新特性_JAVA17简要概述.mp4
│ ├── 🎬 课时60-JAVA新特性_JAVA17密封类(标准).mp4
│ ├── 🎬 课时61-JAVA新特性_JAVA17switch模式匹配.mp4
│ └── 🎬 课时62-JAVA新特性_JAVA17其他新特性(了解).mp4
├── 📁 19.JavaSE中阶-859
│ ├── 📁 章节1-面向对象
│ │ ├── 🎬 课时1-面向对象_面向过程和面向对象的区别.mp4
│ │ ├── 🎬 课时2-面向对象_类和对象的关系.mp4
│ │ ├── 🎬 课时3-面向对象_面向对象三个阶段.mp4
│ │ ├── 🎬 课时4-面向对象_创建类.mp4
│ │ ├── 🎬 课时5-面向对象_创建对象.mp4
│ │ ├── 🎬 课时6-面向对象_局部变量和成员变量的区别.mp4
│ │ ├── 🎬 课时7-面向对象_构造器.mp4
│ │ ├── 🎬 课时8-面向对象_构造器的重载.mp4
│ │ ├── 🎬 课时9-面向对象_内存分析1.mp4
│ │ ├── 🎬 课时10-面向对象_内存分析2.mp4
│ │ ├── 🎬 课时11-面向对象_内存分析3.mp4
│ │ ├── 🎬 课时12-面向对象_this的使用.mp4
│ │ ├── 🎬 课时13-面向对象_static修饰属性.mp4
│ │ ├── 🎬 课时14-面向对象_static修饰方法.mp4
│ │ ├── 🎬 课时15-面向对象_代码块.mp4
│ │ ├── 🎬 课时16-面向对象_包_import_(1).mp4
│ │ ├── 🎬 课时17-面向对象_包_import_(2).mp4
│ │ ├── 🎬 课时18-面向对象_封装(1).mp4
│ │ ├── 🎬 课时19-面向对象_封装(2).mp4
│ │ ├── 🎬 课时20-面向对象_封装的总结.mp4
│ │ ├── 🎬 课时21-面向对象_继承的引入.mp4
│ │ ├── 🎬 课时22-面向对象_继承的代码演示.mp4
│ │ ├── 🎬 课时23-面向对象_继承总结.mp4
│ │ ├── 🎬 课时24-面向对象_继承的内存分析.mp4
│ │ ├── 🎬 课时25-面向对象_权限修饰符.mp4
│ │ ├── 🎬 课时26-面向对象_方法的重写.mp4
│ │ ├── 🎬 课时27-面向对象_super修饰属性 方法.mp4
│ │ ├── 🎬 课时28-面向对象_super修饰构造器.mp4
│ │ ├── 🎬 课时29-面向对象_super修饰构造器补充.mp4
│ │ ├── 🎬 课时30-面向对象_继承条件下构造方法的执行过程.mp4
│ │ ├── 🎬 课时31-面向对象_Object类的toString方法.mp4
│ │ ├── 🎬 课时32-面向对象_Object类的equals方法(1).mp4
│ │ ├── 🎬 课时33-面向对象_Object类的equals方法(2)_instanceof.mp4
│ │ ├── 🎬 课时34-面向对象_Object类的equals方法(3).mp4
│ │ ├── 🎬 课时35-面向对象_类和类之间的关系(1).mp4
│ │ ├── 🎬 课时36-面向对象_类和类之间的关系(2).mp4
│ │ ├── 🎬 课时37-面向对象_多态(1).mp4
│ │ ├── 🎬 课时38-面向对象_多态(2).mp4
│ │ ├── 🎬 课时39-面向对象_多态内存分析.mp4
│ │ ├── 🎬 课时40-面向对象_向下转型_向上转型.mp4
│ │ ├── 🎬 课时41-面向对象_简单工厂设计模式.mp4
│ │ ├── 🎬 课时42-面向对象_final修饰符.mp4
│ │ ├── 🎬 课时43-面向对象_抽象类_抽象方法.mp4
│ │ ├── 🎬 课时44-面向对象_接口(JDK1.8之前).mp4
│ │ ├── 🎬 课时45-面向对象_接口(JDK1.8之后新增).mp4
│ │ ├── 🎬 课时46-面向对象_内部类_成员内部类.mp4
│ │ └── 🎬 课时47-面向对象_内部类_局部内部类.mp4
│ ├── 📁 章节2-异常
│ │ ├── 🎬 课时1-异常_异常的案例引入.mp4
│ │ ├── 🎬 课时2-异常_用if-else处理异常.mp4
│ │ ├── 🎬 课时3-异常_try-catch捕获异常.mp4
│ │ ├── 🎬 课时4-异常_catch中处理异常的方式.mp4
│ │ ├── 🎬 课时5-异常_finally.mp4
│ │ ├── 🎬 课时6-异常_多重catch.mp4
│ │ ├── 🎬 课时7-异常_异常的分类 层次结构.mp4
│ │ ├── 🎬 课时8-异常_throw和throws的区别.mp4
│ │ ├── 🎬 课时9-异常_异常练习.mp4
│ │ ├── 🎬 课时10-重载和重写异常的区别.mp4
│ │ └── 🎬 课时11-自定义异常.mp4
│ ├── 📁 章节3-常用类
│ │ ├── 🎬 课时1-包装类_引入.mp4
│ │ ├── 🎬 课时2-包装类_常用属性_常用构造器.mp4
│ │ ├── 🎬 课时3-包装类_自动装箱_自动拆箱.mp4
│ │ ├── 🎬 课时4-包装类_常用方法.mp4
│ │ ├── 🎬 课时5-日期相关_java.util.Date.mp4
│ │ ├── 🎬 课时6-日期相关_java.sql.Date.mp4
│ │ ├── 🎬 课时7-日期相关_SimpleDateFormat.mp4
│ │ ├── 🎬 课时8-日期相关_Calendar.mp4
│ │ ├── 🎬 课时9-日期相关_Calendar练习需求.mp4
│ │ ├── 🎬 课时10-日期相关_Calendar练习完成.mp4
│ │ ├── 🎬 课时11-日期相关_JDK1.8新增日期时间API的原因.mp4
│ │ ├── 🎬 课时12-日期相关_JDK1.8新增LocalDate LocalTime LocalDateTime.mp4
│ │ ├── 🎬 课时13-日期相关_DateTimeFormatter.mp4
│ │ ├── 🎬 课时14-Math类.mp4
│ │ ├── 🎬 课时15-Random类.mp4
│ │ ├── 🎬 课时16-String的本质.mp4
│ │ ├── 🎬 课时17-String的常用方法(1).mp4
│ │ ├── 🎬 课时18-String的常用方法(2).mp4
│ │ ├── 🎬 课时19-String的常用方法(3).mp4
│ │ ├── 🎬 课时20-String的常用方法(4).mp4
│ │ ├── 🎬 课时21-String的内存分析.mp4
│ │ ├── 🎬 课时22-StringBuilder类(1).mp4
│ │ ├── 🎬 课时23-StringBuilder类(2).mp4
│ │ ├── 🎬 课时24-理解可变和不可变的含义.mp4
│ │ ├── 🎬 课时25-StringBuilder和StringBuffer常用方法简述.mp4
│ │ └── 🎬 课时26-String StringBuilder StringBuffer区别.mp4
│ ├── 📁 章节4-集合
│ │ ├── 🎬 课时1-什么是算法什么是数据结构.mp4
│ │ ├── 🎬 课时2-紧密结构,跳转结构.mp4
│ │ ├── 🎬 课时3-集合的引入.mp4
│ │ ├── 🎬 课时4-简要集合结构图.mp4
│ │ ├── 🎬 课时5-集合的应用场合.mp4
│ │ ├── 🎬 课时6-Collection接口的常用方法.mp4
│ │ ├── 🎬 课时7-Collection接口的遍历方式.mp4
│ │ ├── 🎬 课时8-List接口.mp4
│ │ ├── 🎬 课时9-ArrayList实现类JDK1.7源码.mp4
│ │ ├── 🎬 课时10-ArrayList实现类JDK1.8源码.mp4
│ │ ├── 🎬 课时11-Vector实现类源码.mp4
│ │ ├── 🎬 课时12-泛型的引入.mp4
│ │ ├── 🎬 课时13-自定义泛型结构_泛型类_泛型接口.mp4
│ │ ├── 🎬 课时14-自定义泛型结构_泛型类_泛型接口细节.mp4
│ │ ├── 🎬 课时15-自定义泛型结构_泛型方法.mp4
│ │ ├── 🎬 课时16-自定义泛型结构_泛型参数存在继承关系的情况.mp4
│ │ ├── 🎬 课时17-自定义泛型结构_通配符.mp4
│ │ ├── 🎬 课时18-自定义泛型结构_通配符使用的细节.mp4
│ │ ├── 🎬 课时19-自定义泛型结构_泛型受限.mp4
│ │ ├── 🎬 课时20-LinkedList实现类的使用.mp4
│ │ ├── 🎬 课时21-LinkedList简要底层原理图.mp4
│ │ ├── 🎬 课时22-模拟LinkedList源码.mp4
│ │ ├── 🎬 课时23-LinkedList源码解析(JDK1.8).mp4
│ │ ├── 🎬 课时24-面试题:iterator Iterator Iterable关系.mp4
│ │ ├── 🎬 课时25-迭代器中hasNext next的具体实现.mp4
│ │ ├── 🎬 课时26-ListIterator迭代器.mp4
│ │ ├── 🎬 课时27-Set接口介绍.mp4
│ │ ├── 🎬 课时28-HashSet的特点.mp4
│ │ ├── 🎬 课时29-HashSet的简要原理.mp4
│ │ ├── 🎬 课时30-HashSet原理留下的疑问.mp4
│ │ ├── 🎬 课时31-LinkedHashSet的使用.mp4
│ │ ├── 🎬 课时32-比较器的使用.mp4
│ │ ├── 🎬 课时33-TreeSet的使用及原理.mp4
│ │ ├── 🎬 课时34-Map接口中常用方法1.mp4
│ │ ├── 🎬 课时35-Map接口中常用方法2.mp4
│ │ ├── 🎬 课时36-Hashtable LinkedHashMap的使用.mp4
│ │ ├── 🎬 课时37-TreeMap的使用.mp4
│ │ ├── 🎬 课时38-HashMap的原理简单介绍.mp4
│ │ ├── 🎬 课时39-HashMap中重要属性.mp4
│ │ ├── 🎬 课时40-HashMap的构造器.mp4
│ │ ├── 🎬 课时41-HashMap的put方法.mp4
│ │ ├── 🎬 课时42-HashMap底层数组的扩容.mp4
│ │ ├── 🎬 课时43-HashMap的两个经典面试题.mp4
│ │ ├── 🎬 课时44-HashSet底层原理.mp4
│ │ ├── 🎬 课时45-TreeMap底层源码.mp4
│ │ ├── 🎬 课时46-TreeSet底层源码.mp4
│ │ └── 🎬 课时47-Collections工具类.mp4
│ ├── 📁 章节5-IO流
│ │ ├── 🎬 课时1-File类的引入.mp4
│ │ ├── 🎬 课时2-File对文件的操作.mp4
│ │ ├── 🎬 课时3-File对目录的操作.mp4
│ │ ├── 🎬 课时4-IO流的引入.mp4
│ │ ├── 🎬 课时5-FileReader读取文件内容(1).mp4
│ │ ├── 🎬 课时6-FileReader读取文件内容(2).mp4
│ │ ├── 🎬 课时7-FileWriter写出数据操作.mp4
│ │ ├── 🎬 课时8-FileReader FileWriter完成文件复制.mp4
│ │ ├── 🎬 课时9-警告-不要用字符流去操作非文本文件.mp4
│ │ ├── 🎬 课时10-利用try-catch-finally处理异常方式.mp4
│ │ ├── 🎬 课时11-FileInputStream读取文件中内容.mp4
│ │ ├── 🎬 课时12-FileInputStream FileOutputStream完成非文本文件的复制.mp4
│ │ ├── 🎬 课时13-缓冲字节流(处理流)-BufferedInputStream BufferedOutputStream.mp4
│ │ ├── 🎬 课时14-比对非文本文件复制的三种方法的效率.mp4
│ │ ├── 🎬 课时15-缓冲字符流(处理流)-BufferedReader BufferedWriter完成文本文件的复制.mp4
│ │ ├── 🎬 课时16-转换流-InputStreamReader OutputStreamWriter.mp4
│ │ ├── 🎬 课时17-转换流-InputStreamReader OutputStreamWriter实现文本文件的复制.mp4
│ │ ├── 🎬 课时18-System类对IO流的支持.mp4
│ │ ├── 🎬 课时19-练习:键盘录入内容输出到文件中.mp4
│ │ ├── 🎬 课时20-数据流-DataInputStream DataOutputStream.mp4
│ │ ├── 🎬 课时21-对象流_序列化和反序列化.mp4
│ │ ├── 🎬 课时22-实现Serializable接口.mp4
│ │ ├── 🎬 课时23-serialVersionUID.mp4
│ │ ├── 🎬 课时24-IDEA中配置序列化版本号.mp4
│ │ └── 🎬 课时25-序列化细节.mp4
│ ├── 📁 章节6-多线程
│ │ ├── 🎬 课时1-程序 进程 线程.mp4
│ │ ├── 🎬 课时2-单核CPU与多核CPU的任务执行.mp4
│ │ ├── 🎬 课时3-并行和并发.mp4
│ │ ├── 🎬 课时4-创建线程的第一种方式.mp4
│ │ ├── 🎬 课时5-设置读取线程名字.mp4
│ │ ├── 🎬 课时6-习题_买火车票.mp4
│ │ ├── 🎬 课时7-创建线程的第二种方式.mp4
│ │ ├── 🎬 课时8-习题_买火车票.mp4
│ │ ├── 🎬 课时9-创建线程的第三种方式.mp4
│ │ ├── 🎬 课时10-线程的生命周期.mp4
│ │ ├── 🎬 课时11-线程常见方法_设置优先级别.mp4
│ │ ├── 🎬 课时12-线程常见方法_join.mp4
│ │ ├── 🎬 课时13-线程常见方法_sleep.mp4
│ │ ├── 🎬 课时14-线程常见方法_setDaemon.mp4
│ │ ├── 🎬 课时15-线程常见方法_stop.mp4
│ │ ├── 🎬 课时16-线程的同步_同步代码块(1).mp4
│ │ ├── 🎬 课时17-线程的同步_同步代码块(2).mp4
│ │ ├── 🎬 课时18-线程的同步_同步方法.mp4
│ │ ├── 🎬 课时19-线程的同步_Lock锁.mp4
│ │ ├── 🎬 课时20-线程的同步的缺点.mp4
│ │ ├── 🎬 课时21-线程通信的引入.mp4
│ │ ├── 🎬 课时22-生产者消费者分解1.mp4
│ │ ├── 🎬 课时23-生产者消费者分解2.mp4
│ │ ├── 🎬 课时24-生产者消费者分解3.mp4
│ │ └── 🎬 课时25-Loc锁情况下的线程通信.mp4
│ └── 📁 章节7-网络编程
│ ├── 🎬 课时1-网络编程的引入.mp4
│ ├── 🎬 课时2-InetAddress InetSocketAddress.mp4
│ ├── 🎬 课时3-网络通信原理_套接字的引入.mp4
│ ├── 🎬 课时4-TCP通信_单向通信.mp4
│ ├── 🎬 课时5-TCP通信_双向通信.mp4
│ ├── 🎬 课时6-TCP通信_对象流传送.mp4
│ ├── 🎬 课时7-TCP通信_加入完整的处理异常方式.mp4
│ ├── 🎬 课时8-TCP通信_多线程接收用户请求.mp4
│ ├── 🎬 课时9-UDP通信_单向通信.mp4
│ ├── 🎬 课时10-UDP通信_双向通信.mp4
│ ├── 🎬 课时11-UDP通信_加入完整的异常处理方式.mp4
│ └── 🎬 课时12-UDP通信_完整正常通信.mp4
├── 📁 20.Java连接数据库技术-JDBC-472
│ ├── 📁 章节1-JDBC概念引入
│ │ └── 🎬 课时1-JDBC概念引入.mp4
│ ├── 📁 章节2-导入和移除jar文件依赖
│ │ └── 🎬 课时1-导入和移除jar文件依赖.mp4
│ ├── 📁 章节3-JDBC初次使用1
│ │ └── 🎬 课时1-JDBC初次使用1.mp4
│ ├── 📁 章节4-JDBC初次使用2
│ │ └── 🎬 课时1-JDBC初次使用2.mp4
│ ├── 📁 章节5-常见异常分析
│ │ └── 🎬 课时1-常见异常分析.mp4
│ ├── 📁 章节6-关于驱动加载方式
│ │ └── 🎬 课时1-关于驱动加载方式.mp4
│ ├── 📁 章节7-添加异常捕获处理
│ │ └── 🎬 课时1-添加异常捕获处理.mp4
│ ├── 📁 章节8-删除和修改功能
│ │ └── 🎬 课时1-删除和修改功能.mp4
│ ├── 📁 章节9-查询操作
│ │ └── 🎬 课时1-查询操作.mp4
│ ├── 📁 章节10-实体类封装结果集
│ │ └── 🎬 课时1-实体类封装结果集.mp4
│ ├── 📁 章节11-注入攻击演示
│ │ └── 🎬 课时1-注入攻击演示.mp4
│ ├── 📁 章节12-防止注入攻击
│ │ └── 🎬 课时1-防止注入攻击.mp4
│ ├── 📁 章节13-关于预编译
│ │ └── 🎬 课时1-关于预编译.mp4
│ ├── 📁 章节14-PreparedStatement实现CURD批处理
│ │ └── 🎬 课时1-PreparedStatement实现CURD批处理.mp4
│ ├── 📁 章节15-批处理
│ │ └── 🎬 课时1-批处理.mp4
│ ├── 📁 章节16-JDBC控制事务
│ │ └── 🎬 课时1-JDBC控制事务.mp4
│ ├── 📁 章节17-设置回滚点
│ │ └── 🎬 课时1-设置回滚点.mp4
│ ├── 📁 章节18-DAO模式引入
│ │ └── 🎬 课时1-DAO模式引入.mp4
│ ├── 📁 章节19-DAO模式开发代码
│ │ └── 🎬 课时1-DAO模式开发代码.mp4
│ ├── 📁 章节20-员工管理系统A
│ │ └── 🎬 课时1-员工管理系统A.mp4
│ ├── 📁 章节21-员工管理系统B
│ │ └── 🎬 课时1-员工管理系统B.mp4
│ ├── 📁 章节22-员工管理系统C
│ │ └── 🎬 课时1-员工管理系统C.mp4
│ ├── 📁 章节23-封装BaseDao1
│ │ └── 🎬 课时1-封装BaseDao1.mp4
│ ├── 📁 章节24-封装BaseDao2
│ │ └── 🎬 课时1-封装BaseDao2.mp4
│ ├── 📁 章节25-连接池原理分析
│ │ └── 🎬 课时1-连接池原理分析.mp4
│ ├── 📁 章节26-连接池代码实现
│ │ └── 🎬 课时1-连接池代码实现.mp4
│ ├── 📁 章节27-配置文件优化连接池
│ │ └── 🎬 课时1-配置文件优化连接池.mp4
│ ├── 📁 章节28-log4j简介
│ │ └── 🎬 课时1-log4j简介.mp4
│ ├── 📁 章节29-log4j快速上手
│ │ └── 🎬 课时1-log4j快速上手.mp4
│ ├── 📁 章节30-log4j输出格式(了解)
│ │ └── 🎬 课时1-log4j输出格式(了解).mp4
│ ├── 📁 章节31-第一范式
│ │ └── 🎬 课时1-第一范式.mp4
│ ├── 📁 章节32-第二范式
│ │ └── 🎬 课时1-第二范式.mp4
│ ├── 📁 章节33-第三范式
│ │ └── 🎬 课时1-第三范式.mp4
│ ├── 📁 章节34-特殊案例分析
│ │ └── 🎬 课时1-特殊案例分析.mp4
│ └── 📁 章节35-一对一_一对多_多对多
│ └── 🎬 课时1-一对一_一对多_多对多.mp4
├── 📁 21.JVM调优-419
│ ├── 📁 章节1-JVM调优(一)
│ │ ├── 🎬 课时1-课程规划.mp4
│ │ ├── 🎬 课时2-JVM基础1.mp4
│ │ ├── 🎬 课时3-JVM基础2.mp4
│ │ ├── 🎬 课时4-Class文件格式.mp4
│ │ ├── 🎬 课时5-Class文件解读1.mp4
│ │ ├── 🎬 课时6-Class文件解读2.mp4
│ │ ├── 🎬 课时7-Class文件解读3.mp4
│ │ ├── 🎬 课时8-day1课后作业.mp4
│ │ ├── 🎬 课时9-day2课前复习.mp4
│ │ └── 🎬 课时10-类加载器.mp4
│ ├── 📁 章节2-JVM调优(二)
│ │ ├── 🎬 课时1-双亲委派.mp4
│ │ ├── 🎬 课时2-父加载器.mp4
│ │ ├── 🎬 课时3-类加载器范围.mp4
│ │ ├── 🎬 课时4-自定义类加载器1.mp4
│ │ ├── 🎬 课时5-自定义类加载器2.mp4
│ │ ├── 🎬 课时6-加密.mp4
│ │ ├── 🎬 课时7-编译器.mp4
│ │ ├── 🎬 课时8-JVM的懒加载模式.mp4
│ │ └── 🎬 课时9-day2课后总结.mp4
│ ├── 📁 章节3-JVM调优(三)
│ │ ├── 🎬 课时1-day3课前复习.mp4
│ │ ├── 🎬 课时2-初始化.mp4
│ │ ├── 🎬 课时3-单例模式 双重检查.mp4
│ │ ├── 🎬 课时4-硬件层数据一致性.mp4
│ │ ├── 🎬 课时5-缓存行 伪共享.mp4
│ │ ├── 🎬 课时6-乱序问题.mp4
│ │ ├── 🎬 课时7-乱序证明.mp4
│ │ ├── 🎬 课时8-硬件级别保证有序.mp4
│ │ └── 🎬 课时9-day3课后总结.mp4
│ ├── 📁 章节4-JVM调优(四)
│ │ ├── 🎬 课时1-day4课前复习.mp4
│ │ ├── 🎬 课时2-volatile实现细节.mp4
│ │ ├── 🎬 课时3-synchronized实现细节.mp4
│ │ ├── 🎬 课时4-排序规范.mp4
│ │ ├── 🎬 课时5-对象的创建过程.mp4
│ │ ├── 🎬 课时6-对象在内存中的存储布局.mp4
│ │ ├── 🎬 课时7-对象的大小.mp4
│ │ ├── 🎬 课时8-对象头具体包括什么.mp4
│ │ ├── 🎬 课时9-day4课程总结.mp4
│ │ ├── 🎬 课时10-Runtime Data Area.mp4
│ │ ├── 🎬 课时11-栈帧.mp4
│ │ └── 🎬 课时12-栈的执行流程.mp4
│ ├── 📁 章节5-JVM调优(五)
│ │ ├── 🎬 课时1-invoke指令.mp4
│ │ ├── 🎬 课时2-day4课后总结.mp4
│ │ ├── 🎬 课时3-垃圾.mp4
│ │ ├── 🎬 课时4-GC常用垃圾清除算法.mp4
│ │ ├── 🎬 课时5-堆内存逻辑分区.mp4
│ │ ├── 🎬 课时6-栈上分配.mp4
│ │ ├── 🎬 课时7-对象何时进入老年代.mp4
│ │ ├── 🎬 课时8-关于年轻代老年代的两个问题.mp4
│ │ ├── 🎬 课时9-常见的垃圾回收器.mp4
│ │ ├── 🎬 课时10-CMS.mp4
│ │ ├── 🎬 课时11-CMS的问题.mp4
│ │ ├── 🎬 课时12-预习+day6课后总结.mp4
│ │ └── 🎬 课时13-day7课前.mp4
│ ├── 📁 章节6-JVM调优(六)
│ │ ├── 🎬 课时1-JVM常用命令行参数.mp4
│ │ ├── 🎬 课时2-GC日志详解.mp4
│ │ ├── 🎬 课时3-调优前的基础概念.mp4
│ │ ├── 🎬 课时4-什么是调优.mp4
│ │ ├── 🎬 课时5-调优1_预规划.mp4
│ │ ├── 🎬 课时6-预规划案例.mp4
│ │ └── 🎬 课时7-调优2优化JVM运行环境(慢 卡顿).mp4
│ ├── 📁 章节7-JVM调优(七)
│ │ ├── 🎬 课时1-预习+day7课后总结.mp4
│ │ ├── 🎬 课时2-day8课前复习.mp4
│ │ ├── 🎬 课时3-jvm调优案例1_风险评控.mp4
│ │ ├── 🎬 课时4-top命令观察到问题.mp4
│ │ ├── 🎬 课时5-jstack定位线程状况.mp4
│ │ ├── 🎬 课时6-定位OOM问题.mp4
│ │ ├── 🎬 课时7-面试问题12分钟jmap讲混了详情参考第068集.mp4
│ │ ├── 🎬 课时8-day8课后总结.mp4
│ │ ├── 🎬 课时9-day8更正(jmap两个命令讲混了).mp4
│ │ └── 🎬 课时10-day9课前复习.mp4
│ ├── 📁 章节8-JVM调优(八)
│ │ ├── 🎬 课时1-arthas.mp4
│ │ ├── 🎬 课时2-分析dump文件.mp4
│ │ ├── 🎬 课时3-arthas的反编译和热替换.mp4
│ │ ├── 🎬 课时4-OOM案例汇总1.mp4
│ │ ├── 🎬 课时5-OOM案例汇总2.mp4
│ │ ├── 🎬 课时6-OOM案例汇总3.mp4
│ │ ├── 🎬 课时7-day9课后预习.mp4
│ │ ├── 🎬 课时8-day10课程规划.mp4
│ │ ├── 🎬 课时9-CMS复习.mp4
│ │ └── 🎬 课时10-G1特点1.mp4
│ ├── 📁 章节9-JVM调优(九)
│ │ ├── 🎬 课时1-G1特点2.mp4
│ │ ├── 🎬 课时2-并发标记算法.mp4
│ │ ├── 🎬 课时3-day10课后总结.mp4
│ │ ├── 🎬 课时4-RSet与赋值效率.mp4
│ │ ├── 🎬 课时5-day11课程规划.mp4
│ │ ├── 🎬 课时6-CMS日志分析.mp4
│ │ ├── 🎬 课时7-G1日志分析.mp4
│ │ ├── 🎬 课时8-GC常用参数.mp4
│ │ ├── 🎬 课时9-Parallel常用参数.mp4
│ │ └── 🎬 课时10-CMS常用参数.mp4
│ └── 📁 章节10-JVM调优(十)
│ ├── 🎬 课时1-G1常用参数.mp4
│ ├── 🎬 课时2-day11课后复习.mp4
│ └── 🎬 课时3-纤程.mp4
├── 📁 22.Kudu 分布式存储库-74
│ ├── 📁 章节1-Kudu分布式存储引擎架构原理及搭建
│ │ ├── 🎬 课时1-Kudu背景介绍.mp4
│ │ ├── 🎬 课时2-Kudu概念及适用场景.mp4
│ │ ├── 🎬 课时3-Kudu架构模型特点.mp4
│ │ ├── 🎬 课时4-Kudu架构角色.mp4
│ │ ├── 🎬 课时5-Kudu存储原理(1).mp4
│ │ ├── 🎬 课时6-Kudu存储原理(2).mp4
│ │ ├── 🎬 课时7-Kudu数据读取过程.mp4
│ │ ├── 🎬 课时8-Kudu集群搭建.mp4
│ │ └── 🎬 课时9-Kudu集群启动及停止.mp4
│ └── 📁 章节2-Kudu 与Impala整合
│ ├── 🎬 课时1-课前回顾.mp4
│ ├── 🎬 课时2-Kudu添加Maven依赖.mp4
│ ├── 🎬 课时3-使用Java api操作Kudu(1).mp4
│ ├── 🎬 课时4-使用Java api操作Kudu(2).mp4
│ ├── 🎬 课时5-使用Java api操作Kudu(3).mp4
│ ├── 🎬 课时6-Kudu分区策略.mp4
│ ├── 🎬 课时7-Kudu与Impala整合.mp4
│ ├── 🎬 课时8-创建内部表和外部表.mp4
│ └── 🎬 课时9-Impala SQL操作Kudu.mp4
├── 📁 23.Kylin数据仓库分析引擎-182
│ ├── 📁 章节1-Apache Kylin分析性数据仓库01
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-oozie的使用1.mp4
│ │ ├── 🎬 课时3-oozie的使用2.mp4
│ │ ├── 🎬 课时4-CDH集成Flink.mp4
│ │ ├── 🎬 课时5-基础概念和Kylin简介.mp4
│ │ ├── 🎬 课时6-数据分析模型及OLAP问题.mp4
│ │ └── 🎬 课时7-Kylin架构原理.mp4
│ ├── 📁 章节2-Apache Kylin分析性数据仓库02
│ │ ├── 🎬 课时1-Kylin安装要求.mp4
│ │ ├── 🎬 课时2-Kylin安装.mp4
│ │ ├── 🎬 课时3-Kylin集群部署.mp4
│ │ ├── 🎬 课时4-创建cube讲解.mp4
│ │ ├── 🎬 课时5-创建cube实操1.mp4
│ │ ├── 🎬 课时6-创建cube实操2.mp4
│ │ └── 🎬 课时7-创建cube实操3.mp4
│ └── 📁 章节3-Apache Kylin分析性数据仓库03
│ ├── 🎬 课时1-课前回顾.mp4
│ ├── 🎬 课时2-cube信息讲解.mp4
│ ├── 🎬 课时3-cube使用.mp4
│ ├── 🎬 课时4-Kylin构建Cube算法.mp4
│ ├── 🎬 课时5-构建Cube演示.mp4
│ └── 🎬 课时6-Kylin的JDBC连接.mp4
├── 📁 24.Linux-790
│ └── 📁 章节1-Linux
│ ├── 🎬 课时1-安装VMWare workstation.mp4
│ ├── 🎬 课时2-Linux系统安装步骤.mp4
│ ├── 🎬 课时3-配置虚拟机的网络服务.mp4
│ ├── 🎬 课时4-基于虚拟机的快照克隆多台虚拟机的方法.mp4
│ ├── 🎬 课时5-xhell、xftp工具.mp4
│ ├── 🎬 课时6-linux内外部命令的判断方式以及命令的执行流程.mp4
│ ├── 🎬 课时7-linux查看命令帮助文档.mp4
│ ├── 🎬 课时8-bash shell定义变量以及进程简单管理.mp4
│ ├── 🎬 课时9-hash优化命令查询时间的原理.mp4
│ ├── 🎬 课时10-介绍Linux文件系统.mp4
│ ├── 🎬 课时11-文件系统相关的命令-df du ls.mp4
│ ├── 🎬 课时12-文件系统相关的命令-cd cp mv mkdir等命令.mp4
│ ├── 🎬 课时13-文件系统相关的命令-rm ln软连接等命令.mp4
│ ├── 🎬 课时14-文件系统相关的命令-stat touch命令.mp4
│ ├── 🎬 课时15-文本操作相关的命令-more less tail命令.mp4
│ ├── 🎬 课时16-文本操作相关的命令-管道的使用.mp4
│ ├── 🎬 课时17-vi文本编辑器的编辑模式.mp4
│ ├── 🎬 课时18-vi文本编辑器的输入模式+末行模式切换.mp4
│ ├── 🎬 课时19-vi文本编辑器末行模式的操作.mp4
│ ├── 🎬 课时20-补充vi文本编辑器末行模式的操作.mp4
│ ├── 🎬 课时21-Linux中正则表达式的简单使用.mp4
│ ├── 🎬 课时22-Linux正则表达式练习题.mp4
│ ├── 🎬 课时23-Linux正则表达式-反向引用简化正则表达式.mp4
│ ├── 🎬 课时24-Linux文本处理命令-cut sort wc.mp4
│ ├── 🎬 课时25-Linux行编辑器-sed的使用方式.mp4
│ ├── 🎬 课时26-Linux sed命令修改各种配置文件案例.mp4
│ ├── 🎬 课时27-Linux强大的文本分析工具awk入门.mp4
│ ├── 🎬 课时28-Linux强大的文本分析工具awk脚本.mp4
│ ├── 🎬 课时29-Linux用户与权限.mp4
│ ├── 🎬 课时30-Linux用户与权限实操.mp4
│ ├── 🎬 课时31-Linux软件安装与卸载.mp4
│ ├── 🎬 课时32-Linux rpm软件安装卸载相关的操作.mp4
│ ├── 🎬 课时33-Yum安装与配置.mp4
│ └── 🎬 课时34-配置本地Yum源.mp4
├── 📁 25.Linux基础命令讲解-9
│ ├── 📁 章节1-Linux简介_VMWare的安装
│ │ └── 🎬 课时1-Linux简介_VMWare的安装.mp4
│ ├── 📁 章节2-VMWare的卸载
│ │ └── 🎬 课时1-VMWare的卸载.mp4
│ ├── 📁 章节3-Linux系统的安装
│ │ └── 🎬 课时1-Linux系统的安装.mp4
│ ├── 📁 章节4-Linux中的目录结构
│ │ └── 🎬 课时1-Linux中的目录结构.mp4
│ ├── 📁 章节5-Linux中的路径
│ │ └── 🎬 课时1-Linux中的路径.mp4
│ ├── 📁 章节6-Linux中的常用命令_1
│ │ └── 🎬 课时1-Linux中的常用命令_1.mp4
│ ├── 📁 章节7-Linux中的常用命令
│ │ └── 🎬 课时1-Linux中的常用命令.mp4
│ ├── 📁 章节8-Linux中的常用命令
│ │ └── 🎬 课时1-Linux中的常用命令.mp4
│ ├── 📁 章节9-Linux的常用设置_设置时间
│ │ └── 🎬 课时1-Linux的常用设置_设置时间.mp4
│ ├── 📁 章节10-Linux的常用设置_开启网络链接
│ │ └── 🎬 课时1-Linux的常用设置_开启网络链接.mp4
│ ├── 📁 章节11-Linux的常用设置_修改网络类型
│ │ └── 🎬 课时1-Linux的常用设置_修改网络类型.mp4
│ ├── 📁 章节12-Linux中的常用配置_快速与克隆
│ │ └── 🎬 课时1-Linux中的常用配置_快速与克隆.mp4
│ ├── 📁 章节13-远程操作Linux的工具XShell
│ │ └── 🎬 课时1-远程操作Linux的工具XShell.mp4
│ ├── 📁 章节14-Linux的上传和下载工具_Xftp
│ │ └── 🎬 课时1-Linux的上传和下载工具_Xftp.mp4
│ ├── 📁 章节15-Linux中文件的压缩与解压缩
│ │ └── 🎬 课时1-Linux中文件的压缩与解压缩.mp4
│ ├── 📁 章节16-在Linux操作系统中安装JDK
│ │ └── 🎬 课时1-在Linux操作系统中安装JDK.mp4
│ ├── 📁 章节17-在Linux操作系统中安装Tomcat
│ │ └── 🎬 课时1-在Linux操作系统中安装Tomcat.mp4
│ └── 📁 章节18-在Linux操作系统中安装MySQL8
│ └── 🎬 课时1-在Linux操作系统中安装MySQL8.mp4
├── 📁 26.Maven实战教程-467
│ ├── 📁 章节1-什么是Maven
│ │ └── 🎬 课时1-什么是Maven.mp4
│ ├── 📁 章节2-Maven的下载目录结构IDEA整合Maven
│ │ └── 🎬 课时1-Maven的下载目录结构IDEA整合Maven.mp4
│ ├── 📁 章节3-Maven仓库
│ │ └── 🎬 课时1-Maven仓库.mp4
│ ├── 📁 章节4-Maven仓库之远程仓库
│ │ └── 🎬 课时1-Maven仓库之远程仓库.mp4
│ ├── 📁 章节5-Maven仓库之本地仓库
│ │ └── 🎬 课时1-Maven仓库之本地仓库.mp4
│ ├── 📁 章节6-仓库配置
│ │ └── 🎬 课时1-仓库配置.mp4
│ ├── 📁 章节7-仓库优先级问题
│ │ └── 🎬 课时1-仓库优先级问题.mp4
│ ├── 📁 章节8-JDK的配置
│ │ └── 🎬 课时1-JDK的配置.mp4
│ ├── 📁 章节9-Maven工程类型
│ │ └── 🎬 课时1-Maven工程类型.mp4
│ ├── 📁 章节10-在IDEA中创建Maven工程
│ │ └── 🎬 课时1-在IDEA中创建Maven工程.mp4
│ ├── 📁 章节11-Maven目录结构
│ │ └── 🎬 课时1-Maven目录结构.mp4
│ ├── 📁 章节12-Maven工程关系依赖关系
│ │ └── 🎬 课时1-Maven工程关系依赖关系.mp4
│ ├── 📁 章节13-Maven工程关系依赖的传递特性
│ │ └── 🎬 课时1-Maven工程关系依赖的传递特性.mp4
│ ├── 📁 章节14-Maven工程关系依赖的两个原则排除依赖
│ │ └── 🎬 课时1-Maven工程关系依赖的两个原则排除依赖.mp4
│ ├── 📁 章节15-Maven工程关系依赖范围
│ │ └── 🎬 课时1-Maven工程关系依赖范围.mp4
│ ├── 📁 章节16-Maven工程关系继承关系
│ │ └── 🎬 课时1-Maven工程关系继承关系.mp4
│ ├── 📁 章节17-Maven工程关系聚合关系
│ │ └── 🎬 课时1-Maven工程关系聚合关系.mp4
│ ├── 📁 章节18-常见插件编译器插件
│ │ └── 🎬 课时1-常见插件编译器插件.mp4
│ ├── 📁 章节19-常见插件资源拷贝插件
│ │ └── 🎬 课时1-常见插件资源拷贝插件.mp4
│ ├── 📁 章节20-常见插件Tomcat插件
│ │ └── 🎬 课时1-常见插件Tomcat插件.mp4
│ └── 📁 章节21-Maven常见命令
│ └── 🎬 课时1-Maven常见命令.mp4
├── 📁 27.MyBatis-866
│ ├── 📁 章节1-MyBatis简介
│ │ └── 🎬 课时1-MyBatis简介.mp4
│ ├── 📁 章节2-MyBatis项目搭建
│ │ └── 🎬 课时1-MyBatis项目搭建.mp4
│ ├── 📁 章节3-MyBatis运行测试
│ │ └── 🎬 课时1-MyBatis运行测试.mp4
│ ├── 📁 章节4-MyBatis日志配置
│ │ └── 🎬 课时1-MyBatis日志配置.mp4
│ ├── 📁 章节5-MyBatis其他配置
│ │ └── 🎬 课时1-MyBatis其他配置.mp4
│ ├── 📁 章节6-MyBatis引入外部属性配置文件
│ │ └── 🎬 课时1-MyBatis引入外部属性配置文件.mp4
│ ├── 📁 章节7-SqlSession三种查询方法
│ │ └── 🎬 课时1-SqlSession三种查询方法.mp4
│ ├── 📁 章节8-SqlSession三种参数传递
│ │ └── 🎬 课时1-SqlSession三种参数传递.mp4
│ ├── 📁 章节9-SqlSession实现CURD
│ │ └── 🎬 课时1-SqlSession实现CURD.mp4
│ ├── 📁 章节10-MyBatis_基于接口代理模式开发
│ │ └── 🎬 课时1-MyBatis_基于接口代理模式开发.mp4
│ ├── 📁 章节11-MyBatis_代理模式简析(了解)
│ │ └── 🎬 课时1-MyBatis_代理模式简析(了解).mp4
│ ├── 📁 章节12-MyBatis_接口代理下的参数问题
│ │ └── 🎬 课时1-MyBatis_接口代理下的参数问题.mp4
│ ├── 📁 章节13-MyBatis_模糊查询
│ │ └── 🎬 课时1-MyBatis_模糊查询.mp4
│ ├── 📁 章节14-MyBatis_主键自增回填
│ │ └── 🎬 课时1-MyBatis_主键自增回填.mp4
│ ├── 📁 章节15-MyBatis_接口代理CURD
│ │ └── 🎬 课时1-MyBatis_接口代理CURD.mp4
│ ├── 📁 章节16-动态SQL之if
│ │ └── 🎬 课时1-动态SQL之if.mp4
│ ├── 📁 章节17-动态SQL之where和when
│ │ └── 🎬 课时1-动态SQL之where和when.mp4
│ ├── 📁 章节18-动态SQL之SET
│ │ └── 🎬 课时1-动态SQL之SET.mp4
│ ├── 📁 章节19-动态SQL之TRIM
│ │ └── 🎬 课时1-动态SQL之TRIM.mp4
│ ├── 📁 章节20-动态SQL之BIND
│ │ └── 🎬 课时1-动态SQL之BIND.mp4
│ ├── 📁 章节21-动态SQL之SQL
│ │ └── 🎬 课时1-动态SQL之SQL.mp4
│ ├── 📁 章节22-动态SQL之FOREACH
│ │ └── 🎬 课时1-动态SQL之FOREACH.mp4
│ ├── 📁 章节23-手动处理映射关系
│ │ └── 🎬 课时1-手动处理映射关系.mp4
│ ├── 📁 章节24-多表查询_数据准备
│ │ └── 🎬 课时1-多表查询_数据准备.mp4
│ ├── 📁 章节25-多表查询_一对一
│ │ └── 🎬 课时1-多表查询_一对一.mp4
│ ├── 📁 章节26-多表查询_一对多
│ │ └── 🎬 课时1-多表查询_一对多.mp4
│ ├── 📁 章节27-多表查询_多对多
│ │ └── 🎬 课时1-多表查询_多对多.mp4
│ ├── 📁 章节28-多表查询_级联积极加载
│ │ └── 🎬 课时1-多表查询_级联积极加载.mp4
│ ├── 📁 章节29-多表查询_级联延迟加载
│ │ └── 🎬 课时1-多表查询_级联延迟加载.mp4
│ ├── 📁 章节30-MyBatis_使用注解完成CURD
│ │ └── 🎬 课时1-MyBatis_使用注解完成CURD.mp4
│ ├── 📁 章节31-MyBatis_一级缓存
│ │ └── 🎬 课时1-MyBatis_一级缓存.mp4
│ ├── 📁 章节32-MyBatis_二级缓存
│ │ └── 🎬 课时1-MyBatis_二级缓存.mp4
│ ├── 📁 章节33-Mybatis_三方缓存(了解)
│ │ └── 🎬 课时1-Mybatis_三方缓存(了解).mp4
│ ├── 📁 章节34-MyBatis_逆向工程(了解)
│ │ └── 🎬 课时1-MyBatis_逆向工程(了解).mp4
│ └── 📁 章节35-MyBatis_配置文件编译问题
│ └── 🎬 课时1-MyBatis_配置文件编译问题.mp4
├── 📁 28.MySQL基础课程-66
│ ├── 📁 章节1-数据库基本概念
│ │ └── 🎬 课时1-数据库基本概念.mp4
│ ├── 📁 章节2-数据库类型和常见的关系型数据库
│ │ └── 🎬 课时1-数据库类型和常见的关系型数据库.mp4
│ ├── 📁 章节3-MySQL介绍
│ │ └── 🎬 课时1-MySQL介绍.mp4
│ ├── 📁 章节4-MySQL的安装
│ │ └── 🎬 课时1-MySQL的安装.mp4
│ ├── 📁 章节5-查看MySQL的安装结果
│ │ └── 🎬 课时1-查看MySQL的安装结果.mp4
│ ├── 📁 章节6-MySQL登录 访问 退出操作
│ │ └── 🎬 课时1-MySQL登录 访问 退出操作.mp4
│ ├── 📁 章节7-数据库的卸载
│ │ └── 🎬 课时1-数据库的卸载.mp4
│ ├── 📁 章节8-使用图形客户端navicat12连接MySQL
│ │ └── 🎬 课时1-使用图形客户端navicat12连接MySQL.mp4
│ ├── 📁 章节9-SQL语言入门
│ │ └── 🎬 课时1-SQL语言入门.mp4
│ ├── 📁 章节10-创建数据库表
│ │ └── 🎬 课时1-创建数据库表.mp4
│ ├── 📁 章节11-数据库表列类型
│ │ └── 🎬 课时1-数据库表列类型.mp4
│ ├── 📁 章节12-添加数据
│ │ └── 🎬 课时1-添加数据.mp4
│ ├── 📁 章节13-修改,删除数据
│ │ └── 🎬 课时1-修改,删除数据.mp4
│ ├── 📁 章节14-修改,删除数据库表
│ │ └── 🎬 课时1-修改,删除数据库表.mp4
│ ├── 📁 章节15-非外键约束
│ │ ├── 🎬 课时1-非外键约束(1).mp4
│ │ ├── 🎬 课时2-非外键约束(2).mp4
│ │ └── 🎬 课时3-非外键约束(3).mp4
│ ├── 📁 章节16-外键约束
│ │ └── 🎬 课时1-外键约束.mp4
│ ├── 📁 章节17-外键策略
│ │ └── 🎬 课时1-外键策略.mp4
│ ├── 📁 章节18-DDL和DML的补充
│ │ └── 🎬 课时1-DDL和DML的补充.mp4
│ ├── 📁 章节19-DQL##表的准备
│ │ └── 🎬 课时1-DQL##表的准备.mp4
│ ├── 📁 章节20-最简单的SQL语句
│ │ └── 🎬 课时1-最简单的SQL语句.mp4
│ ├── 📁 章节21-where子句
│ │ └── 🎬 课时1-where子句.mp4
│ ├── 📁 章节22-函数的分类
│ │ └── 🎬 课时1-函数的分类.mp4
│ ├── 📁 章节23-单行函数
│ │ ├── 🎬 课时1-单行函数(1).mp4
│ │ └── 🎬 课时2-单行函数(2).mp4
│ ├── 📁 章节24-多行函数
│ │ └── 🎬 课时1-多行函数.mp4
│ ├── 📁 章节25-分组group by
│ │ └── 🎬 课时1-分组group by.mp4
│ ├── 📁 章节26-having分组后筛选
│ │ └── 🎬 课时1-having分组后筛选.mp4
│ ├── 📁 章节27-单表查询总结
│ │ └── 🎬 课时1-单表查询总结.mp4
│ ├── 📁 章节28-多表查询语法
│ │ ├── 🎬 课时1-多表查询语法(1).mp4
│ │ ├── 🎬 课时2-多表查询语法(2).mp4
│ │ ├── 🎬 课时3-多表查询语法(3).mp4
│ │ └── 🎬 课时4-多表查询语法(4).mp4
│ ├── 📁 章节29-多表查询2语法
│ │ └── 🎬 课时1-多表查询2语法.mp4
│ ├── 📁 章节30-单行子查询
│ │ └── 🎬 课时1-单行子查询.mp4
│ ├── 📁 章节31-多行子查询
│ │ └── 🎬 课时1-多行子查询.mp4
│ ├── 📁 章节32-相关子查询
│ │ └── 🎬 课时1-相关子查询.mp4
│ ├── 📁 章节33-事务及其特征
│ │ └── 🎬 课时1-事务及其特征.mp4
│ ├── 📁 章节34-事务并发问题
│ │ └── 🎬 课时1-事务并发问题.mp4
│ ├── 📁 章节35-事务隔离级别
│ │ └── 🎬 课时1-事务隔离级别.mp4
│ ├── 📁 章节36-视图
│ │ └── 🎬 课时1-视图.mp4
│ └── 📁 章节37-存储过程
│ └── 🎬 课时1-存储过程.mp4
├── 📁 29.NiFi数据处理分发系统-29
│ ├── 📁 章节1-NiFi数据处理分发系统-特性、架构原理与集群搭建
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-创建Kudu表(1).mp4
│ │ ├── 🎬 课时3-创建Kudu表(2).mp4
│ │ ├── 🎬 课时4-SpeakKudu.mp4
│ │ ├── 🎬 课时5-FlinkKudu.mp4
│ │ ├── 🎬 课时6-ClickHouse与Kudu对比.mp4
│ │ ├── 🎬 课时7-Kudu数据存储原理.mp4
│ │ ├── 🎬 课时8-NiFi介绍.mp4
│ │ ├── 🎬 课时9-NiFi可解决问题及特点.mp4
│ │ ├── 🎬 课时10-0NiFi背景介绍.mp4
│ │ └── 🎬 课时11-1NiFi核心概念.mp4
│ ├── 📁 章节2-NiFi数据处理分发系统-Processors介绍及页面操作
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-NiFi架构.mp4
│ │ ├── 🎬 课时3-NiFi关键特性.mp4
│ │ ├── 🎬 课时4-NiFi单点安装.mp4
│ │ ├── 🎬 课时5-NiFi分布式安装(1).mp4
│ │ ├── 🎬 课时6-NiFi分布式安装(2).mp4
│ │ ├── 🎬 课时7-NiFi页面介绍(1).mp4
│ │ ├── 🎬 课时8-NiFi页面介绍(2).mp4
│ │ └── 🎬 课时9-NiFi处理器.mp4
│ ├── 📁 章节3-NiFi数据处理分发系统-实时同步日志、MySQL数据到Hive
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-NiFi入门案例一(1).mp4
│ │ ├── 🎬 课时3-NiFi入门案例一(2).mp4
│ │ ├── 🎬 课时4-PutFile处理器.mp4
│ │ ├── 🎬 课时5-测试(1).mp4
│ │ ├── 🎬 课时6-测试(2).mp4
│ │ ├── 🎬 课时7-模版操作.mp4
│ │ ├── 🎬 课时8-监控.mp4
│ │ ├── 🎬 课时9-变量表达式.mp4
│ │ └── 🎬 课时10-NiFi入门案例二.mp4
│ ├── 📁 章节4-NiFi数据处理分发系统-实时监控日志数据写入Kafka及消费Kafka
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-配置ReplaceText处理器.mp4
│ │ ├── 🎬 课时3-connection讲解(1).mp4
│ │ ├── 🎬 课时4-问题讲解.mp4
│ │ ├── 🎬 课时5-connection讲解(2).mp4
│ │ ├── 🎬 课时6-查看连接和设置弯曲.mp4
│ │ ├── 🎬 课时7-配置QueryDatabaseTable处理器.mp4
│ │ ├── 🎬 课时8-案例三讲解(1).mp4
│ │ ├── 🎬 课时9-案例三讲解(2).mp4
│ │ ├── 🎬 课时10-SplitJson处理器.mp4
│ │ └── 🎬 课时11-增量同步.mp4
│ ├── 📁 章节5-NiFi 案例分析
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-数据换行问题.mp4
│ │ ├── 🎬 课时3-案例四思路讲解.mp4
│ │ ├── 🎬 课时4-配置TailFile处理器.mp4
│ │ ├── 🎬 课时5-配置EvaluateJsonPaath处理器.mp4
│ │ ├── 🎬 课时6-PutHDFS处理器.mp4
│ │ ├── 🎬 课时7-运行测试.mp4
│ │ ├── 🎬 课时8-配置ConvertRecord处理器.mp4
│ │ ├── 🎬 课时9-CaptureChangeMySQL处理器.mp4
│ │ ├── 🎬 课时10-测试CaptureChangeMySQL.mp4
│ │ ├── 🎬 课时11-配置RouteOnAttribute处理器.mp4
│ │ └── 🎬 课时12-案例五流程讲解.mp4
│ └── 📁 章节6-NiFi 案例分析2
│ ├── 🎬 课时1-课前回顾.mp4
│ ├── 🎬 课时2-EvaluateJsonPath处理器.mp4
│ ├── 🎬 课时3-JDBC连接Hive.mp4
│ ├── 🎬 课时4-Hive支持Hiveserver2.mp4
│ ├── 🎬 课时5-NiFi 案例分析六.mp4
│ ├── 🎬 课时6-PublicKafka处理器.mp4
│ ├── 🎬 课时7-NiFi 案例分析七.mp4
│ └── 🎬 课时8-课后解答.mp4
├── 📁 30.Phoenix数据分析引擎-163
│ ├── 📁 章节1-Phoenix-搭建及基本操作
│ │ ├── 🎬 课时1-今日内容.mp4
│ │ ├── 🎬 课时2-什么是Phoenix.mp4
│ │ ├── 🎬 课时3-Phoenix架构特点及使用场景.mp4
│ │ ├── 🎬 课时4-Phoenix安装.mp4
│ │ ├── 🎬 课时5-Phoenix中的数据类型.mp4
│ │ ├── 🎬 课时6-创建表创建带列族的表.mp4
│ │ ├── 🎬 课时7-插入数据.mp4
│ │ ├── 🎬 课时8-修改数据.mp4
│ │ ├── 🎬 课时9-回答问题.mp4
│ │ ├── 🎬 课时10-删除数据.mp4
│ │ ├── 🎬 课时11-Phoenix表映射.mp4
│ │ ├── 🎬 课时12-视图映射.mp4
│ │ ├── 🎬 课时13-表映射.mp4
│ │ ├── 🎬 课时14-回答问题及要讲的内容.mp4
│ │ └── 🎬 课时15-项目演示.mp4
│ └── 📁 章节2-Phoenix-二级索引及JDBC连接
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-什么是二级索引.mp4
│ ├── 🎬 课时3-Phoenix配置索引.mp4
│ ├── 🎬 课时4-全局索引-多读场景.mp4
│ ├── 🎬 课时5-本地索引-多写场景.mp4
│ ├── 🎬 课时6-全局索引&本地索引区别.mp4
│ ├── 🎬 课时7-Phoenix加盐表(1).mp4
│ ├── 🎬 课时8-Phoenix加盐表(2).mp4
│ ├── 🎬 课时9-解答问题.mp4
│ ├── 🎬 课时10-使用JDBC连接Phoenix读取HBase中的数据.mp4
│ ├── 🎬 课时11-Phoenix使用注意事项回答问题.mp4
│ ├── 🎬 课时12-Phoenix 图形化工具-SQuirrel.mp4
│ └── 🎬 课时13-回答问题.mp4
├── 📁 31.Presto分布式查询引擎-648
│ ├── 📁 章节1-Presto介绍
│ │ ├── 🎬 课时1-Presto背景.mp4
│ │ └── 🎬 课时2-Presto特点.mp4
│ ├── 📁 章节2-Presto架构
│ │ └── 🎬 课时1-Presto架构角色.mp4
│ ├── 📁 章节3-Presto 安装搭建
│ │ ├── 🎬 课时1-Presto安装前准备.mp4
│ │ ├── 🎬 课时2-Presto集群搭建配置1.mp4
│ │ ├── 🎬 课时3-Presto Hive Connector 配置.mp4
│ │ └── 🎬 课时4-Presto集群搭建配置2 及 启动集群.mp4
│ ├── 📁 章节4-Presto Connector
│ │ ├── 🎬 课时1-Presto 命令行客户端配置及连接Hive.mp4
│ │ ├── 🎬 课时2-Presto操作Hive数据.mp4
│ │ ├── 🎬 课时3-Presto配置MySQL Connector.mp4
│ │ ├── 🎬 课时4-Presto配置MySQL Connector 分析数据.mp4
│ │ ├── 🎬 课时5-Presto配置Kafka Connector 01.mp4
│ │ ├── 🎬 课时6-Presto配置Kafka Connector 02.mp4
│ │ ├── 🎬 课时7-安装Kafka-2.12新版本.mp4
│ │ └── 🎬 课时8-使用Presto实时读取Kafka中的数据.mp4
│ ├── 📁 章节5-Presto自定义函数
│ │ ├── 🎬 课时1-Presto自定义函数UDF实现.mp4
│ │ ├── 🎬 课时2-Presto自定义函数UDAF实现.mp4
│ │ └── 🎬 课时3-Presto使用自定义UDAF函数.mp4
│ ├── 📁 章节6-Presto JDBC连接
│ │ └── 🎬 课时1-JDBC方式连接Presto.mp4
│ └── 📁 章节7-Presto 优化及与Impala对比
│ └── 🎬 课时1-Presto存储与查询优化及与Impala的对比分析.mp4
├── 📁 32.Redis缓存数据库-342
│ ├── 📁 章节1-redis 介绍及NIO原理介绍
│ │ ├── 🎬 课时1-redis.mp4
│ │ ├── 🎬 课时2-常识.mp4
│ │ ├── 🎬 课时3-基础知识(1).mp4
│ │ ├── 🎬 课时4-基础知识(2).mp4
│ │ ├── 🎬 课时5-数据量大如何快速查询数据库.mp4
│ │ ├── 🎬 课时6-DB-ENGINES网站.mp4
│ │ ├── 🎬 课时7-MYSQL Redis概述.mp4
│ │ ├── 🎬 课时8-Redis介绍.mp4
│ │ ├── 🎬 课时9-安装Redis.mp4
│ │ ├── 🎬 课时10-epoll介绍(1).mp4
│ │ └── 🎬 课时11-epoll介绍(2).mp4
│ ├── 📁 章节2-redis的string类型&bitmap
│ │ ├── 🎬 课时1-知识回顾.mp4
│ │ ├── 🎬 课时2-Redis运行原理.mp4
│ │ ├── 🎬 课时3-Redis启动与库进入和帮助.mp4
│ │ ├── 🎬 课时4-string.mp4
│ │ ├── 🎬 课时5-数值.mp4
│ │ ├── 🎬 课时6-二进制安全.mp4
│ │ ├── 🎬 课时7-bitmap(1).mp4
│ │ ├── 🎬 课时8-ascii.mp4
│ │ ├── 🎬 课时9-bitmap(2).mp4
│ │ ├── 🎬 课时10-有用户系统统计用户登录天数且窗口随机.mp4
│ │ ├── 🎬 课时11-送礼物时,大库备货多少,假设有2E用户(1).mp4
│ │ ├── 🎬 课时12-送礼物时,大库备货多少,假设有2E用户(2).mp4
│ │ └── 🎬 课时13-总结这节课.mp4
│ ├── 📁 章节3-redis的list、set、hash、sorted_set、skiplist
│ │ ├── 🎬 课时1-redis中value类型-list(1).mp4
│ │ ├── 🎬 课时2-redis中value类型-list(2).mp4
│ │ ├── 🎬 课时3-redis中value类型-Hash.mp4
│ │ ├── 🎬 课时4-redis中value类型-Set(1).mp4
│ │ ├── 🎬 课时5-redis中value类型-Set(2).mp4
│ │ ├── 🎬 课时6-SortedSet的物理内存左小右大不随机命令发生变化(1).mp4
│ │ ├── 🎬 课时7-SortedSet的物理内存左小右大不随机命令发生变化(2).mp4
│ │ ├── 🎬 课时8-SortedSet集合操作.mp4
│ │ ├── 🎬 课时9-排序是怎么实现的增删改查的速度(1).mp4
│ │ └── 🎬 课时10-排序是怎么实现的增删改查的速度(2).mp4
│ ├── 📁 章节4-redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
│ │ ├── 🎬 课时1-Redis中文官方网站.mp4
│ │ ├── 🎬 课时2-管道.mp4
│ │ ├── 🎬 课时3-Redis发布订阅.mp4
│ │ ├── 🎬 课时4-事务处理.mp4
│ │ ├── 🎬 课时5-布置实例.mp4
│ │ ├── 🎬 课时6-缓存穿透.mp4
│ │ ├── 🎬 课时7-redis作为数据库缓存的区别.mp4
│ │ ├── 🎬 课时8-将Redis当做使用LRU算法的缓存来使用(1).mp4
│ │ ├── 🎬 课时9-将Redis当做使用LRU算法的缓存来使用(2).mp4
│ │ └── 🎬 课时10-过期.mp4
│ ├── 📁 章节5-redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用
│ │ ├── 🎬 课时1-回顾和非阻塞redis实现数据落地.mp4
│ │ ├── 🎬 课时2-管道.mp4
│ │ ├── 🎬 课时3-父子进程相关问题.mp4
│ │ ├── 🎬 课时4-RDB.mp4
│ │ ├── 🎬 课时5-AOF.mp4
│ │ ├── 🎬 课时6-redis存储磁盘(1).mp4
│ │ └── 🎬 课时7-redis存储磁盘(2).mp4
│ ├── 📁 章节6-redis的集群:主从复制、CAP、PAXOS、cluster分片集群01
│ │ ├── 🎬 课时1-关于redis流程图的讲解-AKF.mp4
│ │ ├── 🎬 课时2-关于redis流程图的讲解-主从 复制和高可用.mp4
│ │ ├── 🎬 课时3-CAP原则.mp4
│ │ ├── 🎬 课时4-redis官网的复制和实操.mp4
│ │ ├── 🎬 课时5-主从复制总结笔记.mp4
│ │ └── 🎬 课时6-redis的Sentinel文档高可用和实操.mp4
│ ├── 📁 章节7-redis的集群:主从复制、CAP、PAXOS、cluster分片集群02
│ │ ├── 🎬 课时1-下节课预习内容.mp4
│ │ ├── 🎬 课时2-上节课内容回顾.mp4
│ │ ├── 🎬 课时3-redis分布式遇到的多种情况.mp4
│ │ ├── 🎬 课时4-哈希环.mp4
│ │ ├── 🎬 课时5-补充知识点解决数据倾斜问题.mp4
│ │ ├── 🎬 课时6-引出redis的连接成本很高对server段造成的问题.mp4
│ │ ├── 🎬 课时7-用代理层解决redis的连接成本很高对server段造成的问题.mp4
│ │ ├── 🎬 课时8-预分区解决的办法.mp4
│ │ ├── 🎬 课时9-官网分区和实操.mp4
│ │ └── 🎬 课时10-实操-redis弊端和配置.mp4
│ └── 📁 章节8-redis开发:spring.data.redis、连接、序列化、high low api
│ ├── 🎬 课时1-课程安排.mp4
│ ├── 🎬 课时2-击穿.mp4
│ ├── 🎬 课时3-穿透.mp4
│ ├── 🎬 课时4-雪崩.mp4
│ ├── 🎬 课时5-redis分布式锁.mp4
│ ├── 🎬 课时6-基础api.mp4
│ ├── 🎬 课时7-实操演示1.mp4
│ └── 🎬 课时8-实操演示2.mp4
├── 📁 33.Scala 分布式语言-142
│ ├── 📁 章节1-scala语言、函数式编程、数据集处理、iterator设计模式实现
│ │ ├── 🎬 课时1-语言分类.mp4
│ │ ├── 🎬 课时2-模型.mp4
│ │ ├── 🎬 课时3-scala语言的特性.mp4
│ │ ├── 🎬 课时4-使用scala.mp4
│ │ ├── 🎬 课时5-coder.mp4
│ │ ├── 🎬 课时6-学习scala.mp4
│ │ ├── 🎬 课时7-学习scala2.mp4
│ │ └── 🎬 课时8-学习scala3.mp4
│ ├── 📁 章节2-scala语言、流程控制、高级函数
│ │ ├── 🎬 课时1-回答上节留的问题.mp4
│ │ ├── 🎬 课时2-流程控制语句if.mp4
│ │ ├── 🎬 课时3-流程控制语while.mp4
│ │ ├── 🎬 课时4-流程控制语句for.mp4
│ │ ├── 🎬 课时5-方法 函数(返回值).mp4
│ │ ├── 🎬 课时6-方法 函数(参数).mp4
│ │ ├── 🎬 课时7-嵌套函数.mp4
│ │ ├── 🎬 课时8-偏应用函数.mp4
│ │ ├── 🎬 课时9-可变参数.mp4
│ │ ├── 🎬 课时10-高阶函数.mp4
│ │ ├── 🎬 课时11-颗粒化.mp4
│ │ ├── 🎬 课时12-扩展1.mp4
│ │ └── 🎬 课时13-扩展2.mp4
│ ├── 📁 章节3-scala语言、集合容器、iterator设计模式源码分析
│ │ ├── 🎬 课时1-介绍插件scala.mp4
│ │ ├── 🎬 课时2-课堂概括.mp4
│ │ ├── 🎬 课时3-插件readme.mp4
│ │ ├── 🎬 课时4-Javacoder.mp4
│ │ ├── 🎬 课时5-数组.mp4
│ │ ├── 🎬 课时6-链表set.mp4
│ │ ├── 🎬 课时7-链表tuple.mp4
│ │ ├── 🎬 课时8-链表map.mp4
│ │ ├── 🎬 课时9-链表艺术.mp4
│ │ └── 🎬 课时10-基于迭代器的源码分析.mp4
│ └── 📁 章节4-scala语言、match、case class、implicitt、spark wordcount
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-trait.mp4
│ ├── 🎬 课时3-class_class.mp4
│ ├── 🎬 课时4-match.mp4
│ ├── 🎬 课时5-PartialFunctions.mp4
│ ├── 🎬 课时6-隐式转换1.mp4
│ ├── 🎬 课时7-隐式转换2.mp4
│ ├── 🎬 课时8-普通项目转maven.mp4
│ ├── 🎬 课时9-基于maven的方式开发spark.mp4
│ ├── 🎬 课时10-用Scala,Java书写一段spark的wordcount程序1.mp4
│ └── 🎬 课时11-用Scala,Java书写一段spark的wordcount程序2.mp4
├── 📁 34.Servlet和JSP-861
│ ├── 📁 章节1-Tomcat
│ │ ├── 🎬 课时1-JAVAEE.mp4
│ │ ├── 🎬 课时2-Tomcat下载.mp4
│ │ ├── 🎬 课时3-Tomcat安装和启动.mp4
│ │ ├── 🎬 课时4-Tomcat目录介绍.mp4
│ │ ├── 🎬 课时5-Tomcat部署项目.mp4
│ │ ├── 🎬 课时6-Tomcat部署项目2.mp4
│ │ ├── 🎬 课时7-Tomcat配置.mp4
│ │ ├── 🎬 课时8-Tomcat配置host-Manager.mp4
│ │ └── 🎬 课时9-Tomcat组件介绍.mp4
│ ├── 📁 章节2-Tomcat和JAVAEE入门
│ │ ├── 🎬 课时1-HTTP协议介绍.mp4
│ │ ├── 🎬 课时2-HTTP请求.mp4
│ │ ├── 🎬 课时3-HTTP响应.mp4
│ │ ├── 🎬 课时4-请求静态资源关联.mp4
│ │ ├── 🎬 课时5-认识JAVAWEB项目结构.mp4
│ │ ├── 🎬 课时6-使用idea创建一个JAVAWEB项目.mp4
│ │ ├── 🎬 课时7-开发项目资源.mp4
│ │ ├── 🎬 课时8-idea中运行JAVAWEB项目.mp4
│ │ ├── 🎬 课时9-Tomcat日志乱码问题.mp4
│ │ ├── 🎬 课时10-idea运行项目的第一种模式.mp4
│ │ ├── 🎬 课时11-idea热部署项目.mp4
│ │ └── 🎬 课时12-idea运行项目的第二种模式.mp4
│ ├── 📁 章节3-Servlet
│ │ ├── 🎬 课时1-Servlet简单引入.mp4
│ │ ├── 🎬 课时2-第一个ServletA.mp4
│ │ ├── 🎬 课时3-第一个ServletB.mp4
│ │ ├── 🎬 课时4-配置欢迎页.mp4
│ │ ├── 🎬 课时5-Servlet简单案例开发.mp4
│ │ ├── 🎬 课时6-Request获取请求行和请求头.mp4
│ │ ├── 🎬 课时7-Request获取请求参数.mp4
│ │ ├── 🎬 课时8-Response设置响应.mp4
│ │ ├── 🎬 课时9-乱码问题.mp4
│ │ ├── 🎬 课时10-Servlet的继承结构.mp4
│ │ ├── 🎬 课时11-Servlet的生命周期.mp4
│ │ ├── 🎬 课时12-ServletContext对象.mp4
│ │ ├── 🎬 课时13-ServletConfig对象.mp4
│ │ ├── 🎬 课时14-urlpattern匹配规则.mp4
│ │ ├── 🎬 课时15-注解模式开发Servlet.mp4
│ │ ├── 🎬 课时16-forward请求转发.mp4
│ │ ├── 🎬 课时17-include请求转发(了解).mp4
│ │ ├── 🎬 课时18-请求转发总结.mp4
│ │ ├── 🎬 课时19-响应重定向处理.mp4
│ │ ├── 🎬 课时20-前端路径问题.mp4
│ │ ├── 🎬 课时21-请求转发的路径问题.mp4
│ │ ├── 🎬 课时22-响应重定向中的路径问题.mp4
│ │ ├── 🎬 课时23-会话管理概念引入.mp4
│ │ ├── 🎬 课时24-Cookie和Session的引入.mp4
│ │ ├── 🎬 课时25-响应Cookie.mp4
│ │ ├── 🎬 课时26-读取Cookie.mp4
│ │ ├── 🎬 课时27-关于Cookie跨域(了解).mp4
│ │ ├── 🎬 课时28-Cookie记录访问次数.mp4
│ │ ├── 🎬 课时29-HttpSession的使用.mp4
│ │ ├── 🎬 课时30-单次会话面登录案例.mp4
│ │ ├── 🎬 课时31-域对象概念引入.mp4
│ │ ├── 🎬 课时32-Request域传递数据.mp4
│ │ ├── 🎬 课时33-Session域传递数据.mp4
│ │ ├── 🎬 课时34-Application域传递数据.mp4
│ │ └── 🎬 课时35-Servlet作为页面动态资源弊端.mp4
│ └── 📁 章节4-JSP
│ ├── 🎬 课时1-JSP作为页面动态资源引入.mp4
│ ├── 🎬 课时2-JSP中嵌入JAVA代码语法.mp4
│ ├── 🎬 课时3-JSP的原理.mp4
│ ├── 🎬 课时4-JSP执行过程.mp4
│ ├── 🎬 课时5-JSP性能问题.mp4
│ ├── 🎬 课时6-JSP的继承结构.mp4
│ ├── 🎬 课时7-JSP中的变量问题.mp4
│ ├── 🎬 课时8-JSP的注释问题.mp4
│ ├── 🎬 课时9-page指令标签.mp4
│ ├── 🎬 课时10-include指令标签.mp4
│ ├── 🎬 课时11-九大内置对象.mp4
│ ├── 🎬 课时12-作用域传数据.mp4
│ ├── 🎬 课时13-案例开发A.mp4
│ ├── 🎬 课时14-案例开发B.mp4
│ ├── 🎬 课时15-EL表达式用域中取值.mp4
│ ├── 🎬 课时16-EL表达式获取请求参数.mp4
│ ├── 🎬 课时17-EL表达式支持的运算符.mp4
│ ├── 🎬 课时18-EL表达式优化数据展示.mp4
│ ├── 🎬 课时19-JSTL介绍和导入.mp4
│ ├── 🎬 课时20-cset_out_remove标签.mp4
│ ├── 🎬 课时21-cif和cchoose标签.mp4
│ ├── 🎬 课时22-cforeach标签.mp4
│ ├── 🎬 课时23-cforeach迭代对象集合.mp4
│ ├── 🎬 课时24-fmt格式化标签.mp4
│ └── 🎬 课时25-MVC模式概念引入.mp4
├── 📁 35.Spark分布式计算框架-208
│ ├── 📁 章节1-spark-core、复习hadoop生态、梳理术语、hadoopRDD 源码分析
│ │ ├── 🎬 课时1-回顾(1).mp4
│ │ ├── 🎬 课时2-回顾(2).mp4
│ │ ├── 🎬 课时3-单词统计.mp4
│ │ ├── 🎬 课时4-sparkUI解读.mp4
│ │ ├── 🎬 课时5-打印结果.mp4
│ │ ├── 🎬 课时6-打印顺序调换.mp4
│ │ ├── 🎬 课时7-代码讲解.mp4
│ │ ├── 🎬 课时8-编程模型RDD介绍.mp4
│ │ ├── 🎬 课时9-a list of dependencies on other RDDs.mp4
│ │ ├── 🎬 课时10-a Partitioner for key-value RDDS.mp4
│ │ ├── 🎬 课时11-接下来安排.mp4
│ │ ├── 🎬 课时12-Spark WORDCOUNT源码解析.mp4
│ │ ├── 🎬 课时13-图解Spark WORDCOUNT源码解析.mp4
│ │ ├── 🎬 课时14-getPartitions解读.mp4
│ │ ├── 🎬 课时15-computer(p)解读.mp4
│ │ └── 🎬 课时16-flatMap及作业.mp4
│ ├── 📁 章节2-spark-core、wordcount案例源码分析、图解
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-flatMap方法解读(1).mp4
│ │ ├── 🎬 课时3-flatMap方法解读(2).mp4
│ │ ├── 🎬 课时4-compute方法.mp4
│ │ ├── 🎬 课时5-map解读.mp4
│ │ ├── 🎬 课时6-reduceBykey解读.mp4
│ │ ├── 🎬 课时7-shuffledRDD解读.mp4
│ │ ├── 🎬 课时8-prev deps解读.mp4
│ │ ├── 🎬 课时9-getDependcies解读.mp4
│ │ ├── 🎬 课时10-shuffleManger解读.mp4
│ │ ├── 🎬 课时11-pipeline解读.mp4
│ │ ├── 🎬 课时12-LineAge解读.mp4
│ │ ├── 🎬 课时13-MapparitionsRDD解读.mp4
│ │ ├── 🎬 课时14-spark学术理论.mp4
│ │ ├── 🎬 课时15-依赖关系.mp4
│ │ └── 🎬 课时16-api学习.mp4
│ ├── 📁 章节3-spark-core、集合操作API、pvuv分析、RDD源码分析
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-数据集原理解读.mp4
│ │ ├── 🎬 课时3-数据集合并.mp4
│ │ ├── 🎬 课时4-图解数据集合并.mp4
│ │ ├── 🎬 课时5-cartesian解读.mp4
│ │ ├── 🎬 课时6-总结.mp4
│ │ ├── 🎬 课时7-回答问题.mp4
│ │ ├── 🎬 课时8-intersection解读.mp4
│ │ ├── 🎬 课时9-subtract解读.mp4
│ │ ├── 🎬 课时10-parallelize解读.mp4
│ │ ├── 🎬 课时11-join解读.mp4
│ │ ├── 🎬 课时12-cogroup解读up及总结.mp4
│ │ ├── 🎬 课时13-整体流程解读.mp4
│ │ ├── 🎬 课时14-总结数据集操作.mp4
│ │ ├── 🎬 课时15-排序.mp4
│ │ ├── 🎬 课时16-根据数据计算个网站的pv uv 显示top5.mp4
│ │ ├── 🎬 课时17-pv实现.mp4
│ │ ├── 🎬 课时18-uv实现.mp4
│ │ └── 🎬 课时19-作业.mp4
│ ├── 📁 章节4-spark-core、聚合计算API、combineByKey、分区调优
│ │ ├── 🎬 课时1-spark整体安排.mp4
│ │ ├── 🎬 课时2-回顾.mp4
│ │ ├── 🎬 课时3-聚合方法1.mp4
│ │ ├── 🎬 课时4-聚合方法2.mp4
│ │ ├── 🎬 课时5-均值复杂度.mp4
│ │ ├── 🎬 课时6-调优.mp4
│ │ ├── 🎬 课时7-面向分区操作(1).mp4
│ │ ├── 🎬 课时8-面向分区操作(2).mp4
│ │ ├── 🎬 课时9-面向分区操作迭代器.mp4
│ │ ├── 🎬 课时10-另一种方式.mp4
│ │ ├── 🎬 课时11-回答问题.mp4
│ │ ├── 🎬 课时12-repartition调coalesce触发shuffle调整分区数量.mp4
│ │ ├── 🎬 课时13-分区变多的情况.mp4
│ │ └── 🎬 课时14-分区变少的情况.mp4
│ ├── 📁 章节5-spark-core、二次排序、分组取TopN、算子综合应用
│ │ ├── 🎬 课时1-算子综合应用.mp4
│ │ ├── 🎬 课时2-解决代码中的问题.mp4
│ │ ├── 🎬 课时3-去重.mp4
│ │ ├── 🎬 课时4-排序.mp4
│ │ ├── 🎬 课时5-问题介绍.mp4
│ │ ├── 🎬 课时6-解决问题.mp4
│ │ ├── 🎬 课时7-最终代码.mp4
│ │ ├── 🎬 课时8-代码再次升级逻辑.mp4
│ │ ├── 🎬 课时9-总结刚才的代码.mp4
│ │ └── 🎬 课时10-举例分析.mp4
│ ├── 📁 章节6-spark-core、集群框架图解、角色功能介绍、官网学习 、搭建
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-集群搭建.mp4
│ │ ├── 🎬 课时3-集群搭建spark逻辑.mp4
│ │ ├── 🎬 课时4-DAG.mp4
│ │ ├── 🎬 课时5-task以线程的形式跑在Executor种.mp4
│ │ ├── 🎬 课时6-spark整体流程.mp4
│ │ ├── 🎬 课时7-回顾task及回答问题.mp4
│ │ ├── 🎬 课时8-spark官网.mp4
│ │ ├── 🎬 课时9-spark部署.mp4
│ │ ├── 🎬 课时10-加入单机逻辑.mp4
│ │ ├── 🎬 课时11-官网学习.mp4
│ │ ├── 🎬 课时12-集群部署搭建(1).mp4
│ │ └── 🎬 课时13-集群部署搭建(2).mp4
│ ├── 📁 章节7-spark-core、history服务、standaloneHA、资源调度参数
│ │ ├── 🎬 课时1-github集成到ide.mp4
│ │ ├── 🎬 课时2-github中spark源代码同步到ide.mp4
│ │ ├── 🎬 课时3-回顾.mp4
│ │ ├── 🎬 课时4-总结昨天内容.mp4
│ │ ├── 🎬 课时5-高可用.mp4
│ │ ├── 🎬 课时6-第二台master.mp4
│ │ ├── 🎬 课时7-解决主bug.mp4
│ │ ├── 🎬 课时8-spark master理论.mp4
│ │ ├── 🎬 课时9-history服务.mp4
│ │ ├── 🎬 课时10-standaloneHA.mp4
│ │ ├── 🎬 课时11-spark-submit.mp4
│ │ ├── 🎬 课时12-官方例子源码讲解.mp4
│ │ ├── 🎬 课时13-运行jar包.mp4
│ │ ├── 🎬 课时14-整理笔记.mp4
│ │ ├── 🎬 课时15-资源调度参数(1).mp4
│ │ └── 🎬 课时16-资源调度参数(2).mp4
│ ├── 📁 章节8-spark-core、基于yarn的集群搭建、配置、资源调度参数、优化jars
│ │ ├── 🎬 课时1-Yarn引入.mp4
│ │ ├── 🎬 课时2-yarn部署.mp4
│ │ ├── 🎬 课时3-yarn配置.mp4
│ │ ├── 🎬 课时4-yarn-site与mapred-site.xml.mp4
│ │ ├── 🎬 课时5-hadoop部署.mp4
│ │ ├── 🎬 课时6-history部署.mp4
│ │ ├── 🎬 课时7-日志部署.mp4
│ │ ├── 🎬 课时8-spark-shell演示.mp4
│ │ ├── 🎬 课时9-资源调度参数.mp4
│ │ ├── 🎬 课时10-答疑及解决调度问题.mp4
│ │ ├── 🎬 课时11-笔记及答疑.mp4
│ │ └── 🎬 课时12-优化jars.mp4
│ ├── 📁 章节9-spark-core-源码、RpcEnv、standaloneMaster启动分析
│ │ ├── 🎬 课时1-前置准备.mp4
│ │ ├── 🎬 课时2-RPC引入.mp4
│ │ ├── 🎬 课时3-RPC基本介绍.mp4
│ │ ├── 🎬 课时4-start-all与start-master.sh.mp4
│ │ ├── 🎬 课时5-apache.spark.deploy.master.Master源码.mp4
│ │ ├── 🎬 课时6-rpcEnv NettyRpcEnv源码.mp4
│ │ ├── 🎬 课时7-图解源码.mp4
│ │ ├── 🎬 课时8-传输服务.mp4
│ │ ├── 🎬 课时9-Dispatcher引入.mp4
│ │ ├── 🎬 课时10-Dispatcher讲解.mp4
│ │ ├── 🎬 课时11-Dispatcher讲解与Rest风格.mp4
│ │ └── 🎬 课时12-Dispatcher讲解-注册 获取 inbox onstart.mp4
│ ├── 📁 章节10-spark-core-源码、Worker启动、sparksubmit提交、Driver启动
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-补全流程图.mp4
│ │ ├── 🎬 课时3-Worker启动讲解.mp4
│ │ ├── 🎬 课时4-Worker启动与sparksubmit提交引入.mp4
│ │ ├── 🎬 课时5-sparksubmit提交讲解.mp4
│ │ ├── 🎬 课时6-clien driver源码讲解.mp4
│ │ ├── 🎬 课时7-总结master worker client关系.mp4
│ │ ├── 🎬 课时8-master driver worker源码讲解.mp4
│ │ ├── 🎬 课时9-DriverWrapper讲解.mp4
│ │ ├── 🎬 课时10-SparkContext源码讲解.mp4
│ │ ├── 🎬 课时11-SparkContext源码讲解.mp4
│ │ └── 🎬 课时12-Standalone源码讲解.mp4
│ ├── 📁 章节11-spark-core-源码、Application注册、Executor资源申请
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-查看Master.scala.mp4
│ │ ├── 🎬 课时3-资源调度.mp4
│ │ ├── 🎬 课时4-资源逻辑.mp4
│ │ ├── 🎬 课时5-资源算法.mp4
│ │ ├── 🎬 课时6-演示资源分配.mp4
│ │ ├── 🎬 课时7-回答学生问题.mp4
│ │ ├── 🎬 课时8-看是否分配资源.mp4
│ │ ├── 🎬 课时9-worker多个executor.mp4
│ │ ├── 🎬 课时10-CoarseGrainedExecutorBackend.mp4
│ │ └── 🎬 课时11-小图结构总结.mp4
│ ├── 📁 章节12-spark-core-源码、sparkContext、DAGScheduler、stage划分
│ │ ├── 🎬 课时1-回答学生问题.mp4
│ │ ├── 🎬 课时2-回顾.mp4
│ │ ├── 🎬 课时3-stage1.mp4
│ │ ├── 🎬 课时4-stage2.mp4
│ │ ├── 🎬 课时5-调用rdd执行start.mp4
│ │ ├── 🎬 课时6-源码图解1.mp4
│ │ ├── 🎬 课时7-源码图解2.mp4
│ │ ├── 🎬 课时8-举个例子.mp4
│ │ └── 🎬 课时9-补充.mp4
│ ├── 📁 章节13-spark-core-源码、TaskScheduler、Executor运行Task、SparkEnv
│ │ ├── 🎬 课时1-回顾上节内容.mp4
│ │ ├── 🎬 课时2-源码DAGScheduler1.mp4
│ │ ├── 🎬 课时3-源码DAGScheduler2.mp4
│ │ ├── 🎬 课时4-任务的调度.mp4
│ │ ├── 🎬 课时5-源码DAGScheduler3.mp4
│ │ ├── 🎬 课时6-源码分析:计算框架1.mp4
│ │ ├── 🎬 课时7-源码分析:计算框架2.mp4
│ │ ├── 🎬 课时8-源码分析:计算框架3.mp4
│ │ └── 🎬 课时9-spark的一些细节.mp4
│ ├── 📁 章节14-spark-core-源码、MemoryManager、BlockManager
│ │ ├── 🎬 课时1-源码sprkEnv1.mp4
│ │ ├── 🎬 课时2-源码sprkEnv2.mp4
│ │ ├── 🎬 课时3-MemoryManager1.mp4
│ │ ├── 🎬 课时4-MemoryManager2.mp4
│ │ ├── 🎬 课时5-内存.mp4
│ │ ├── 🎬 课时6-源码sprkEnv3.mp4
│ │ ├── 🎬 课时7-扩展.mp4
│ │ ├── 🎬 课时8-源码sprkEnv4.mp4
│ │ ├── 🎬 课时9-sprk源码SortShuffleManager1.mp4
│ │ └── 🎬 课时10-sprk源码SortShuffleManager2.mp4
│ ├── 📁 章节15-spark-core-源码、Dependency、SortShuffleManager
│ │ ├── 🎬 课时1-sprk源码SortShuffle-handle1.mp4
│ │ ├── 🎬 课时2-sprk源码SortShuffl-ehandle2.mp4
│ │ ├── 🎬 课时3-sprk源码SortShuffl-ehandle3.mp4
│ │ ├── 🎬 课时4-sprk源码SortShuffl-ehandle4.mp4
│ │ ├── 🎬 课时5-task.mp4
│ │ ├── 🎬 课时6-解决复习前几节的伏笔.mp4
│ │ ├── 🎬 课时7-sprk源码SortShufflewriter1.mp4
│ │ ├── 🎬 课时8-sprk源码SortShufflewriter2.mp4
│ │ ├── 🎬 课时9-Java常识object又浪费空间嫌疑.mp4
│ │ └── 🎬 课时10-查看源码.mp4
│ ├── 📁 章节16-spark-core-源码、SortShuffleWriter、内存缓冲区buffer
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-sprk源码SortShufflewriter1.mp4
│ │ ├── 🎬 课时3-sprk源码SortShufflewriter2.mp4
│ │ ├── 🎬 课时4-sprk源码SortShufflewriter3.mp4
│ │ ├── 🎬 课时5-sprk源码SortShufflewriter4.mp4
│ │ ├── 🎬 课时6-内存缓冲区1.mp4
│ │ ├── 🎬 课时7-内存缓冲区2.mp4
│ │ ├── 🎬 课时8-快速过一边刚学的内容(1).mp4
│ │ ├── 🎬 课时8-快速过一边刚学的内容.mp4
│ │ └── 🎬 课时9-回答学生问题及解析.mp4
│ ├── 📁 章节17-spark-core-源码、SortShuffleWriter、内存缓冲区buffer
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-引导UnsafeShuffleWriter.mp4
│ │ ├── 🎬 课时3-分析类UnsafeShuffleWriter1.mp4
│ │ ├── 🎬 课时4-分析类UnsafeShuffleWriter2.mp4
│ │ ├── 🎬 课时5-分析ShuffleExternalSorter方法1.mp4
│ │ ├── 🎬 课时6-分析ShuffleExternalSorter方法2.mp4
│ │ ├── 🎬 课时7-executor.jvm.mp4
│ │ ├── 🎬 课时8-分析ShuffleExternalSorter3.mp4
│ │ ├── 🎬 课时9-MemoryConsumer.mp4
│ │ ├── 🎬 课时10-MemoryBlock.mp4
│ │ ├── 🎬 课时11-MemoryManager.mp4
│ │ ├── 🎬 课时12-分析ShuffleExternalSorter方法3.mp4
│ │ └── 🎬 课时13-课后分析.mp4
│ ├── 📁 章节18-spark-core-源码、UnsafeShuffleWriter、Tungsten、Unsafe、堆外
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-分析ShuffleExternalSorter方法1.mp4
│ │ ├── 🎬 课时3-TaskMemoryManager.mp4
│ │ ├── 🎬 课时4-堆上分配.mp4
│ │ ├── 🎬 课时5-分析ShuffleExternalSorter方法2.mp4
│ │ ├── 🎬 课时6-堆外分配.mp4
│ │ ├── 🎬 课时7-Unsafe及解决学生问题.mp4
│ │ ├── 🎬 课时8-过一遍图.mp4
│ │ ├── 🎬 课时9-走一边UnsafeShuffleWriter.mp4
│ │ └── 🎬 课时10-一些注意的点.mp4
│ ├── 📁 章节19-spark-core-源码、ShuffleReader、Tracker、Scheduler完整调度
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-pipeline迭代器嵌套iterator.mp4
│ │ ├── 🎬 课时3-src - iter reader.mp4
│ │ ├── 🎬 课时4-shuffle reader.mp4
│ │ ├── 🎬 课时5-read方法.mp4
│ │ ├── 🎬 课时6-shuffle reader.mp4
│ │ ├── 🎬 课时7-blocksByAddress.mp4
│ │ ├── 🎬 课时8-SplitLocalRemoteBlocks.mp4
│ │ ├── 🎬 课时9-fetchUpToMaxBytes1.mp4
│ │ ├── 🎬 课时10-fetchUpToMaxBytes2.mp4
│ │ ├── 🎬 课时11-results.mp4
│ │ ├── 🎬 课时12-recorditer.mp4
│ │ ├── 🎬 课时13-aggregatediter1.mp4
│ │ ├── 🎬 课时14-aggregatediter2.mp4
│ │ └── 🎬 课时15-read.mp4
│ ├── 📁 章节20-spark-core-源码、RDD持久化、检查点、广播变量、累加器1
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-spark的shuffle 系统dep.mp4
│ │ ├── 🎬 课时3-lessone7_rdd control1.mp4
│ │ ├── 🎬 课时4-lessone7_rdd control2.mp4
│ │ ├── 🎬 课时5-lessone7_rdd control3.mp4
│ │ ├── 🎬 课时6-梳理持久化.mp4
│ │ ├── 🎬 课时7-RDD:def iterator.mp4
│ │ ├── 🎬 课时8-检查点.mp4
│ │ └── 🎬 课时9-回答学生问题.mp4
│ ├── 📁 章节21-spark-core-源码、RDD持久化、检查点、广播变量、累加器2
│ │ ├── 🎬 课时1-hello spark.mp4
│ │ ├── 🎬 课时2-案例演示.mp4
│ │ ├── 🎬 课时3-图解闭包.mp4
│ │ ├── 🎬 课时4-taskbinary.mp4
│ │ ├── 🎬 课时5-编程模型之rdd.mp4
│ │ ├── 🎬 课时6-源码探究.mp4
│ │ ├── 🎬 课时7-向Driver反向注册.mp4
│ │ └── 🎬 课时8-Executor.mp4
│ ├── 📁 章节22-spark-sql、大数据中的SQL组成原理
│ │ ├── 🎬 课时1-hdfs和hbase模型.mp4
│ │ ├── 🎬 课时2-table结构化.mp4
│ │ ├── 🎬 课时3-元数据.mp4
│ │ ├── 🎬 课时4-优化.mp4
│ │ ├── 🎬 课时5-Driver.mp4
│ │ ├── 🎬 课时6-metestore.mp4
│ │ └── 🎬 课时7-课后答疑.mp4
│ ├── 📁 章节23-spark-sql、datafram到dataset开发
│ │ ├── 🎬 课时1-课前概述.mp4
│ │ ├── 🎬 课时2-代码演示.mp4
│ │ ├── 🎬 课时3-元数据structType.mp4
│ │ ├── 🎬 课时4-工具类方法.mp4
│ │ ├── 🎬 课时5-bean类型的rdd.mp4
│ │ ├── 🎬 课时6-数据RDD.mp4
│ │ └── 🎬 课时7-课后答疑.mp4
│ ├── 📁 章节24-spark-sql、整合hive的metastore搭建企业级数仓1
│ │ ├── 🎬 课时1-上节回顾.mp4
│ │ ├── 🎬 课时2-官网介绍.mp4
│ │ ├── 🎬 课时3-案例代码1.mp4
│ │ ├── 🎬 课时4-案例代码2.mp4
│ │ ├── 🎬 课时5-理解数据库概念.mp4
│ │ └── 🎬 课时6-spark和sql.mp4
│ ├── 📁 章节25-spark-sql、整合hive的metastore搭建企业级数仓2
│ │ ├── 🎬 课时1-hive拓扑图.mp4
│ │ ├── 🎬 课时2-构建数仓.mp4
│ │ ├── 🎬 课时3-建表操作.mp4
│ │ ├── 🎬 课时4-问题解答.mp4
│ │ ├── 🎬 课时5-暴露服务形式.mp4
│ │ └── 🎬 课时6-课后答疑.mp4
│ ├── 📁 章节26-spark-sql、复杂sql、函数、自定义函数、开窗over函数、OLAP
│ │ ├── 🎬 课时1-分组排序统计.mp4
│ │ ├── 🎬 课时2-编写方法过程.mp4
│ │ ├── 🎬 课时3-高并发解决方案.mp4
│ │ ├── 🎬 课时4-olap讲解.mp4
│ │ ├── 🎬 课时5-sql编写.mp4
│ │ └── 🎬 课时6-spark sql源码分析.mp4
│ ├── 📁 章节27-spark-sql-源码、sql解析、dataset到rdd的执行计划
│ │ ├── 🎬 课时1-准备工作.mp4
│ │ ├── 🎬 课时2-hadoopFsRelation生成过程.mp4
│ │ ├── 🎬 课时3-queryExecution.mp4
│ │ ├── 🎬 课时4-withAction.mp4
│ │ ├── 🎬 课时5-sparkSession核心流程梳理.mp4
│ │ ├── 🎬 课时6-sparkSql编写.mp4
│ │ └── 🎬 课时7-课后答疑.mp4
│ ├── 📁 章节28-spark-sql-源码、antlr4的sql解析、AST语法树的逻辑到物理转换
│ │ ├── 🎬 课时1-上节回顾.mp4
│ │ ├── 🎬 课时2-解释器和编译器.mp4
│ │ ├── 🎬 课时3-解释器使用过程.mp4
│ │ ├── 🎬 课时4-语法流程.mp4
│ │ ├── 🎬 课时5-sparkSql源代码案例.mp4
│ │ └── 🎬 课时6-答疑问题.mp4
│ ├── 📁 章节29-spark-sql-源码、逻辑计划、优化器、物理计划、转换RDD
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-逻辑计划.mp4
│ │ ├── 🎬 课时3-验证.mp4
│ │ ├── 🎬 课时4-逻辑树转换.mp4
│ │ ├── 🎬 课时5-优化器.mp4
│ │ ├── 🎬 课时6-优化器要做的事情.mp4
│ │ ├── 🎬 课时7-逻辑到物理的转换.mp4
│ │ ├── 🎬 课时8-父与子的概念.mp4
│ │ ├── 🎬 课时9-补充.mp4
│ │ ├── 🎬 课时10-什么叫执行.mp4
│ │ ├── 🎬 课时11-转换操作.mp4
│ │ ├── 🎬 课时12-dad.mp4
│ │ └── 🎬 课时13-ataset.mp4
│ ├── 📁 章节30-spark-streaming、流式计算之微批计算原理及standalone
│ │ ├── 🎬 课时1-扩展1.mp4
│ │ ├── 🎬 课时2-扩展2.mp4
│ │ ├── 🎬 课时3-语义.mp4
│ │ ├── 🎬 课时4-spark streaming微批的计算行式.mp4
│ │ ├── 🎬 课时5-receiverer接收机1.mp4
│ │ ├── 🎬 课时6-receiverer接收机2.mp4
│ │ ├── 🎬 课时7-产生数据.mp4
│ │ ├── 🎬 课时8-receiverer接收机3.mp4
│ │ └── 🎬 课时9-receiverer2模拟.mp4
│ ├── 📁 章节31-spark-streaming、api、ha、检查点、窗口等机制
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-spark-streaming API.mp4
│ │ ├── 🎬 课时3-window机制参数.mp4
│ │ ├── 🎬 课时4-每秒看见历史5秒的统计.mp4
│ │ ├── 🎬 课时5-转换操作途径1.mp4
│ │ ├── 🎬 课时6-转换操作途径2.mp4
│ │ ├── 🎬 课时7-作用域-广播变量.mp4
│ │ └── 🎬 课时8-作用域氛围三个级别.mp4
│ ├── 📁 章节32-spark-streaming、整合MQ-kafka开发
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-有状态计算.mp4
│ │ ├── 🎬 课时3-窗口移动过程中可以每次重新计算窗口数据 加上进来的减去出去的.mp4
│ │ ├── 🎬 课时4-回答问题及回顾过程.mp4
│ │ ├── 🎬 课时5-窗口有状态调优计算.mp4
│ │ ├── 🎬 课时6-使用mapWithStat来全量有状态计算.mp4
│ │ ├── 🎬 课时7-整合MQ-kafka.mp4
│ │ └── 🎬 课时8-什么是kafka.mp4
│ ├── 📁 章节33-spark-streaming、源码分析、流式微批任务的调度原理
│ │ ├── 🎬 课时1-回顾及今日安排.mp4
│ │ ├── 🎬 课时2-集成kafka.mp4
│ │ ├── 🎬 课时3-spark-streaming producer代码实现.mp4
│ │ ├── 🎬 课时4-spark-streaming consumer代码实现(1).mp4
│ │ ├── 🎬 课时5-spark-streaming consumer代码实现(2).mp4
│ │ ├── 🎬 课时6-运行时手动提交offset到mysql.mp4
│ │ ├── 🎬 课时7-总结.mp4
│ │ └── 🎬 课时8-补全流程图.mp4
│ └── 📁 章节34-spark-streaming
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-spark-kafka-consumer代码实现(1).mp4
│ ├── 🎬 课时3-spark-kafka-consumer代码实现(2).mp4
│ ├── 🎬 课时4-流程图.mp4
│ ├── 🎬 课时5-业务代码后.mp4
│ ├── 🎬 课时6-讲解细节问题.mp4
│ ├── 🎬 课时7-维护持久化到.mp4
│ └── 🎬 课时8-总结.mp4
├── 📁 36.Spring-867
│ ├── 📁 章节1-Spring_框架介绍
│ │ └── 🎬 课时1-Spring_框架介绍.mp4
│ ├── 📁 章节2-Spring_IOC
│ │ ├── 🎬 课时1-Spring_IOC概念引入.mp4
│ │ ├── 🎬 课时2-Spring_IOC代码测试.mp4
│ │ ├── 🎬 课时3-Spring_IOC实现原理.mp4
│ │ ├── 🎬 课时4-Spring_IOC和DI概念解释.mp4
│ │ └── 🎬 课时5-Spring_bean标签属性简介.mp4
│ ├── 📁 章节3-Spring_XML
│ │ ├── 🎬 课时1-Spring_XML实现DI1.mp4
│ │ ├── 🎬 课时2-Spring_XML实现DI2.mp4
│ │ ├── 🎬 课时3-Spring_XML实现DI3.mp4
│ │ ├── 🎬 课时4-Spring_XML实现DI4.mp4
│ │ ├── 🎬 课时5-Spring_bean工厂.mp4
│ │ ├── 🎬 课时6-Spring_bean的生命周期.mp4
│ │ ├── 🎬 课时7-Spring_自动装配.mp4
│ │ └── 🎬 课时8-Spring_读取属性配置文件.mp4
│ ├── 📁 章节4-Spring_IOC
│ │ ├── 🎬 课时1-Spring_IOC注解方式实现1.mp4
│ │ ├── 🎬 课时2-Spring_IOC注解方式实现2.mp4
│ │ ├── 🎬 课时3-Spring_DI注解方式实现1.mp4
│ │ ├── 🎬 课时4-Spring_DI注解方式实现2.mp4
│ │ ├── 🎬 课时5-Spring_DI注解方式实现3.mp4
│ │ ├── 🎬 课时6-Spring_配置类方式实现IOC和DI.mp4
│ │ ├── 🎬 课时7-Spring_配置类方式实现IOC和DI2.mp4
│ │ ├── 🎬 课时8-Spring_代理模式概念和静态代理.mp4
│ │ ├── 🎬 课时9-Spring_JDK动态代理.mp4
│ │ └── 🎬 课时10-Spring_CGLIB动态代理.mp4
│ └── 📁 章节5-Spring_AOP
│ ├── 🎬 课时1-Spring_AOP概念引入.mp4
│ ├── 🎬 课时2-Spring_AOP术语解析.mp4
│ ├── 🎬 课时3-Spring_AOP项目准备.mp4
│ ├── 🎬 课时4-Spring_AOP注解实现1.mp4
│ ├── 🎬 课时5-Spring_AOP注解实现2.mp4
│ ├── 🎬 课时6-Spring_AOP注解实现3.mp4
│ ├── 🎬 课时7-Spring_AOP注解实现4.mp4
│ ├── 🎬 课时8-Spring_AOPXML实现.mp4
│ ├── 🎬 课时9-Spring_JdbcTemplate项目搭建.mp4
│ ├── 🎬 课时10-Spring_JdbcTemplate查询操作.mp4
│ ├── 🎬 课时11-Spring_JdbcTemplate增删改.mp4
│ ├── 🎬 课时12-Spring_JdbcTemplate批处理.mp4
│ ├── 🎬 课时13-Spring_事务回顾.mp4
│ ├── 🎬 课时14-Spring_事务环境搭建.mp4
│ ├── 🎬 课时15-Spring_注解方式声明式事务.mp4
│ ├── 🎬 课时16-Spring_事务的传播行为.mp4
│ ├── 🎬 课时17-Spring_事务的其他配置参数.mp4
│ ├── 🎬 课时18-Spring_XML方式声明事务.mp4
│ ├── 🎬 课时19-Spring_零XML声明事务.mp4
│ ├── 🎬 课时20-Spring_日志的使用.mp4
│ └── 🎬 课时21-Spring_junit4和5的支持.mp4
├── 📁 37.SpringBoot框架_简单配置的一站式框架-82
│ ├── 📁 章节1-SpringBoot
│ │ ├── 🎬 课时1-SpringBoot_简介.mp4
│ │ ├── 🎬 课时2-SpringBoot_项目搭建方式1.mp4
│ │ ├── 🎬 课时3-SpringBoot_项目搭建方式2.mp4
│ │ ├── 🎬 课时4-SpringBoot_启动原理分析.mp4
│ │ ├── 🎬 课时5-SpringBoot_项目配置A.mp4
│ │ ├── 🎬 课时6-SpringBoot_项目配置B.mp4
│ │ ├── 🎬 课时7-SpringBoot_项目配置C.mp4
│ │ ├── 🎬 课时8-SpringBoot_整合MyBatis.mp4
│ │ ├── 🎬 课时9-SpringBoot_整合logback.mp4
│ │ └── 🎬 课时10-SpringBoot_整合PageHelper.mp4
│ ├── 📁 章节2-SpringBoot(二)
│ │ ├── 🎬 课时1-SpringBoot_整合Druid.mp4
│ │ ├── 🎬 课时2-SpringBoot_整合JSP.mp4
│ │ ├── 🎬 课时3-SpringBoot_整合FreeMarker.mp4
│ │ ├── 🎬 课时4-FreeMarker指令A.mp4
│ │ ├── 🎬 课时5-FreeMarker指令B.mp4
│ │ ├── 🎬 课时6-FreeMarker指令C.mp4
│ │ ├── 🎬 课时7-FreeMarker指令D.mp4
│ │ ├── 🎬 课时8-SpringBoot_Thymeleaf简介.mp4
│ │ ├── 🎬 课时9-Thymeleaf_标准变量表达式A.mp4
│ │ └── 🎬 课时10-Thymeleaf_标准变量表达式B.mp4
│ ├── 📁 章节3-SpringBoot(三)
│ │ ├── 🎬 课时1-Thymeleaf_标准变量表达式C.mp4
│ │ ├── 🎬 课时2-Thymeleaf_标准变量表达式D.mp4
│ │ ├── 🎬 课时3-Thymeleaf_标准变量表达式E.mp4
│ │ ├── 🎬 课时4-Thymeleaf_标准变量表达式F.mp4
│ │ ├── 🎬 课时5-Thymeleaf_内置对象A.mp4
│ │ ├── 🎬 课时6-Thymeleaf_内置对象B.mp4
│ │ ├── 🎬 课时7-模板引擎简单总结.mp4
│ │ ├── 🎬 课时8-SpringBoot_开发者工具.mp4
│ │ ├── 🎬 课时9-SpringBoot_项目打包发布.mp4
│ │ └── 🎬 课时10-SpringBoot_项目打包发布.mp4
│ ├── 📁 章节4-SpringBoot(四)
│ │ ├── 🎬 课时1-SpringBoot_异常处理.mp4
│ │ ├── 🎬 课时2-SpringBoot_Junit支持.mp4
│ │ └── 🎬 课时3-SpringBoot_Bean管理和拦截器配置.mp4
│ ├── 📁 章节5-SpringBoot(五)
│ │ ├── 🎬 课时1-拓展_@Configuration.mp4
│ │ ├── 🎬 课时2-拓展_@Import.mp4
│ │ ├── 🎬 课时3-拓展_@Conditional.mp4
│ │ ├── 🎬 课时4-拓展_@ImportResource.mp4
│ │ ├── 🎬 课时5-拓展_@ConfigurationPro.mp4
│ │ ├── 🎬 课时6-拓展_静态资源前缀和位置.mp4
│ │ ├── 🎬 课时7-拓展_欢迎页和favicon.mp4
│ │ ├── 🎬 课时8-拓展_拦截器放行静态资源.mp4
│ │ ├── 🎬 课时9-拓展_文件上传A.mp4
│ │ └── 🎬 课时10-拓展_文件上传B.mp4
│ └── 📁 章节6-SpringBoot(六)
│ ├── 🎬 课时1-拓展_MyBatisPlus项目搭建.mp4
│ ├── 🎬 课时2-拓展_MyBatisPlus实现CURD.mp4
│ ├── 🎬 课时3-拓展_MyBatisPlus分页.mp4
│ ├── 🎬 课时4-拓展_JUnit5简介.mp4
│ ├── 🎬 课时5-拓展_JUnit5常见注解.mp4
│ ├── 🎬 课时6-拓展_JUnit5断言机制.mp4
│ ├── 🎬 课时7-拓展_Junit5前置条件.mp4
│ ├── 🎬 课时8-拓展_JUnit5嵌套测试.mp4
│ └── 🎬 课时9-拓展_JUnit5参数化测试.mp4
├── 📁 38.SpringMVC-773
│ ├── 📁 章节1-springMVC_概念引入
│ │ └── 🎬 课时1-springMVC_概念引入.mp4
│ ├── 📁 章节2-SpringMVC_创建并运行war项目
│ │ └── 🎬 课时1-SpringMVC_创建并运行war项目.mp4
│ ├── 📁 章节3-SpringMVC_框架搭建1
│ │ └── 🎬 课时1-SpringMVC_框架搭建1.mp4
│ ├── 📁 章节4-SpringMVC_框架搭建2
│ │ └── 🎬 课时1-SpringMVC_框架搭建2.mp4
│ ├── 📁 章节5-SpringMVC_框架搭建3
│ │ └── 🎬 课时1-SpringMVC_框架搭建3.mp4
│ ├── 📁 章节6-SpringMVC_执行流程和三大组件
│ │ └── 🎬 课时1-SpringMVC_执行流程和三大组件.mp4
│ ├── 📁 章节7-SpringMVC_静态资源放行
│ │ └── 🎬 课时1-SpringMVC_静态资源放行.mp4
│ ├── 📁 章节8-SpringMVC_控制请求方式
│ │ └── 🎬 课时1-SpringMVC_控制请求方式.mp4
│ ├── 📁 章节9-SpringMVC_控制请求参数和请求头
│ │ └── 🎬 课时1-SpringMVC_控制请求参数和请求头.mp4
│ ├── 📁 章节10-SpringMVC_@PathVariable注解
│ │ └── 🎬 课时1-SpringMVC_@PathVariable注解.mp4
│ ├── 📁 章节11-SpringMVC_RESTFUL风格
│ │ └── 🎬 课时1-SpringMVC_RESTFUL风格.mp4
│ ├── 📁 章节12-SpringMVC_参数注入引入
│ │ └── 🎬 课时1-SpringMVC_参数注入引入.mp4
│ ├── 📁 章节13-SpringMVC_注入POJO类型参数
│ │ └── 🎬 课时1-SpringMVC_注入POJO类型参数.mp4
│ ├── 📁 章节14-SpringMVC_注入Date类型参数
│ │ └── 🎬 课时1-SpringMVC_注入Date类型参数.mp4
│ ├── 📁 章节15-SpringMVC_注入List类型参数
│ │ └── 🎬 课时1-SpringMVC_注入List类型参数.mp4
│ ├── 📁 章节16-SpringMVC_注入List类型参数2
│ │ └── 🎬 课时1-SpringMVC_注入List类型参数2.mp4
│ ├── 📁 章节17-SpringMVC_注入Map类型参数
│ │ └── 🎬 课时1-SpringMVC_注入Map类型参数.mp4
│ ├── 📁 章节18-SpringMVC_请求参数乱码问题
│ │ └── 🎬 课时1-SpringMVC_请求参数乱码问题.mp4
│ ├── 📁 章节19-SpringMVC_常见注解
│ │ └── 🎬 课时1-SpringMVC_常见注解.mp4
│ ├── 📁 章节20-SpringMVC_响应void
│ │ └── 🎬 课时1-SpringMVC_响应void.mp4
│ ├── 📁 章节21-SpringMVC_请求转发和响应重定向
│ │ └── 🎬 课时1-SpringMVC_请求转发和响应重定向.mp4
│ ├── 📁 章节22-SpringMVC_forward关键字
│ │ └── 🎬 课时1-SpringMVC_forward关键字.mp4
│ ├── 📁 章节23-SpringMVC_redirect关键字
│ │ └── 🎬 课时1-SpringMVC_redirect关键字.mp4
│ ├── 📁 章节24-SpringMVC_View视图
│ │ └── 🎬 课时1-SpringMVC_View视图.mp4
│ ├── 📁 章节25-SpringMVC_ModelAndView
│ │ └── 🎬 课时1-SpringMVC_ModelAndView.mp4
│ ├── 📁 章节26-SpringMVC_响应JSON
│ │ └── 🎬 课时1-SpringMVC_响应JSON.mp4
│ ├── 📁 章节27-SpringMVC_SSM整合A
│ │ └── 🎬 课时1-SpringMVC_SSM整合A.mp4
│ ├── 📁 章节28-SpringMVC_SSM整合B
│ │ └── 🎬 课时1-SpringMVC_SSM整合B.mp4
│ ├── 📁 章节29-SpringMVC_SSM整合C
│ │ └── 🎬 课时1-SpringMVC_SSM整合C.mp4
│ ├── 📁 章节30-SpringMVC_SSM整合D
│ │ └── 🎬 课时1-SpringMVC_SSM整合D.mp4
│ ├── 📁 章节31-SpringMVC_SSM整合E
│ │ └── 🎬 课时1-SpringMVC_SSM整合E.mp4
│ ├── 📁 章节32-SpringMVC_SSM整合F
│ │ └── 🎬 课时1-SpringMVC_SSM整合F.mp4
│ ├── 📁 章节33-SpringMVC_作用域传递数据A
│ │ └── 🎬 课时1-SpringMVC_作用域传递数据A.mp4
│ ├── 📁 章节34-SpringMVC_作用域传递数据B
│ │ └── 🎬 课时1-SpringMVC_作用域传递数据B.mp4
│ ├── 📁 章节35-SpringMVC_作用域传递数据C
│ │ └── 🎬 课时1-SpringMVC_作用域传递数据C.mp4
│ ├── 📁 章节36-SpringMVC_文件上传A
│ │ └── 🎬 课时1-SpringMVC_文件上传A.mp4
│ ├── 📁 章节37-SpringMVC_文件上传B
│ │ └── 🎬 课时1-SpringMVC_文件上传B.mp4
│ ├── 📁 章节38-SpringMVC_文件上传C
│ │ └── 🎬 课时1-SpringMVC_文件上传C.mp4
│ ├── 📁 章节39-SpringMVC_文件上传D
│ │ └── 🎬 课时1-SpringMVC_文件上传D.mp4
│ ├── 📁 章节40-SpringMVC_文件上传E
│ │ └── 🎬 课时1-SpringMVC_文件上传E.mp4
│ ├── 📁 章节41-SpringMVC_文件上传F
│ │ └── 🎬 课时1-SpringMVC_文件上传F.mp4
│ ├── 📁 章节42-SpringMVC_文件上传G
│ │ └── 🎬 课时1-SpringMVC_文件上传G.mp4
│ ├── 📁 章节43-SpringMVC_文件上传H
│ │ └── 🎬 课时1-SpringMVC_文件上传H.mp4
│ ├── 📁 章节44-SpringMVC_文件下载A
│ │ └── 🎬 课时1-SpringMVC_文件下载A.mp4
│ ├── 📁 章节45-SpringMVC_文件下载B
│ │ └── 🎬 课时1-SpringMVC_文件下载B.mp4
│ ├── 📁 章节46-SpringMVC_拦截器引入
│ │ └── 🎬 课时1-SpringMVC_拦截器引入.mp4
│ ├── 📁 章节47-SpringMVC_拦截器方法解释
│ │ └── 🎬 课时1-SpringMVC_拦截器方法解释.mp4
│ ├── 📁 章节48-SpringMVC_拦截器执行顺序
│ │ └── 🎬 课时1-SpringMVC_拦截器执行顺序.mp4
│ ├── 📁 章节49-SpringMVC_异常处理引入
│ │ └── 🎬 课时1-SpringMVC_异常处理引入.mp4
│ ├── 📁 章节50-SpringMVC_异常处理方式1
│ │ └── 🎬 课时1-SpringMVC_异常处理方式1.mp4
│ ├── 📁 章节51-SpringMVC_异常处理方式2
│ │ └── 🎬 课时1-SpringMVC_异常处理方式2.mp4
│ ├── 📁 章节52-SpringMVC_异常处理方式3A
│ │ └── 🎬 课时1-SpringMVC_异常处理方式3A.mp4
│ ├── 📁 章节53-SpringMVC_异常处理方式3B
│ │ └── 🎬 课时1-SpringMVC_异常处理方式3B.mp4
│ ├── 📁 章节54-SpringMVC_异常处理方式4
│ │ └── 🎬 课时1-SpringMVC_异常处理方式4.mp4
│ ├── 📁 章节55-SpringMVC_其他注解1
│ │ └── 🎬 课时1-SpringMVC_其他注解1.mp4
│ ├── 📁 章节56-SpringMVC_其他注解2
│ │ └── 🎬 课时1-SpringMVC_其他注解2.mp4
│ └── 📁 章节57-SpringMVC_其他注解3
│ └── 🎬 课时1-SpringMVC_其他注解3.mp4
├── 📁 39.StructuredStreaming结构化流-1266
│ ├── 📁 章节1-Structured Streaming 概述
│ │ ├── 🎬 课时1-01-Structured Streaming 结构化流课程内容.mp4
│ │ ├── 🎬 课时2-02-SparkStreaming 处理流式数据弊端.mp4
│ │ ├── 🎬 课时3-03-Structured Streaming 概念及特点.mp4
│ │ └── 🎬 课时4-04-Structured Streaming 编程模型.mp4
│ ├── 📁 章节2-Structured Streaming 应用
│ │ ├── 🎬 课时1-05-Structured Streaming 读取Socket数据并写出.mp4
│ │ ├── 🎬 课时2-06-Structured Streaming WordCount案例及输出模式测试.mp4
│ │ ├── 🎬 课时3-07-Structured Streaming Java版本WordCount及注意点.mp4
│ │ ├── 🎬 课时4-08-Structured Streaming Stream Table API.mp4
│ │ ├── 🎬 课时5-09-Structured Streaming Triggers.mp4
│ │ └── 🎬 课时6-10-Structured Streaming Continuous连续处理.mp4
│ ├── 📁 章节3-Structured Streaming Source与Sink
│ │ ├── 🎬 课时1-11-Sturctured Streaming InputSource之监控Text文件.mp4
│ │ ├── 🎬 课时2-12-Sturctured Streaming InputSource之监控CSV文件.mp4
│ │ ├── 🎬 课时3-13-Structured Streaming InputSource之监控Json文件.mp4
│ │ ├── 🎬 课时4-14-Structured Streaming Rate Source.mp4
│ │ ├── 🎬 课时5-15-Structured Streaming Checkpoint设置及目录介绍.mp4
│ │ ├── 🎬 课时6-16-Structured Streaming outputSink之File Sink.mp4
│ │ ├── 🎬 课时7-17-Structured Streaming outputSink之Memory Sink.mp4
│ │ ├── 🎬 课时8-18-Structured Streaming outputSink之foreachBatch Scala代码.mp4
│ │ ├── 🎬 课时9-19-Structured Streaming outputSink之foreachBatch Java代码.mp4
│ │ ├── 🎬 课时10-20-Structured Streaming outputSink之foreach Scala代码.mp4
│ │ └── 🎬 课时11-21-Structured Streaming outputSink之foreach Java代码.mp4
│ ├── 📁 章节4-Structured Streaming API与窗口操作
│ │ ├── 🎬 课时1-22-Structured Streaming 结构化流 DataFrame API scala代码操作.mp4
│ │ ├── 🎬 课时2-23-Structured Streaming 结构化流 DataFrame API Java代码操作.mp4
│ │ ├── 🎬 课时3-24-Structured Streaming 结构化流 Dataset API scala操作.mp4
│ │ ├── 🎬 课时4-25-Structured Streaming 结构化流 Dataset API Java操作.mp4
│ │ ├── 🎬 课时5-26-Structured Streaming 基于事件时间的窗口操作.mp4
│ │ ├── 🎬 课时6-27-Structured Streaming 基于事件时间的窗口Scala代码.mp4
│ │ ├── 🎬 课时7-28-Structured Streaming 基于事件时间的窗口Java代码及注意点.mp4
│ │ ├── 🎬 课时8-29-Structured Streaming 基于事件时间的窗口划分规则.mp4
│ │ ├── 🎬 课时9-30-Structured Streaming Watermarking机制.mp4
│ │ ├── 🎬 课时10-31-Structured Streaming Watermarking设置方式及Complete输出测试.mp4
│ │ ├── 🎬 课时11-32-Structured Streaming Watermarking Update输出测试.mp4
│ │ ├── 🎬 课时12-33-Structured Streaming Watermarking Append输出测试.mp4
│ │ ├── 🎬 课时13-34-Structured Streaming Watermarking 使用注意点.mp4
│ │ ├── 🎬 课时14-35-Structured Streaming 窗口分类.mp4
│ │ ├── 🎬 课时15-36-Structured Streaming Session会话窗口代码.mp4
│ │ └── 🎬 课时16-37-Structured Streaming 动态生成Session会话窗口.mp4
│ ├── 📁 章节5-Structured Streaming Join操作及流去重
│ │ ├── 🎬 课时1-38-Structured Streaming Stream与Static Join操作-01.mp4
│ │ ├── 🎬 课时2-39-Structured Streaming Stream与Static Join操作-02.mp4
│ │ ├── 🎬 课时3-40-Structured Streaming Stream与Stream join操作.mp4
│ │ ├── 🎬 课时4-41-Structured Streaming 代码获取输出Watermark.mp4
│ │ ├── 🎬 课时5-42-Structured Streaming Stream与Stream Join类型及注意点.mp4
│ │ ├── 🎬 课时6-43-Structured Streaming 流去重及代码实现.mp4
│ │ └── 🎬 课时7-44-Structured Streaming 注意点.mp4
│ └── 📁 章节6-Structured Streaming 与Kafka 整合
│ ├── 🎬 课时1-45-Structured Streaming Kafka Source Scala代码.mp4
│ ├── 🎬 课时2-46-Structured Streaming Kafka Source Java代码及总结.mp4
│ ├── 🎬 课时3-47-Structured Streaming Kafka Sink Scala代码.mp4
│ ├── 🎬 课时4-48-Structured Streaming Kafak Sink Java代码及总结.mp4
│ ├── 🎬 课时5-49-Structured Streaming 整合Kafka 不支持配置项.mp4
│ ├── 🎬 课时6-50-Structured Streaming 综合案例之数据准备.mp4
│ ├── 🎬 课时7-51-Structured Streaming 综合案例之代码编写.mp4
│ ├── 🎬 课时8-52-Structured Streaming 综合案例之代码测试及缓存.mp4
│ └── 🎬 课时9-53-Structured Streaming 课程总结.mp4
├── 📁 40.【MCA】合家云项目服务平台-263
│ ├── 📁 章节1-何家云项目实战1
│ │ └── 🎬 课时1-何家云项目实战1.mp4
│ ├── 📁 章节2-何家云项目实战2
│ │ └── 🎬 课时1-何家云项目实战2.mp4
│ ├── 📁 章节3-何家云项目实战3
│ │ └── 🎬 课时1-何家云项目实战3.mp4
│ ├── 📁 章节4-何家云项目实战4
│ │ └── 🎬 课时1-何家云项目实战4.mp4
│ ├── 📁 章节5-何家云项目实战5
│ │ └── 🎬 课时1-何家云项目实战5.mp4
│ └── 📁 章节6-何家云项目实战6
│ └── 🎬 课时1-何家云项目实战6.mp4
├── 📁 41.大数据数据治理-206
│ ├── 📁 章节1-数据治理-数据质量管理
│ │ ├── 🎬 课时1-数据治理概念及涉及方面.mp4
│ │ ├── 🎬 课时2-数据治理方面(1).mp4
│ │ ├── 🎬 课时3-数据治理方面(2).mp4
│ │ ├── 🎬 课时4-数据质量管理讲解.mp4
│ │ ├── 🎬 课时5-商户统计业务.mp4
│ │ ├── 🎬 课时6-ODS层数据质量管理(1).mp4
│ │ ├── 🎬 课时7-ODS层数据质量管理(2).mp4
│ │ ├── 🎬 课时8-ODS层数据质量管理(3).mp4
│ │ └── 🎬 课时9-EDS层数据质量管理.mp4
│ ├── 📁 章节2-数据治理-元数据管理
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-元数据管理概念及工具-Atlas.mp4
│ │ ├── 🎬 课时3-编译Atlas安装包介绍.mp4
│ │ ├── 🎬 课时4-安装Hadoop.mp4
│ │ ├── 🎬 课时5-安装Hive和HBase.mp4
│ │ ├── 🎬 课时6-安装Solr和Maven.mp4
│ │ ├── 🎬 课时7-编译Atlas源码及错误解决方法.mp4
│ │ └── 🎬 课时8-Atlas搭配启动.mp4
│ └── 📁 章节3-数据治理-数据安全管理
│ ├── 🎬 课时1-Atlas页面介绍.mp4
│ ├── 🎬 课时2-集成Hive.mp4
│ ├── 🎬 课时3-业务流程演示.mp4
│ ├── 🎬 课时4-上传Hive表.mp4
│ ├── 🎬 课时5-查看表元数据.mp4
│ ├── 🎬 课时6-Ranger架构及介绍.mp4
│ ├── 🎬 课时7-Ranger安装git.mp4
│ ├── 🎬 课时8-Ranger安装与启动编译.mp4
│ ├── 🎬 课时9-同步Linux用户.mp4
│ ├── 🎬 课时10-配置HiveServer2.mp4
│ ├── 🎬 课时11-安装Ranger-hive-plugin并连接Hive服务.mp4
│ ├── 🎬 课时12-Ranger管理HDFS安全之HDFS-Plugin插件安装.mp4
│ └── 🎬 课时13-Ranger管理HDFS安全之HDFS权限控制.mp4
├── 📁 42.大型电商日志离线分析系统-132
│ ├── 📁 章节1-Hadoop项目-需求介绍及数据源产生流程需求介绍及数据流图
│ │ ├── 🎬 课时1-课前答疑.mp4
│ │ ├── 🎬 课时2-文档需求分析.mp4
│ │ ├── 🎬 课时3-需求总述和用户基本信息分析模块.mp4
│ │ ├── 🎬 课时4-浏览器信息分析模块和地域信息分析模块.mp4
│ │ ├── 🎬 课时5-用户访问深度分析模块,外链数据分析模块,订单数据分析模块和事件分析.mp4
│ │ ├── 🎬 课时6-问题答疑.mp4
│ │ ├── 🎬 课时7-根据需求分析工作流程.mp4
│ │ ├── 🎬 课时8-根据需求分析工作流程2.mp4
│ │ ├── 🎬 课时9-根据需求分析工作流程3.mp4
│ │ ├── 🎬 课时10-js sdk执行工作流.mp4
│ │ ├── 🎬 课时11-事件类型分析.mp4
│ │ ├── 🎬 课时12-前端js输出日志.mp4
│ │ ├── 🎬 课时13-问题答疑.mp4
│ │ ├── 🎬 课时14-Nginx安装.mp4
│ │ ├── 🎬 课时15-Nginx配置.mp4
│ │ └── 🎬 课时16-Nginx配置2.mp4
│ ├── 📁 章节2-Hadoop项目-java端和js端数据产生代码讲解及flume简单介绍
│ │ ├── 🎬 课时1-js和java数据源.mp4
│ │ ├── 🎬 课时2-kafka和flume.mp4
│ │ ├── 🎬 课时3-工作流程.mp4
│ │ ├── 🎬 课时4-js数据源代码解析.mp4
│ │ ├── 🎬 课时5-js数据源代码解析.mp4
│ │ ├── 🎬 课时6-js数据源代码解析2.mp4
│ │ ├── 🎬 课时7-js数据源代码解析3.mp4
│ │ ├── 🎬 课时8-配置ngx_http-log module模块.mp4
│ │ ├── 🎬 课时9-配置ngx_http-log module模块2.mp4
│ │ ├── 🎬 课时10-java向Nginx发送数据.mp4
│ │ ├── 🎬 课时11-java向Nginx发送数据2.mp4
│ │ ├── 🎬 课时12-Apache Flume概述.mp4
│ │ ├── 🎬 课时13-Flume的配置.mp4
│ │ ├── 🎬 课时14-Flume的使用.mp4
│ │ ├── 🎬 课时15-两台flume分析.mp4
│ │ ├── 🎬 课时16-两台flume配置.mp4
│ │ ├── 🎬 课时17-两台flume配置2.mp4
│ │ ├── 🎬 课时18-两台flume配置3.mp4
│ │ └── 🎬 课时19-flume的Multiplexing the flow和tee命令.mp4
│ ├── 📁 章节3-Hadoop项目-Flume讲解及数据清洗模块准备工作
│ │ ├── 🎬 课时1-Flume集群概述.mp4
│ │ ├── 🎬 课时2-监控当前文件和目录.mp4
│ │ ├── 🎬 课时3-监控当前文件和目录2.mp4
│ │ ├── 🎬 课时4-FlumeChannels.mp4
│ │ ├── 🎬 课时5-Flume Sink源.mp4
│ │ ├── 🎬 课时6-HDFS参数讲解.mp4
│ │ ├── 🎬 课时7-往HDFS里写入数据.mp4
│ │ ├── 🎬 课时8-配置HDFS.mp4
│ │ ├── 🎬 课时9-数据源从ETL清洗到HBase.mp4
│ │ ├── 🎬 课时10-根据jp搜索ip信息文件 得到IPLocation结构 所搜索的ip参数从类成员ip中得到.mp4
│ │ ├── 🎬 课时11-根据jp搜索ip信息文件 得到IPLocation结构 所搜索的ip参数从类成员ip中得到2.mp4
│ │ ├── 🎬 课时12-枚举类.mp4
│ │ ├── 🎬 课时13-数据清洗.mp4
│ │ ├── 🎬 课时14-数据清洗2.mp4
│ │ ├── 🎬 课时15-数据清洗3.mp4
│ │ ├── 🎬 课时16-数据清洗4.mp4
│ │ └── 🎬 课时17-问题答疑.mp4
│ ├── 📁 章节4-Hadoop项目-数据清洗代码分析、hive与hbase整合、指标分析思路
│ │ ├── 🎬 课时1-数据清理.mp4
│ │ ├── 🎬 课时2-数据清理2.mp4
│ │ ├── 🎬 课时3-数据清理3.mp4
│ │ ├── 🎬 课时4-数据清理4.mp4
│ │ ├── 🎬 课时5-数据清理5.mp4
│ │ ├── 🎬 课时6-数据清理6.mp4
│ │ ├── 🎬 课时7-HBase和Hive的整合.mp4
│ │ ├── 🎬 课时8-HBase和Hive的整合的配置.mp4
│ │ ├── 🎬 课时9-结合官方案例使用HBase和Hive的整合.mp4
│ │ ├── 🎬 课时10-根据需求文档进行需求分析.mp4
│ │ ├── 🎬 课时11-根据需求文档进行需求分析2.mp4
│ │ ├── 🎬 课时12-根据需求文档进行需求分析3.mp4
│ │ ├── 🎬 课时13-根据需求文档进行需求分析4.mp4
│ │ ├── 🎬 课时14-根据需求文档进行需求分析5.mp4
│ │ └── 🎬 课时15-最优化的质量和大小.mp4
│ ├── 📁 章节5-Hadoop项目-手敲用户新增指标模块代码
│ │ ├── 🎬 课时1-表设计.mp4
│ │ ├── 🎬 课时2-每个维度的代码逻辑分析.mp4
│ │ ├── 🎬 课时3-自定义的计算新用户的mapper类.mp4
│ │ ├── 🎬 课时4-自定义的计算新用户的mapper类2.mp4
│ │ ├── 🎬 课时5-读取的是hbase中的result,将数据变成K-V格式的数据.mp4
│ │ ├── 🎬 课时6-读取的是hbase中的result,将数据变成K-V格式的数据2.mp4
│ │ ├── 🎬 课时7-进行维度组合.mp4
│ │ ├── 🎬 课时8-将相同ker的数据汇紧到一起.mp4
│ │ ├── 🎬 课时9-将相同ker的数据汇紧到一起2.mp4
│ │ ├── 🎬 课时10-向mysql插入数据.mp4
│ │ ├── 🎬 课时11-设置从hbase获取数据的规则.mp4
│ │ ├── 🎬 课时12-设置从hbase获取数据的规则2.mp4
│ │ ├── 🎬 课时13-压测服务.mp4
│ │ ├── 🎬 课时14-压测服务2.mp4
│ │ ├── 🎬 课时15-压测服务3.mp4
│ │ └── 🎬 课时16-总结和思路.mp4
│ ├── 📁 章节6-Hadoop项目-MR输出数据到mysql的输出格式化类、sqoop的简单介绍
│ │ ├── 🎬 课时1-OutputFormat:输出格式化类.mp4
│ │ ├── 🎬 课时2-定义每条数据的输出格式 一条数据就是reducer任务每次执行write方法输出的数据.mp4
│ │ ├── 🎬 课时3-自定义具体数据输出writer.mp4
│ │ ├── 🎬 课时4-自定义具体数据输出writer2.mp4
│ │ ├── 🎬 课时5-自定义具体数据输出writer3.mp4
│ │ ├── 🎬 课时6-重新实现活跃用户.mp4
│ │ ├── 🎬 课时7-重新实现活跃用户2.mp4
│ │ ├── 🎬 课时8-Apache Sqoop概述.mp4
│ │ ├── 🎬 课时9-Apache Sqoop安装.mp4
│ │ ├── 🎬 课时10-使用Apache Sqoop.mp4
│ │ ├── 🎬 课时11-sqoop的使用.mp4
│ │ ├── 🎬 课时12-sqoop的使用2.mp4
│ │ ├── 🎬 课时13-sqoop的使用3.mp4
│ │ └── 🎬 课时14-sqoop的使用4.mp4
│ └── 📁 章节7-Hadoop项目-Hive SQL分析用户浏览深度代码讲解及脚本编写
│ ├── 🎬 课时1-sqoop的使用概述.mp4
│ ├── 🎬 课时2-sqoop使用.mp4
│ ├── 🎬 课时3-导入到HBase.mp4
│ ├── 🎬 课时4-在存储的时候的一些问题.mp4
│ ├── 🎬 课时5-需求分析.mp4
│ ├── 🎬 课时6-需求分析2.mp4
│ ├── 🎬 课时7-需求实现.mp4
│ ├── 🎬 课时8-需求实现2.mp4
│ ├── 🎬 课时9-问题答疑.mp4
│ ├── 🎬 课时10-项目基础脚本分析.mp4
│ ├── 🎬 课时11-流程图分析.mp4
│ ├── 🎬 课时12-流程图分析2.mp4
│ ├── 🎬 课时13-问题答疑.mp4
│ └── 🎬 课时14-问题答疑2.mp4
├── 📁 43.多线程与高并发实战-205
│ ├── 📁 章节1-线程基础知识
│ │ ├── 🎬 课时1-多线程内容特点以及学习方法.mp4
│ │ ├── 🎬 课时2-从一则招聘谈起.mp4
│ │ ├── 🎬 课时3-线程的历史-CPU性能压榨的血泪史.mp4
│ │ ├── 🎬 课时4-大厂必问_什么是进程线程纤程.mp4
│ │ ├── 🎬 课时5-从底层角度理解什么是进程.mp4
│ │ ├── 🎬 课时6-从通俗角度理解什么是线程.mp4
│ │ ├── 🎬 课时7-从底层角度理解什么是线程..mp4
│ │ ├── 🎬 课时8-什么是线程的切换.mp4
│ │ ├── 🎬 课时9-单核CPU设定多线程是否有意义.mp4
│ │ ├── 🎬 课时10-线程数是不是越大越好_1.mp4
│ │ ├── 🎬 课时11-线程数是不是越大越好_2.mp4
│ │ ├── 🎬 课时12-线程数设多少最合适_1.mp4
│ │ ├── 🎬 课时13-线程数设多少最合适_2.mp4
│ │ ├── 🎬 课时14-线程数设多少最合适_3.mp4
│ │ ├── 🎬 课时15-线程数设多少最合适_4.mp4
│ │ ├── 🎬 课时16-线程数设多少最合适_5.mp4
│ │ ├── 🎬 课时17-线程数设多少最合适_6.mp4
│ │ └── 🎬 课时18-阶段小结.mp4
│ ├── 📁 章节2-面试题:创建线程的5种方法
│ │ ├── 🎬 课时1-创建线程的5种方法开篇.mp4
│ │ ├── 🎬 课时2-Thread_Runnable_Lambda.mp4
│ │ ├── 🎬 课时3-使用ThreadPool.mp4
│ │ ├── 🎬 课时4-线程池和Callable.mp4
│ │ ├── 🎬 课时5-运用FutureTask.mp4
│ │ └── 🎬 课时6-阶段总结.mp4
│ ├── 📁 章节3-线程状态
│ │ ├── 🎬 课时1-线程状态开篇.mp4
│ │ ├── 🎬 课时2-6种线程状态的简介.mp4
│ │ ├── 🎬 课时3-线程状态迁移简介.mp4
│ │ ├── 🎬 课时4-NEW_RUNNABLE_TERMINATED.mp4
│ │ ├── 🎬 课时5-WAITING_TIMEDWAITING.mp4
│ │ ├── 🎬 课时6-BLOCKED.mp4
│ │ ├── 🎬 课时7-线程状态在Lock和synchronized的区别.mp4
│ │ ├── 🎬 课时8-park之后的线程状态.mp4
│ │ └── 🎬 课时9-线程状态阶段总结.mp4
│ ├── 📁 章节4-线程打断inerrupt
│ │ ├── 🎬 课时1-线程的interruption开篇.mp4
│ │ ├── 🎬 课时2-线程打断3方法.mp4
│ │ ├── 🎬 课时3-interrupt_and_isInterrupted.mp4
│ │ ├── 🎬 课时4-interrupt_and_interrupted.mp4
│ │ ├── 🎬 课时5-interrupt_and_sleep.mp4
│ │ ├── 🎬 课时6-interrupt_and_wait.mp4
│ │ ├── 🎬 课时7-interrupt_and_synchronized.mp4
│ │ ├── 🎬 课时8-interrupt_and_lock.mp4
│ │ ├── 🎬 课时9-interrupt_and_lockInterruptibly.mp4
│ │ └── 🎬 课时10-interrupt_阶段总结.mp4
│ ├── 📁 章节5-线程的结束
│ │ ├── 🎬 课时1-问题:如何优雅的结束一个正在运行的线程.mp4
│ │ ├── 🎬 课时2-使用stop方法结束线程.mp4
│ │ ├── 🎬 课时3-为什么不建议使用stop方法?.mp4
│ │ ├── 🎬 课时4-suspend_resume.mp4
│ │ ├── 🎬 课时5-为什么不建议使用suspend_resume.mp4
│ │ ├── 🎬 课时6-volatile结束线程.mp4
│ │ ├── 🎬 课时7-interrupt结束线程.mp4
│ │ └── 🎬 课时8-阶段总结.mp4
│ ├── 📁 章节6-并发编程三大特性简介
│ │ └── 🎬 课时1-并发编程三大特性开篇.mp4
│ ├── 📁 章节7-并发编程之可见性
│ │ ├── 🎬 课时1-从一个程序谈起.mp4
│ │ ├── 🎬 课时2-可见性的基本概念.mp4
│ │ ├── 🎬 课时3-用volatile保障可见性.mp4
│ │ ├── 🎬 课时4-04_某些语句触发内存缓存同步刷新.mp4
│ │ ├── 🎬 课时5-volatile修饰引用类型.mp4
│ │ ├── 🎬 课时6-三级缓存.mp4
│ │ ├── 🎬 课时7-缓存行的基本概念.mp4
│ │ ├── 🎬 课时8-通过程序认识缓存一致性_01.mp4
│ │ ├── 🎬 课时9-通过程序认识缓存一致性_02.mp4
│ │ ├── 🎬 课时10-认识Disruptor中缓存行对齐的写法.mp4
│ │ ├── 🎬 课时11-认识Contended.mp4
│ │ ├── 🎬 课时12-认识硬件层面的缓存一致性.mp4
│ │ ├── 🎬 课时13-为什么缓存一行是64字节?.mp4
│ │ └── 🎬 课时14-阶段小结.mp4
│ ├── 📁 章节8-并发编程之有序性
│ │ ├── 🎬 课时1-并发编程之有序性_问题的提出.mp4
│ │ ├── 🎬 课时2-乱序的验证.mp4
│ │ ├── 🎬 课时3-乱序的分析.mp4
│ │ ├── 🎬 课时4-为何会存在乱序.mp4
│ │ ├── 🎬 课时5-乱序的原则.mp4
│ │ ├── 🎬 课时6-通过一个小程序认识可见性和有序性_01.mp4
│ │ ├── 🎬 课时7-通过一个小程序认识可见性和有序性_02.mp4
│ │ ├── 🎬 课时8-对象的半初始化状态_01.mp4
│ │ ├── 🎬 课时9-对象的半初始化状态_02.mp4
│ │ ├── 🎬 课时10-this对象逸出_01.mp4
│ │ ├── 🎬 课时11-this对象逸出_02.mp4
│ │ ├── 🎬 课时12-this对象逸出_03.mp4
│ │ ├── 🎬 课时13-this对象逸出_04.mp4
│ │ ├── 🎬 课时14-链接到美团7连问.mp4
│ │ ├── 🎬 课时15-阶段小结.mp4
│ │ ├── 🎬 课时16-happens-before原则.mp4
│ │ ├── 🎬 课时17-CPU用屏障指令阻止乱序.mp4
│ │ ├── 🎬 课时18-JVM要求实现的四种屏障.mp4
│ │ ├── 🎬 课时19-用volatile禁止指令重排.mp4
│ │ ├── 🎬 课时20-volatile在hotspot中的实现.mp4
│ │ └── 🎬 课时21-有序性总结.mp4
│ ├── 📁 章节9-并发编程之原子性
│ │ ├── 🎬 课时1-从一个小程序认识原子性的概念(一).mp4
│ │ ├── 🎬 课时2-从一个小程序认识原子性的概念(二).mp4
│ │ ├── 🎬 课时3-底层原子性和JVM原子性(一).mp4
│ │ ├── 🎬 课时4-底层原子性和JVM原子性(二).mp4
│ │ ├── 🎬 课时5-用上锁保证原子性.mp4
│ │ ├── 🎬 课时6-上锁的本质(一).mp4
│ │ ├── 🎬 课时7-上锁的本质(二).mp4
│ │ ├── 🎬 课时8-上锁的本质(三).mp4
│ │ ├── 🎬 课时9-上锁的本质(四).mp4
│ │ ├── 🎬 课时10-一些同步的基本概念_锁的粒度.mp4
│ │ ├── 🎬 课时11-阶段小结.mp4
│ │ ├── 🎬 课时12-悲观锁与乐观锁.mp4
│ │ ├── 🎬 课时13-CAS的概念解析.mp4
│ │ ├── 🎬 课时14-CAS的ABA问题.mp4
│ │ ├── 🎬 课时15-CAS的底层原子性保障.mp4
│ │ ├── 🎬 课时16-通过Atomic类深入认识CAS.mp4
│ │ ├── 🎬 课时17-深入Hotspot代码深入理解CAS.mp4
│ │ ├── 🎬 课时18-答疑与阶段小结.mp4
│ │ ├── 🎬 课时19-乐观锁与悲观锁的效率谁更高.mp4
│ │ └── 🎬 课时20-synchronized和三大特性.mp4
│ ├── 📁 章节10-synchronized锁升级深入详解
│ │ └── 🎬 课时1-synchronized锁升级深入详解.mp4
│ ├── 📁 章节11-多线程与高并发(一)
│ │ ├── 🎬 课时1-课程规划.mp4
│ │ ├── 🎬 课时2-线程的概念.mp4
│ │ ├── 🎬 课时3-线程的启动方式.mp4
│ │ ├── 🎬 课时4-线程的3个方法.mp4
│ │ ├── 🎬 课时5-线程的状态.mp4
│ │ ├── 🎬 课时6-锁的概念.mp4
│ │ ├── 🎬 课时7-锁的特性.mp4
│ │ ├── 🎬 课时8-设计小程序验证锁的问题.mp4
│ │ ├── 🎬 课时9-锁的可重入属性.mp4
│ │ └── 🎬 课时10-异常跟锁.mp4
│ ├── 📁 章节12-多线程与高并发(二)
│ │ ├── 🎬 课时1-锁的底层实现.mp4
│ │ ├── 🎬 课时2-day1课后总结.mp4
│ │ ├── 🎬 课时3-day2课前复习.mp4
│ │ ├── 🎬 课时4-Volatile保证线程可见性.mp4
│ │ ├── 🎬 课时5-Volatile禁止指令重排序.mp4
│ │ ├── 🎬 课时6-Volatile不能保证原子性.mp4
│ │ ├── 🎬 课时7-synchronized优化.mp4
│ │ ├── 🎬 课时8-day1课程简单回顾.mp4
│ │ ├── 🎬 课时9-CAS(1).mp4
│ │ ├── 🎬 课时10-CAS(2).mp4
│ │ └── 🎬 课时11-day2课后总结.mp4
│ ├── 📁 章节13-多线程与高并发(三)
│ │ ├── 🎬 课时1-day3课前复习.mp4
│ │ ├── 🎬 课时2-LongAdder.mp4
│ │ ├── 🎬 课时3-间接性复习.mp4
│ │ ├── 🎬 课时4-ReentrantLock.mp4
│ │ ├── 🎬 课时5-CountDownLatch.mp4
│ │ ├── 🎬 课时6-CyclicBarrier.mp4
│ │ ├── 🎬 课时7-Phaser.mp4
│ │ ├── 🎬 课时8-ReadWriteLock.mp4
│ │ └── 🎬 课时9-Semaphore.mp4
│ ├── 📁 章节14-多线程与高并发(四)
│ │ ├── 🎬 课时1-Exchanger.mp4
│ │ ├── 🎬 课时2-day4课前复习和课程规划.mp4
│ │ ├── 🎬 课时3-LockSupport.mp4
│ │ ├── 🎬 课时4-面试题一(1)_volatile.mp4
│ │ ├── 🎬 课时5-面试题一(2)_wait notify.mp4
│ │ ├── 🎬 课时6-面试题一(3)_CountDownLatch.mp4
│ │ ├── 🎬 课时7-面试题一(4)_Semaphore 其他思路.mp4
│ │ ├── 🎬 课时8-面试题二(1)_synchronized.mp4
│ │ ├── 🎬 课时9-面试题二(2)_CAS.mp4
│ │ └── 🎬 课时10-读源码的方法.mp4
│ ├── 📁 章节15-多线程与高并发(五)
│ │ ├── 🎬 课时1-ReentrantLock源码.mp4
│ │ ├── 🎬 课时2-AQS源码.mp4
│ │ ├── 🎬 课时3-day4作业.mp4
│ │ ├── 🎬 课时4-day5课前复习.mp4
│ │ ├── 🎬 课时5-AQS源码复习.mp4
│ │ ├── 🎬 课时6-AQS源码复习.mp4
│ │ ├── 🎬 课时7-ThreadLocal.mp4
│ │ ├── 🎬 课时8-强引用.mp4
│ │ ├── 🎬 课时9-软引用.mp4
│ │ ├── 🎬 课时10-弱引用.mp4
│ │ ├── 🎬 课时11-虚引用.mp4
│ │ └── 🎬 课时12-day5课后总结和下节课预习.mp4
│ ├── 📁 章节16-多线程与高并发(六)
│ │ ├── 🎬 课时1-day6课前规划.mp4
│ │ ├── 🎬 课时2-容器概览.mp4
│ │ ├── 🎬 课时3-ConcurrentHashMap的发展.mp4
│ │ ├── 🎬 课时4-Vector到Queue的发展.mp4
│ │ ├── 🎬 课时5-经常在多线程情况 下使用的容器1.mp4
│ │ ├── 🎬 课时6-经常在多线程情况下使用的容器2.mp4
│ │ ├── 🎬 课时7-day6复习.mp4
│ │ ├── 🎬 课时8-阻塞队列中比较特殊的几个队列.mp4
│ │ └── 🎬 课时9-day6课后总结.mp4
│ ├── 📁 章节17-多线程与高并发(七)
│ │ ├── 🎬 课时1-面试题_复习.mp4
│ │ ├── 🎬 课时2-面试题_复习.mp4
│ │ ├── 🎬 课时3-线程池几个常用类的拓展.mp4
│ │ ├── 🎬 课时4-CompletableFuture.mp4
│ │ ├── 🎬 课时5-线程池参数.mp4
│ │ ├── 🎬 课时6-默认拒绝策略应用场景.mp4
│ │ ├── 🎬 课时7-SingleThreadPool.mp4
│ │ ├── 🎬 课时8-CachedPool.mp4
│ │ └── 🎬 课时9-FixedThreadPool.mp4
│ ├── 📁 章节18-多线程与高并发(八)
│ │ ├── 🎬 课时1-ScheduledPool.mp4
│ │ ├── 🎬 课时2-并发和并行对比.mp4
│ │ ├── 🎬 课时3-手敲一个定义拒绝策略的例子.mp4
│ │ ├── 🎬 课时4-day8课前复习.mp4
│ │ ├── 🎬 课时5-ThreadPoolExecutor源码解析.mp4
│ │ ├── 🎬 课时6-ThreadPoolExecutor源码总结.mp4
│ │ ├── 🎬 课时7-WorkStealingPool.mp4
│ │ ├── 🎬 课时8-ForkJoinPool.mp4
│ │ ├── 🎬 课时9-两个Pool的区别.mp4
│ │ └── 🎬 课时10-流式API和day8课后总结.mp4
│ └── 📁 章节19-多线程与高并发(九)
│ ├── 🎬 课时1-day9课前导读和JMH创建.mp4
│ ├── 🎬 课时2-JMH测试实操.mp4
│ ├── 🎬 课时3-Disruptor的核心.mp4
│ ├── 🎬 课时4-Disruptor开发步骤.mp4
│ ├── 🎬 课时5-Disruptor示例程序_Main01.mp4
│ ├── 🎬 课时6-Disruptor示例程序_Main02.mp4
│ ├── 🎬 课时7-Disruptor示例程序_Main03.mp4
│ ├── 🎬 课时8-ProducerType.mp4
│ ├── 🎬 课时9-等待策略.mp4
│ ├── 🎬 课时10-消费者的指定和异常处理.mp4
│ └── 🎬 课时11-Disruptor总结.mp4
├── 📁 44.分布式流处理服务—Apache Kafka-407
│ ├── 📁 章节1-Kafka章节1-(Kafka概述、介绍)01
│ │ └── 🎬 课时1-Kafka章节1-(Kafka概述、介绍)01.mp4
│ ├── 📁 章节2-Kafka章节1-(架构和概念)02
│ │ └── 🎬 课时1-Kafka章节1-(架构和概念)02.mp4
│ ├── 📁 章节3-Kafka章节1-(分区&日志)03
│ │ └── 🎬 课时1-Kafka章节1-(分区&日志)03.mp4
│ ├── 📁 章节4-Kafka章节1-(生产者&消费组)04
│ │ └── 🎬 课时1-Kafka章节1-(生产者&消费组)04.mp4
│ ├── 📁 章节5-Kafka章节1-(顺序写入&ZeroCopy)05
│ │ └── 🎬 课时1-Kafka章节1-(顺序写入&ZeroCopy)05.mp4
│ ├── 📁 章节6-Kafka章节2-(Zookeeper单机安装)01
│ │ └── 🎬 课时1-Kafka章节2-(Zookeeper单机安装)01.mp4
│ ├── 📁 章节7-Kafka章节2-(Kafka单机配置)02
│ │ └── 🎬 课时1-Kafka章节2-(Kafka单机配置)02.mp4
│ ├── 📁 章节8-Kafka章节2-(Kafka集群配置)03
│ │ └── 🎬 课时1-Kafka章节2-(Kafka集群配置)03.mp4
│ ├── 📁 章节9-Kafka章节2-(KafkaTopic管理)04
│ │ └── 🎬 课时1-Kafka章节2-(KafkaTopic管理)04.mp4
│ ├── 📁 章节10-kafka章节3-(Topic管理API)01
│ │ └── 🎬 课时1-kafka章节3-(Topic管理API)01.mp4
│ ├── 📁 章节11-Kafka章节3-(生产者&消费者)02
│ │ └── 🎬 课时1-Kafka章节3-(生产者&消费者)02.mp4
│ ├── 📁 章节12-Kafka章节3-(自定义分区)03
│ │ └── 🎬 课时1-Kafka章节3-(自定义分区)03.mp4
│ ├── 📁 章节13-Kafka章节3-(序列化&拦截器)04
│ │ └── 🎬 课时1-Kafka章节3-(序列化&拦截器)04.mp4
│ ├── 📁 章节14-kafka章节4-(offset自动控制)01
│ │ └── 🎬 课时1-kafka章节4-(offset自动控制)01.mp4
│ ├── 📁 章节15-kafka章节4-(Ackes&Retires)02
│ │ └── 🎬 课时1-kafka章节4-(Ackes&Retires)02.mp4
│ ├── 📁 章节16-kafka章节4-(幂等写)03
│ │ └── 🎬 课时1-kafka章节4-(幂等写)03.mp4
│ ├── 📁 章节17-kafka章节4-(生产者事务)04
│ │ └── 🎬 课时1-kafka章节4-(生产者事务)04.mp4
│ ├── 📁 章节18-kafka章节4-(生产者&消费者)05
│ │ └── 🎬 课时1-kafka章节4-(生产者&消费者)05.mp4
│ ├── 📁 章节19-Kafka章节5-(高水位)01
│ │ └── 🎬 课时1-Kafka章节5-(高水位)01.mp4
│ ├── 📁 章节20-Kafka章节5-(kafkaEagle安装)02
│ │ └── 🎬 课时1-Kafka章节5-(kafkaEagle安装)02.mp4
│ ├── 📁 章节21-章节5-(KafkaFlume集成)03
│ │ └── 🎬 课时1-章节5-(KafkaFlume集成)03.mp4
│ └── 📁 章节22-Kafka章节5-(SpringBoot集成)04
│ └── 🎬 课时1-Kafka章节5-(SpringBoot集成)04.mp4
├── 📁 45.分布式数据仓库 Hive-197
│ ├── 📁 章节1-Hive的架构介绍及远程数据库模式安装
│ │ ├── 🎬 课时1-课前聊天.mp4
│ │ ├── 🎬 课时2-Hive简介.mp4
│ │ ├── 🎬 课时3-Hive的架构解析.mp4
│ │ ├── 🎬 课时4-Hive的架构解析.mp4
│ │ ├── 🎬 课时5-Hive的搭建方式.mp4
│ │ ├── 🎬 课时6-安装mysql.mp4
│ │ ├── 🎬 课时7-CentOS搭建Hive的准备工作.mp4
│ │ ├── 🎬 课时8-CentOS搭建Hive.mp4
│ │ ├── 🎬 课时9-CentOS搭建Hive.mp4
│ │ ├── 🎬 课时10-Hive的使用.mp4
│ │ ├── 🎬 课时11-Hive的使用和搭建的过程回顾.mp4
│ │ ├── 🎬 课时12-执行初始化元数据数据库的步骤和执行hive启动对应的服务.mp4
│ │ ├── 🎬 课时13-问题答疑1.mp4
│ │ ├── 🎬 课时14-Hive的基本配置问题.mp4
│ │ ├── 🎬 课时15-Hive的基本配置.mp4
│ │ ├── 🎬 课时16-问题答题2.mp4
│ │ ├── 🎬 课时17-切换yum源.mp4
│ │ └── 🎬 课时18-问题答疑3.mp4
│ ├── 📁 章节2-Hive的远程元数据服务模式安装及Hive SQL
│ │ ├── 🎬 课时1-课前回顾.mp4
│ │ ├── 🎬 课时2-Hive搭建第二种模式.mp4
│ │ ├── 🎬 课时3-Hive配置.mp4
│ │ ├── 🎬 课时4-HiveSql.mp4
│ │ ├── 🎬 课时5-HiveSql的使用.mp4
│ │ ├── 🎬 课时6-使用Hive.mp4
│ │ ├── 🎬 课时7-默认分隔符.mp4
│ │ ├── 🎬 课时8-操作Hive.mp4
│ │ ├── 🎬 课时9-内外部表的区别.mp4
│ │ ├── 🎬 课时10-问题答疑.mp4
│ │ ├── 🎬 课时11-Hive分区partition.mp4
│ │ ├── 🎬 课时12-Hive的使用.mp4
│ │ ├── 🎬 课时13-当前处理方式存在的问题.mp4
│ │ ├── 🎬 课时14-Hive查询的问题.mp4
│ │ ├── 🎬 课时15-问题答疑2.mp4
│ │ ├── 🎬 课时16-Hive的DML.mp4
│ │ ├── 🎬 课时17-Hive的扩展操作.mp4
│ │ ├── 🎬 课时18-Hive的插入方式.mp4
│ │ ├── 🎬 课时19-Hive的事务管理.mp4
│ │ └── 🎬 课时20-问题答疑3.mp4
│ ├── 📁 章节3-Hive Serde、HiveServer2、Hive函数
│ │ ├── 🎬 课时1-HiveSerde.mp4
│ │ ├── 🎬 课时2-Hive正则匹配.mp4
│ │ ├── 🎬 课时3-Hive Server2与函数操作1.mp4
│ │ ├── 🎬 课时4-Hive Server2与函数操作 2.mp4
│ │ ├── 🎬 课时5-Hive Beeline.mp4
│ │ ├── 🎬 课时6-问题答疑.mp4
│ │ ├── 🎬 课时7-问题答疑2.mp4
│ │ ├── 🎬 课时8-java操作Hive.mp4
│ │ ├── 🎬 课时9-Hive函数 1.mp4
│ │ ├── 🎬 课时10-Hive函数 2.mp4
│ │ ├── 🎬 课时11-Hive用户自定义函数.mp4
│ │ ├── 🎬 课时12-自定义函数.mp4
│ │ ├── 🎬 课时13-问题答疑3.mp4
│ │ ├── 🎬 课时14-问题答疑4.mp4
│ │ └── 🎬 课时15-ANTLR词法语法分析工具解析hql.mp4
│ ├── 📁 章节4-Hive参数设置、运行方式、动态分区、分桶
│ │ ├── 🎬 课时1-Hive参数.mp4
│ │ ├── 🎬 课时2-Hive运行方式.mp4
│ │ ├── 🎬 课时3-动态分区.mp4
│ │ ├── 🎬 课时4-分桶.mp4
│ │ └── 🎬 课时5-分桶和Hive Lateral View及总结.mp4
│ ├── 📁 章节5-Hive视图、索引、权限管理
│ │ ├── 🎬 课时1-上节课回顾.mp4
│ │ ├── 🎬 课时2-Hive Web Interface操作和寻找源码入口.mp4
│ │ ├── 🎬 课时3-Hive视图 1.mp4
│ │ ├── 🎬 课时4-Hive视图 2.mp4
│ │ ├── 🎬 课时5-Hive索引.mp4
│ │ ├── 🎬 课时6-Hive索引的使用.mp4
│ │ ├── 🎬 课时7-问题答疑.mp4
│ │ ├── 🎬 课时8-Hive权限管理1.mp4
│ │ ├── 🎬 课时9-Hive权限管理配置.mp4
│ │ ├── 🎬 课时10-Hive权限管理 2.mp4
│ │ ├── 🎬 课时11-权限问题 1.mp4
│ │ ├── 🎬 课时12-权限问题 2.mp4
│ │ ├── 🎬 课时13-Hive操作需要的权限1.mp4
│ │ ├── 🎬 课时14-Hive操作需要的权限2.mp4
│ │ ├── 🎬 课时15-权限问题 3.mp4
│ │ ├── 🎬 课时16-问题答疑.mp4
│ │ └── 🎬 课时17-2018大数据和AI所包含的技术.mp4
│ └── 📁 章节6-Hive优化、文件类型、HiveServer2高可用
│ ├── 🎬 课时1-Hive调优.mp4
│ ├── 🎬 课时2-Hive优化和Explain显示执行计划.mp4
│ ├── 🎬 课时3-Hive抓取策略.mp4
│ ├── 🎬 课时4-Hive严格模式和查询限制.mp4
│ ├── 🎬 课时5-Hive排序 1.mp4
│ ├── 🎬 课时6-Hive排序 2.mp4
│ ├── 🎬 课时7-Hive join优化和相关配置参数.mp4
│ ├── 🎬 课时8-Map-Side聚合.mp4
│ ├── 🎬 课时9-合并小文件和去重统计.mp4
│ ├── 🎬 课时10-控制Hive中Mapl以及Reduce的数量.mp4
│ ├── 🎬 课时11-Hive-JVM重用.mp4
│ ├── 🎬 课时12-Hive的优化.mp4
│ ├── 🎬 课时13-Hadoop压缩配置.mp4
│ ├── 🎬 课时14-Hadoop的文件存储格式.mp4
│ ├── 🎬 课时15-adoop存储的格式种类.mp4
│ ├── 🎬 课时16-主流文件存储格式对比实验.mp4
│ ├── 🎬 课时17-存储和压缩结合.mp4
│ ├── 🎬 课时18-Hive高可用.mp4
│ └── 🎬 课时19-问题答疑.mp4
├── 📁 46.分布式数据库HBase-140
│ ├── 📁 章节1-HBase架构介绍、数据模型
│ │ ├── 🎬 课时1-之前的遗留知识点.mp4
│ │ ├── 🎬 课时2-HBase前置知识.mp4
│ │ ├── 🎬 课时3-Hadoop生态系统.mp4
│ │ ├── 🎬 课时4-HBase简介:非关系型数据库知识面扩展.mp4
│ │ ├── 🎬 课时5-HBase数据模型.mp4
│ │ ├── 🎬 课时6-HBase的ROW KEY.mp4
│ │ ├── 🎬 课时7-HBase的Column Family列族& qualifier列.mp4
│ │ ├── 🎬 课时8-HBase的Timestamp时间戳.mp4
│ │ ├── 🎬 课时9-HBase的Cell单元格.mp4
│ │ ├── 🎬 课时10-问题答疑.mp4
│ │ ├── 🎬 课时11-HBase架构介绍1.mp4
│ │ ├── 🎬 课时12-HBase架构.mp4
│ │ ├── 🎬 课时13-HBase架构介绍2.mp4
│ │ ├── 🎬 课时14-HBase架构.mp4
│ │ ├── 🎬 课时15-Client和zookeeper.mp4
│ │ ├── 🎬 课时16-Master和RegionServer.mp4
│ │ ├── 🎬 课时17-Region和Memstore 与storefile.mp4
│ │ ├── 🎬 课时18-HRegion.mp4
│ │ └── 🎬 课时19-HBase架构工作原理图解.mp4
│ ├── 📁 章节2-HBase伪分布式及完全分布式安装、HBase 基本命令
│ │ ├── 🎬 课时1-课前答疑.mp4
│ │ ├── 🎬 课时2-HBase的基本搭建的准备.mp4
│ │ ├── 🎬 课时3-CentOS环境搭建HBase.mp4
│ │ ├── 🎬 课时4-HBase的使用和语法.mp4
│ │ ├── 🎬 课时5-HBase的使用和语法2.mp4
│ │ ├── 🎬 课时6-Hbase的架构原理.mp4
│ │ ├── 🎬 课时7-HBase的使用和语法3,以及休息时的问题答疑.mp4
│ │ ├── 🎬 课时8-问题答疑.mp4
│ │ ├── 🎬 课时9-Hive使用的一些问题.mp4
│ │ ├── 🎬 课时10-HBase的分布式和伪分布式.mp4
│ │ ├── 🎬 课时11-HBase的分布式和伪分布式的配置.mp4
│ │ ├── 🎬 课时12-HBase的分布式和伪分布式的配置2.mp4
│ │ ├── 🎬 课时13-HBase的分布式和伪分布式的配置3.mp4
│ │ ├── 🎬 课时14-编写javaAPI.mp4
│ │ ├── 🎬 课时15-编写javaAPI步骤一.mp4
│ │ ├── 🎬 课时16-获取连接.mp4
│ │ ├── 🎬 课时17-创建表.mp4
│ │ └── 🎬 课时18-使用java操作Hive.mp4
│ ├── 📁 章节3-HBase Java API、Protocol Buffer简单介绍
│ │ ├── 🎬 课时1-上节课遗留问题.mp4
│ │ ├── 🎬 课时2-apache phoenix.mp4
│ │ ├── 🎬 课时3-编写javaAPI之insert.mp4
│ │ ├── 🎬 课时4-编写javaAPI之get.mp4
│ │ ├── 🎬 课时5-获得表中所有的记录.mp4
│ │ ├── 🎬 课时6-获得表中所有的记录2.mp4
│ │ ├── 🎬 课时7-获取通话记录.mp4
│ │ ├── 🎬 课时8-获取通话记录2.mp4
│ │ ├── 🎬 课时9-查询某个用户所有的主叫电话.mp4
│ │ ├── 🎬 课时10-过滤器.mp4
│ │ ├── 🎬 课时11-Protobuf简介和相关配置.mp4
│ │ ├── 🎬 课时12-编写javaAPI做准备.mp4
│ │ ├── 🎬 课时13-编写javaAPI.mp4
│ │ ├── 🎬 课时14-编写javaAPI二.mp4
│ │ └── 🎬 课时15-编写javaAPI三.mp4
│ ├── 📁 章节4-HBase与MapReduce整合、Hbase表设计
│ │ ├── 🎬 课时1-课前答疑.mp4
│ │ ├── 🎬 课时2-HBase MapReduce.mp4
│ │ ├── 🎬 课时3-hdfs读取数据2.将数据的结果存储到hbase1.mp4
│ │ ├── 🎬 课时4-从hdfs读取数据2.将数据的结果存储到hbase2.mp4
│ │ ├── 🎬 课时5-InputFormat,OutputFormat.mp4
│ │ ├── 🎬 课时6-根据题目实现表设计.mp4
│ │ ├── 🎬 课时7-根据题目实现表设计2.mp4
│ │ ├── 🎬 课时8-根据题目实现表设计3.mp4
│ │ ├── 🎬 课时9-根据题目实现表设计4.mp4
│ │ ├── 🎬 课时10-根据题目实现表设计5.mp4
│ │ ├── 🎬 课时11-Rowkey设计.mp4
│ │ ├── 🎬 课时12-Rowkey设计原则:越短越好提高效率.mp4
│ │ ├── 🎬 课时13-Rowkey设计原子:散列原则-实现负载均衡.mp4
│ │ ├── 🎬 课时14-Rowkey设计原则:唯一原则-字典序排序存储.mp4
│ │ └── 🎬 课时15-举例讲解:Rowkey设计原则.mp4
│ └── 📁 章节5-Hbase优化及LSM树
│ ├── 🎬 课时1-列族设计需要规避的问题.mp4
│ ├── 🎬 课时2-不要在一张表里定义太多的column family.mp4
│ ├── 🎬 课时3-列族设计:in menmory,Max Version,Time to Live,Compaction,.mp4
│ ├── 🎬 课时4-minor compaction的一些参数.mp4
│ ├── 🎬 课时5-HBase写操作.mp4
│ ├── 🎬 课时6-HBase读表优化.mp4
│ ├── 🎬 课时7-HBase LSM树存储结构.mp4
│ ├── 🎬 课时8-LSM的设计思想和原理.mp4
│ ├── 🎬 课时9-LSM的设计思想和原理2.mp4
│ ├── 🎬 课时10-HBase读取数据详细解释.mp4
│ ├── 🎬 课时11-构建StoreFileScanner.mp4
│ ├── 🎬 课时12-过滤淘汰StoreFileScanner和Seekrowkey.mp4
│ ├── 🎬 课时13-StoreFileScanner合并构建最小堆.mp4
│ ├── 🎬 课时14-为什么这些Scanner需要由小到大排序.mp4
│ ├── 🎬 课时15-不同KeyValue之间如何进行大小比较.mp4
│ ├── 🎬 课时16-scan查询1.mp4
│ └── 🎬 课时17-scan查询2.mp4
├── 📁 47.分布式协调服务zooKeeper-453
│ ├── 📁 章节1-Zookeeper-1
│ │ ├── 🎬 课时1-zookeeper集群概念.mp4
│ │ ├── 🎬 课时2-zookeeper概念短暂节点.mp4
│ │ ├── 🎬 课时3-zookeeper安装和集群配置.mp4
│ │ ├── 🎬 课时4-zookeeper使用.mp4
│ │ ├── 🎬 课时5-zookeeper的集群存的问题解决方案.mp4
│ │ └── 🎬 课时6-zookeeper目录树结构可以应用哪些功能.mp4
│ ├── 📁 章节2-Zookeeper-2
│ │ ├── 🎬 课时1-zookeeper分布式协调 扩展 可靠性 时序性快速(一).mp4
│ │ ├── 🎬 课时2-zookeeper分布式协调 扩展 可靠性 时序性快速(二).mp4
│ │ ├── 🎬 课时3-zookeeper分布式ZAB.mp4
│ │ ├── 🎬 课时4-zookeeper集群选举过程.mp4
│ │ ├── 🎬 课时5-zookeeper的Watch监控.mp4
│ │ └── 🎬 课时6-zookeeper的API使用代码实现.mp4
│ └── 📁 章节3-Zookeeper-3
│ ├── 🎬 课时1-zookeeper配置代码实现.mp4
│ ├── 🎬 课时2-zookeeper回调数据代码.mp4
│ ├── 🎬 课时3-zookeeper分布式锁概念.mp4
│ ├── 🎬 课时4-Zookeeper分布式锁代码实现(一).mp4
│ └── 🎬 课时5-Zookeeper分布式锁代码实现(二).mp4
├── 📁 48.过滤器监听器-863
│ └── 📁 章节1-过滤器监听器
│ ├── 🎬 课时1-过滤器概念引入.mp4
│ ├── 🎬 课时2-过滤器的编写和配置.mp4
│ ├── 🎬 课时3-过滤器的生命周期.mp4
│ ├── 🎬 课时4-过滤器链的使用.mp4
│ ├── 🎬 课时5-过滤器初始化参数配置.mp4
│ ├── 🎬 课时6-过滤器中使用注解.mp4
│ ├── 🎬 课时7-过滤器处理POST乱码.mp4
│ ├── 🎬 课时8-过滤器控制登录.mp4
│ ├── 🎬 课时9-监听器概念引入.mp4
│ ├── 🎬 课时10-Request监听器.mp4
│ ├── 🎬 课时11-功能相似的六个监听器接口.mp4
│ ├── 🎬 课时12-Session特殊监听器1.mp4
│ ├── 🎬 课时13-Session特殊监听器2.mp4
│ ├── 🎬 课时14-案例开发_请求日志记录.mp4
│ ├── 🎬 课时15-案例开发_在线人数统计.mp4
│ ├── 🎬 课时16-案例开发_服务重启免登录.mp4
│ ├── 🎬 课时17-案例开发_监听session钝化和活化.mp4
│ ├── 🎬 课时18-分页概念引入.mp4
│ ├── 🎬 课时19-分页实现思路.mp4
│ ├── 🎬 课时20-分页搭建项目.mp4
│ ├── 🎬 课时21-分页实现1.mp4
│ ├── 🎬 课时22-分页实现2.mp4
│ ├── 🎬 课时23-分页实现3.mp4
│ ├── 🎬 课时24-分页实现4.mp4
│ ├── 🎬 课时25-带条件分页.mp4
│ └── 🎬 课时26-文件上传下载说明.mp4
├── 📁 49.湖仓一体电商数据分析平台-1402
│ ├── 📁 章节1-01-项目背景介绍及项目架构
│ │ ├── 🎬 课时1-01-湖仓一体数据分析平台-项目背景介绍.mp4
│ │ ├── 🎬 课时2-02-湖仓一体数据分析平台-实时数仓现状分析.mp4
│ │ └── 🎬 课时3-03-湖仓一体数据分析平台-项目架构及数据分层.mp4
│ ├── 📁 章节2-02-项目使用技术版本及组件搭建
│ │ ├── 🎬 课时1-04-湖仓一体数据分析平台-项目可视化效果及使用技术版本.mp4
│ │ ├── 🎬 课时2-05-湖仓一体数据分析平台-项目基础环境介绍.mp4
│ │ ├── 🎬 课时3-06-湖仓一体数据分析平台-zookeeper分布式搭建.mp4
│ │ ├── 🎬 课时4-07-湖仓一体数据分析平台-zookeeper启动及状态检查.mp4
│ │ ├── 🎬 课时5-08-湖仓一体数据分析平台-HDFS分布式配置搭建.mp4
│ │ ├── 🎬 课时6-09-湖仓一体数据分析平台-HDFS格式化与启动关闭.mp4
│ │ ├── 🎬 课时7-10-湖仓一体数据分析平台-Hive服务端与客户端配置搭建.mp4
│ │ ├── 🎬 课时8-11-湖仓一体数据分析平台-Hive启动及测试.mp4
│ │ ├── 🎬 课时9-12-湖仓一体数据分析平台-Hive与Iceberg整合配置.mp4
│ │ ├── 🎬 课时10-13-湖仓一体数据分析平台-Hive整合Iceberg三种Catalog管理方式.mp4
│ │ ├── 🎬 课时11-14-湖仓一体数据分析平台-HBase分布式搭建.mp4
│ │ ├── 🎬 课时12-15-湖仓一体数据分析平台-HBase集群使用及测试.mp4
│ │ ├── 🎬 课时13-16-湖仓一体数据分析平台-Phoenix整合HBase配置.mp4
│ │ ├── 🎬 课时14-17-湖仓一体数据分析平台-Phoenix操作测试.mp4
│ │ ├── 🎬 课时15-18-湖仓一体数据分析平台-Kafka分布式集群配置搭建.mp4
│ │ ├── 🎬 课时16-19-湖仓一体数据分析平台-Kafka分布式集群启动及测试.mp4
│ │ ├── 🎬 课时17-20-湖仓一体数据分析平台-Redis编译及搭建.mp4
│ │ ├── 🎬 课时18-21-湖仓一体数据分析平台-Redis启动、停止及测试.mp4
│ │ ├── 🎬 课时19-22-湖仓一体数据分析平台-Flink集群搭建.mp4
│ │ ├── 🎬 课时20-23-湖仓一体数据分析平台-Flume日志采集工具搭建.mp4
│ │ ├── 🎬 课时21-24-湖仓一体数据分析平台-MySQL binlog配置及Maxwell配置搭建.mp4
│ │ ├── 🎬 课时22-25-湖仓一体数据分析平台-Maxwell实时增量或全量同步MySQL binlog数据.mp4
│ │ ├── 🎬 课时23-26-湖仓一体数据分析平台-Clickhouse分布式集群配置搭建.mp4
│ │ └── 🎬 课时24-27-湖仓一体数据分析平台-Clickhouse测试使用.mp4
│ ├── 📁 章节3-03-项目数据种类与采集
│ │ ├── 🎬 课时1-28-湖仓一体数据分析平台-项目数据种类与采集方式.mp4
│ │ ├── 🎬 课时2-29-湖仓一体数据分析平台-MySQL业务数据介绍.mp4
│ │ ├── 🎬 课时3-30-湖仓一体数据分析平台-MySQL业务库数据采集到Kafka.mp4
│ │ ├── 🎬 课时4-31-湖仓一体数据分析平台-用户浏览上坡你日志数据详情.mp4
│ │ ├── 🎬 课时5-32-湖仓一体数据分析平台-用户日志采集接口实现-01.mp4
│ │ ├── 🎬 课时6-33-湖仓一体数据分析平台-用户日志采集接口实现-02.mp4
│ │ ├── 🎬 课时7-34-湖仓一体数据分析平台-用户日志采集接口实现-03.mp4
│ │ ├── 🎬 课时8-35-湖仓一体数据分析平台-用户日志采集接口本地测试.mp4
│ │ ├── 🎬 课时9-36-湖仓一体数据分析平台-用户日志采集接口Linux测试.mp4
│ │ ├── 🎬 课时10-37-湖仓一体数据分析平台-用户日志数据通过Flume实时采集到Kafka.mp4
│ │ └── 🎬 课时11-38-湖仓一体数据分析平台-项目内容其他注意点.mp4
│ ├── 📁 章节4-04-实时业务统计指标分析一——ODS分层设计与数据处理
│ │ ├── 🎬 课时1-39-湖仓一体数据分析平台-实时统计每省新增用户、pv、uv业务需求与分析.mp4
│ │ ├── 🎬 课时2-40-湖仓一体数据分析平台-项目整体处理流程及分层流程设计.mp4
│ │ ├── 🎬 课时3-41-湖仓一体数据分析平台-第一个实时业务架构流程图-01.mp4
│ │ ├── 🎬 课时4-42-湖仓一体数据分析平台-第一个实时业务架构流程图-02.mp4
│ │ ├── 🎬 课时5-43-湖仓一体数据分析平台-项目创建及代码分层、工具类编写.mp4
│ │ ├── 🎬 课时6-44-湖仓一体数据分析平台-ODS层处理之Connector获取Kafka数据.mp4
│ │ ├── 🎬 课时7-45-湖仓一体数据分析平台-ODS层处理之Connector获取Kakfa数据代码测试.mp4
│ │ ├── 🎬 课时8-46-湖仓一体数据分析平台-ODS层处理之编写写入ODS-Iceberg表数据代码.mp4
│ │ ├── 🎬 课时9-47-湖仓一体数据分析平台-ODS层处理之写入ODS-Iceberg表数据代码测试.mp4
│ │ ├── 🎬 课时10-48-湖仓一体数据分析平台-ODS层处理之事实维度数据分流设计思路.mp4
│ │ ├── 🎬 课时11-49-湖仓一体数据分析平台-ODS层处理之Flink主流数据准备.mp4
│ │ ├── 🎬 课时12-50-湖仓一体数据分析平台-ODS层处理之MySQL工具类编写及测试.mp4
│ │ ├── 🎬 课时13-51-湖仓一体数据分析平台-ODS层处理之主流与广播流关联处理-01.mp4
│ │ ├── 🎬 课时14-52-湖仓一体数据分析平台-ODS层处理之主流与广播流关联处理-02.mp4
│ │ ├── 🎬 课时15-53-湖仓一体数据分析平台-ODS层处理之主流与广播流关联处理-03.mp4
│ │ ├── 🎬 课时16-54-湖仓一体数据分析平台-ODS层处理之事实数据与维度数据分流测试.mp4
│ │ ├── 🎬 课时17-55-湖仓一体数据分析平台-ODS层处理之结果写入Kafka Sink代码编写.mp4
│ │ └── 🎬 课时18-56-湖仓一体数据分析平台-ODS层处理之结果写入Kakfa Sink代码测试.mp4
│ ├── 📁 章节5-05-实时业务统计指标分析一——DIM分层设计与数据处理
│ │ ├── 🎬 课时1-57-湖仓一体数据分析平台-DIM层处理之维度数据处理思路.mp4
│ │ ├── 🎬 课时2-58-湖仓一体数据分析平台-DIM层处理之编写读取Kafka 维度数据代码及测试.mp4
│ │ ├── 🎬 课时3-59-湖仓一体数据分析平台-DIM层处理之编写维度数据写入Phoenix代码-01.mp4
│ │ ├── 🎬 课时4-60-湖仓一体数据分析平台-DIM层处理之编写维度数据写入Phoenix代码-02.mp4
│ │ ├── 🎬 课时5-61-湖仓一体数据分析平台-DIM层处理之维度数据写入Phoenix代码测试.mp4
│ │ └── 🎬 课时6-62-湖仓一体数据分析平台-DIM层处理之全量维度数据写入Phoenix测试.mp4
│ ├── 📁 章节6-06-实时业务统计指标分析一——DWD层设计与数据处理
│ │ ├── 🎬 课时1-63-湖仓一体数据分析平台-DWD层处理之获取Kafka数据代码编写及测试.mp4
│ │ ├── 🎬 课时2-64-湖仓一体数据分析平台-DWD层处理之数据清洗.mp4
│ │ ├── 🎬 课时3-65-湖仓一体数据分析平台-DWD层处理之数据输出到Iceberg-DWD层和Kafka.mp4
│ │ └── 🎬 课时4-66-湖仓一体数据分析平台-DWD层处理之数据写出代码测试.mp4
│ ├── 📁 章节7-07-实时业务统计指标分析一——DWS层设计与数据处理
│ │ ├── 🎬 课时1-67-湖仓一体数据分析平台-DWS层处理之Kafka用户登录数据读取代码编写与测试.mp4
│ │ ├── 🎬 课时2-68-湖仓一体数据分析平台-DWS层处理之业务处理思路分析.mp4
│ │ ├── 🎬 课时3-69-湖仓一体数据分析平台-DWS层处理之获取用户登录信息及代码编写思路分析.mp4
│ │ ├── 🎬 课时4-70-湖仓一体数据分析平台-DWS层处理之Redis缓存设置工具类代码编写.mp4
│ │ ├── 🎬 课时5-71-湖仓一体数据分析平台-DWS层处理之获取用户基本信息及Redis缓存设置.mp4
│ │ ├── 🎬 课时6-72-湖仓一体数据分析平台-DWS层处理之获取用户地址信息及Redis缓存设置.mp4
│ │ ├── 🎬 课时7-73-湖仓一体数据分析平台-DWS层处理之用户主题结果代码测试.mp4
│ │ ├── 🎬 课时8-74-湖仓一体数据分析平台-DWS层处理之宽表数据写入Iceberg-DWS及Kafka代码实现.mp4
│ │ └── 🎬 课时9-75-湖仓一体数据分析平台-DWS层处理之宽表数据写入Iceberg及Kafka代码测试.mp4
│ ├── 📁 章节8-08-实时业务统计指标分析一——DM层设计与数据处理
│ │ ├── 🎬 课时1-76-湖仓一体数据分析平台-DM层处理之DM层指标分析思路分析.mp4
│ │ ├── 🎬 课时2-77-湖仓一体数据分析平台-DM层处理之DM层获取Kafka-DWS数据代码编写.mp4
│ │ ├── 🎬 课时3-78-湖仓一体数据分析平台-DM层处理之写入DM层Clickhouse工具封装思路分析.mp4
│ │ ├── 🎬 课时4-79-湖仓一体数据分析平台-DM层处理之写入DM层Clickhouse通用工具类代码编写.mp4
│ │ ├── 🎬 课时5-80-湖仓一体数据分析平台-DM层处理之用户数据插入Clickhouse代码编写.mp4
│ │ └── 🎬 课时6-81-湖仓一体数据分析平台-DM层处理之用户数据插入Clickhouse代码测试.mp4
│ ├── 📁 章节9-09-实时业务统计指标分析一——数据可视化
│ │ ├── 🎬 课时1-82-湖仓一体数据分析平台-数据可视化之可视化总体思路及流程.mp4
│ │ ├── 🎬 课时2-83-湖仓一体数据分析平台-数据可视化之数据发布接口多数据源配置.mp4
│ │ ├── 🎬 课时3-84-湖仓一体数据分析平台-数据可视化之MySQL数据源查询数据验证.mp4
│ │ ├── 🎬 课时4-85-湖仓一体数据分析平台-数据可视化之Clickhouse数据源查询数据验证.mp4
│ │ ├── 🎬 课时5-86-湖仓一体数据分析平台-数据可视化之实时省份新增用户、PV、UV SQL实现.mp4
│ │ ├── 🎬 课时6-87-湖仓一体数据分析平台-数据可视化之数据发布接口查询对应数据.mp4
│ │ ├── 🎬 课时7-88-湖仓一体数据分析平台-数据可视化之内网穿透工具花生壳配置使用.mp4
│ │ ├── 🎬 课时8-89-湖仓一体数据分析平台-数据可视化之腾讯云图可视化-01.mp4
│ │ └── 🎬 课时9-90-湖仓一体数据分析平台-数据可视化之腾讯云图可视化-02.mp4
│ ├── 📁 章节10-10-实时业务统计指标分析一——全流程运行
│ │ ├── 🎬 课时1-91-湖仓一体数据分析平台-实时业务一全流程运行之基础环境准备.mp4
│ │ ├── 🎬 课时2-92-湖仓一体数据分析平台-实时业务一全流程运行之代码准备.mp4
│ │ └── 🎬 课时3-93-湖仓一体数据分析平台-实时业务一全流程运行之生产数据及可视化.mp4
│ ├── 📁 章节11-11-实时业务统计指标分析二——业务分析与业务分层设计
│ │ ├── 🎬 课时1-94-湖仓一体数据分析平台-实时商品种类排行及商品排行业务分析-01.mp4
│ │ ├── 🎬 课时2-95-湖仓一体数据分析平台-实时商品种类排行及商品排行业务分析-02.mp4
│ │ ├── 🎬 课时3-96-湖仓一体数据分析平台-实时商品种类排行及商品排行业务分析-03.mp4
│ │ ├── 🎬 课时4-97-湖仓一体数据分析平台-实时商品种类排行业务架构分层-01.mp4
│ │ └── 🎬 课时5-98-湖仓一体数据分析平台-实时商品种类排行业务架构分层-02.mp4
│ ├── 📁 章节12-12-实时业务统计指标分析二——ODS层设计与数据处理
│ │ ├── 🎬 课时1-99-湖仓一体数据分析平台-ODS层处理之业务数据处理代码逻辑复用分析.mp4
│ │ ├── 🎬 课时2-100-湖仓一体数据分析平台-ODS层处理之业务数据对应Iceberg表创建.mp4
│ │ ├── 🎬 课时3-101-湖仓一体数据分析平台-ODS层处理之业务数据存入ODS层代码编写.mp4
│ │ ├── 🎬 课时4-102-湖仓一体数据分析平台-ODS层处理之业务数据写入ODS层代码测试.mp4
│ │ ├── 🎬 课时5-103-湖仓一体数据分析平台-ODS层处理之用户日志数据处理思路.mp4
│ │ ├── 🎬 课时6-104-湖仓一体数据分析平台-ODS层处理之用户日志数据Iceberg表创建.mp4
│ │ ├── 🎬 课时7-105-湖仓一体数据分析平台-ODS层处理之用户日志数据写入Iceberg代码编写.mp4
│ │ ├── 🎬 课时8-106-湖仓一体数据分析平台-ODS层处理之用户日志数据处理代码编写.mp4
│ │ └── 🎬 课时9-107-湖仓一体数据分析平台-ODS层处理之用户日志数据处理代码测试.mp4
│ ├── 📁 章节13-13-实时业务统计指标分析二——DIM层设计与数据处理
│ │ ├── 🎬 课时1-108-湖仓一体数据分析平台-DIM层维度数据处理之代码逻辑分析.mp4
│ │ └── 🎬 课时2-109-湖仓一体数据分析平台-DIM层维度数据处理之代码测试.mp4
│ ├── 📁 章节14-14-实时业务统计指标分析二——DWD层设计与数据处理
│ │ ├── 🎬 课时1-110-湖仓一体数据分析平台-DWD层用户浏览商品日志数据清洗思路分析-01.mp4
│ │ ├── 🎬 课时2-111-湖仓一体数据分析平台-DWD层用户浏览商品日志数据清洗思路分析-02.mp4
│ │ ├── 🎬 课时3-112-湖仓一体数据分析平台-DWD层用户浏览商品日志数据清洗代码.mp4
│ │ └── 🎬 课时4-113-湖仓一体数据分析平台-DWD层用户浏览商品日志数据清洗代码测试.mp4
│ └── 📁 章节15-15-实时业务统计指标分析二——DWS层设计与数据处理
│ ├── 🎬 课时1-114-湖仓一体数据分析平台-DWS层获取用户浏览商品宽表数据思路分析.mp4
│ ├── 🎬 课时2-115-湖仓一体数据分析平台-DWS层读取DWD层用户浏览商品数据代码编写.mp4
│ ├── 🎬 课时3-116-湖仓一体数据分析平台-DWS层转换用户浏览商品数据代码编写与思路补充.mp4
│ ├── 🎬 课时4-117-湖仓一体数据分析平台-DWS层用户浏览数据获取对应的缓存及维度数据思路分析.mp4
│ ├── 🎬 课时5-118-湖仓一体数据分析平台-DWS层根据浏览商品id获取商品名称维度数据代码编写.mp4
│ ├── 🎬 课时6-119-湖仓一体数据分析平台-DWS层根据浏览商品二级分类获取对应维度数据代码编写.mp4
│ └── 🎬 课时7-120-湖仓一体数据分析平台-DWS层组织用户浏览商品宽表数据代码编写.mp4
├── 📁 50.机器学习与数据挖掘-35
│ ├── 📁 章节1-机器学习介绍、原理及应用场景
│ │ ├── 🎬 课时1-学习要求.mp4
│ │ ├── 🎬 课时2-复习学习过的技术.mp4
│ │ ├── 🎬 课时3-机器学习应用场景.mp4
│ │ ├── 🎬 课时4-机器学习展望未来.mp4
│ │ ├── 🎬 课时5-机器学习和人工智能关系.mp4
│ │ ├── 🎬 课时6-简单的线性回归算法.mp4
│ │ ├── 🎬 课时7-量化公式J的极小值.mp4
│ │ ├── 🎬 课时8-误差函数与模型训练.mp4
│ │ └── 🎬 课时9-回答问题.mp4
│ ├── 📁 章节2-线性回归算法的原理及参数优化方案
│ │ ├── 🎬 课时1-机器学习核心思想.mp4
│ │ ├── 🎬 课时2-机器学习套路.mp4
│ │ ├── 🎬 课时3-梯度下降法1.mp4
│ │ ├── 🎬 课时4-梯度下降法2.mp4
│ │ ├── 🎬 课时5-python写梯度下降法.mp4
│ │ ├── 🎬 课时6-永动机模型.mp4
│ │ ├── 🎬 课时7-公式讲解.mp4
│ │ ├── 🎬 课时8-过拟合.mp4
│ │ ├── 🎬 课时9-控制过拟合.mp4
│ │ └── 🎬 课时10-总结.mp4
│ ├── 📁 章节3-基于Spark MLlib训练回归算法模型
│ │ ├── 🎬 课时1-回顾昨天内容.mp4
│ │ ├── 🎬 课时2-w1和w2关系.mp4
│ │ ├── 🎬 课时3-LinearRegressuin02代码证明w1等于w2.mp4
│ │ ├── 🎬 课时4-抗噪声能力.mp4
│ │ ├── 🎬 课时5-贝叶斯.mp4
│ │ ├── 🎬 课时6-逆概.mp4
│ │ ├── 🎬 课时7-推导贝叶斯算法.mp4
│ │ ├── 🎬 课时8-理解贝叶斯分类.mp4
│ │ ├── 🎬 课时9-垃圾邮件分类.mp4
│ │ └── 🎬 课时10-下节课预告.mp4
│ ├── 📁 章节4-逻辑回归算法的原理及算法公式推导
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-解决邮件4个单词都出现了 垃圾邮件概率.mp4
│ │ ├── 🎬 课时3-拉普拉斯平滑定理.mp4
│ │ ├── 🎬 课时4-零概率问题.mp4
│ │ ├── 🎬 课时5-样本数据.mp4
│ │ ├── 🎬 课时6-分词.mp4
│ │ ├── 🎬 课时7-统计.mp4
│ │ ├── 🎬 课时8-每个单词出现概率.mp4
│ │ ├── 🎬 课时9-代码实现.mp4
│ │ ├── 🎬 课时10-设阈值运行代码.mp4
│ │ ├── 🎬 课时11-总结.mp4
│ │ ├── 🎬 课时12-KNN算法思想.mp4
│ │ ├── 🎬 课时13-KNN算法步骤.mp4
│ │ ├── 🎬 课时14-距离测度的几种方法(1).mp4
│ │ ├── 🎬 课时15-KNN算法(2).mp4
│ │ ├── 🎬 课时16-问题引入.mp4
│ │ ├── 🎬 课时17-数据介绍.mp4
│ │ ├── 🎬 课时18-代码实现.mp4
│ │ ├── 🎬 课时19-回答问题.mp4
│ │ └── 🎬 课时20-代码讲解.mp4
│ ├── 📁 章节5-KNN识别手写数字与KMeans聚类算法原理
│ │ ├── 🎬 课时1-回顾机器学习概述.mp4
│ │ ├── 🎬 课时2-回顾线性回归算法.mp4
│ │ ├── 🎬 课时3-导数小于0 w0加波长.mp4
│ │ ├── 🎬 课时4-训练模型套路.mp4
│ │ ├── 🎬 课时5-回顾常见问题.mp4
│ │ ├── 🎬 课时6-回顾过拟合问题.mp4
│ │ ├── 🎬 课时7-回顾贝叶斯算法.mp4
│ │ ├── 🎬 课时8-回顾KNN分类算法(1).mp4
│ │ └── 🎬 课时9-回顾KNN分类算法(2).mp4
│ ├── 📁 章节6-KNN手写数字识别及KMeans算法原理
│ │ ├── 🎬 课时1-今日安排.mp4
│ │ ├── 🎬 课时2-KNN分类算法思想.mp4
│ │ ├── 🎬 课时3-数据解读.mp4
│ │ ├── 🎬 课时4-识别手写数字代码(1).mp4
│ │ ├── 🎬 课时5-识别手写数字代码(2).mp4
│ │ ├── 🎬 课时6-识别字母.mp4
│ │ ├── 🎬 课时7-KMeans聚类算法.mp4
│ │ ├── 🎬 课时8-回答问题.mp4
│ │ ├── 🎬 课时9-解释总结的话.mp4
│ │ ├── 🎬 课时10-KMeans算法原理.mp4
│ │ ├── 🎬 课时11-聚类个数.mp4
│ │ ├── 🎬 课时12-聚类流程.mp4
│ │ ├── 🎬 课时13-解答问题.mp4
│ │ ├── 🎬 课时14-总结及动画演示.mp4
│ │ ├── 🎬 课时15-如果最开始随机的k个中心点非常最近.mp4
│ │ ├── 🎬 课时16-解决最开始随机的k个中心点非常最近.mp4
│ │ ├── 🎬 课时17-答疑.mp4
│ │ ├── 🎬 课时18-Kmeans++介绍.mp4
│ │ ├── 🎬 课时19-k值的选择.mp4
│ │ ├── 🎬 课时20-聚类效果衡量和选择.mp4
│ │ └── 🎬 课时21-答疑及代码讲解.mp4
│ ├── 📁 章节7-手写KMeans聚类算法及实现精准微博营销案例
│ │ ├── 🎬 课时1-今日安排.mp4
│ │ ├── 🎬 课时2-KMeans聚类算法原理.mp4
│ │ ├── 🎬 课时3-实现KMeans聚类算法.mp4
│ │ ├── 🎬 课时4-机器学习库来做Kmeans聚类(1).mp4
│ │ ├── 🎬 课时5-机器学习库来做Kmeans聚类(2).mp4
│ │ ├── 🎬 课时6-机器学习库来做Kmeans聚类(3).mp4
│ │ ├── 🎬 课时7-微博数据.mp4
│ │ ├── 🎬 课时8-微博精准营销案例思路.mp4
│ │ ├── 🎬 课时9-微博精准营销案例步骤(1).mp4
│ │ ├── 🎬 课时10-微博精准营销案例步骤(2).mp4
│ │ ├── 🎬 课时11-词重要性公式解读.mp4
│ │ └── 🎬 课时12-总结.mp4
│ ├── 📁 章节8-分析KMeans精准营销案例代码及KMeans在推荐系统的应用
│ │ ├── 🎬 课时1-今日安排.mp4
│ │ ├── 🎬 课时2-微博精准营销案例问题.mp4
│ │ ├── 🎬 课时3-实现微博精准营销案例(1).mp4
│ │ ├── 🎬 课时4-实现微博精准营销案例(2).mp4
│ │ ├── 🎬 课时5-实现微博精准营销案例(3).mp4
│ │ ├── 🎬 课时6-回答问题.mp4
│ │ ├── 🎬 课时7-KMeans在推荐系统中应用.mp4
│ │ ├── 🎬 课时8-构建用户画像.mp4
│ │ ├── 🎬 课时9-基于用户的协同过滤.mp4
│ │ ├── 🎬 课时10-解决缺陷用户方面冷启动问题.mp4
│ │ ├── 🎬 课时11-解决缺陷物品方面大量计算.mp4
│ │ └── 🎬 课时12-总结.mp4
│ ├── 📁 章节9-逻辑回归算法原理及公式推导
│ │ ├── 🎬 课时1-逻辑回归分类算法基本概念.mp4
│ │ ├── 🎬 课时2-逻辑回归分类算法公式.mp4
│ │ ├── 🎬 课时3-总结.mp4
│ │ ├── 🎬 课时4-回顾刚才的内容.mp4
│ │ ├── 🎬 课时5-癌症病人的检测数据.mp4
│ │ ├── 🎬 课时6-癌症病人的检测 SparkMLlib代码解析.mp4
│ │ ├── 🎬 课时7-刚才代码的问题.mp4
│ │ └── 🎬 课时8-股票预测思路.mp4
│ ├── 📁 章节10-逻辑回归算法原理及公式推导
│ │ ├── 🎬 课时1-回顾(1).mp4
│ │ ├── 🎬 课时2-回顾(2).mp4
│ │ ├── 🎬 课时3-实际情境中 癌症病人问题分析 数据倾斜.mp4
│ │ ├── 🎬 课时4-三维数据分隔面.mp4
│ │ ├── 🎬 课时5-代码分析三维数据.mp4
│ │ ├── 🎬 课时6-什么时候升维.mp4
│ │ ├── 🎬 课时7-分割线代码分析.mp4
│ │ ├── 🎬 课时8-逻辑回归算法模型分割线无截距.mp4
│ │ ├── 🎬 课时9-对比逻辑回归算法和线性回归算法.mp4
│ │ ├── 🎬 课时10-目标函数.mp4
│ │ ├── 🎬 课时11-梯度下降法思路 逻辑回归算法训练模型流程.mp4
│ │ ├── 🎬 课时12-回答问题.mp4
│ │ ├── 🎬 课时13-误差函数导数求解.mp4
│ │ └── 🎬 课时14-归一化数据问题.mp4
│ ├── 📁 章节11-逻辑回归算法及实现百度路况预测功能
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-求导角度解析公式w0 w1 w2.mp4
│ │ ├── 🎬 课时3-数据矛盾问题解决.mp4
│ │ ├── 🎬 课时4-回答问题.mp4
│ │ ├── 🎬 课时5-调整w1w2时 只能沿相同方向调整.mp4
│ │ ├── 🎬 课时6-均值规划.mp4
│ │ ├── 🎬 课时7-均值规划代码解读.mp4
│ │ ├── 🎬 课时8-同一分割线的不同模型比较.mp4
│ │ ├── 🎬 课时9-噪声数据.mp4
│ │ ├── 🎬 课时10-正则化.mp4
│ │ ├── 🎬 课时11-回答问题.mp4
│ │ ├── 🎬 课时12-L1正则化.mp4
│ │ ├── 🎬 课时13-L2正则化.mp4
│ │ ├── 🎬 课时14-百度路况预测.mp4
│ │ ├── 🎬 课时15-多分类归结为二分类.mp4
│ │ ├── 🎬 课时16-回答问题.mp4
│ │ ├── 🎬 课时17-解释卡扣.mp4
│ │ ├── 🎬 课时18-数据字段讲解.mp4
│ │ └── 🎬 课时19-窗口函数.mp4
│ ├── 📁 章节12-百度地图实时路况及路况预测
│ │ ├── 🎬 课时1-复习.mp4
│ │ ├── 🎬 课时2-今日内容.mp4
│ │ ├── 🎬 课时3-回顾卡扣作用及路况统计.mp4
│ │ ├── 🎬 课时4-将卡口数据写入kakka代码.mp4
│ │ ├── 🎬 课时5-窗口函数.mp4
│ │ ├── 🎬 课时6-窗口函数重复计算效率问题.mp4
│ │ ├── 🎬 课时7-实时统计路况拥堵情况代码讲解.mp4
│ │ ├── 🎬 课时8-一会的内容.mp4
│ │ ├── 🎬 课时9-构建训练模型类比现实故事.mp4
│ │ ├── 🎬 课时10-实时预测路况拥堵情况分析.mp4
│ │ ├── 🎬 课时11-实时预测路况拥堵情况代码讲解(1).mp4
│ │ ├── 🎬 课时12-为什么11分类.mp4
│ │ ├── 🎬 课时13-实时预测路况拥堵情况代码讲解(2).mp4
│ │ └── 🎬 课时14-运行实时预测路况代码.mp4
│ ├── 📁 章节13-决策树算法的原理
│ │ ├── 🎬 课时1-复习.mp4
│ │ ├── 🎬 课时2-引入非线性算法.mp4
│ │ ├── 🎬 课时3-决策树.mp4
│ │ ├── 🎬 课时4-第一分类条件原则 决策树分裂纯粹度.mp4
│ │ ├── 🎬 课时5-讲解纯粹.mp4
│ │ ├── 🎬 课时6-条件熵.mp4
│ │ ├── 🎬 课时7-解决决策树问题步骤.mp4
│ │ ├── 🎬 课时8-总结.mp4
│ │ ├── 🎬 课时9-举例说明认识决策树.mp4
│ │ ├── 🎬 课时10-信息熵.mp4
│ │ ├── 🎬 课时11-决策树判断次数.mp4
│ │ ├── 🎬 课时12-已知记录id 是否购买电脑的信息熵.mp4
│ │ ├── 🎬 课时13-信息增益率.mp4
│ │ ├── 🎬 课时14-决策树剪枝.mp4
│ │ ├── 🎬 课时15-决策树的缺点.mp4
│ │ ├── 🎬 课时16-随机森林.mp4
│ │ ├── 🎬 课时17-代码讲解决策树林(1).mp4
│ │ └── 🎬 课时18-代码讲解决策树(2).mp4
│ ├── 📁 章节14-随机森林算法与算法总结
│ │ ├── 🎬 课时1-复习.mp4
│ │ ├── 🎬 课时2-MLib决策树代码讲解.mp4
│ │ ├── 🎬 课时3-随机森林代码讲解.mp4
│ │ ├── 🎬 课时4-梳理KNN算法.mp4
│ │ ├── 🎬 课时5-补充.mp4
│ │ ├── 🎬 课时6-梳理KMeans算法.mp4
│ │ ├── 🎬 课时7-DBSCan案例.mp4
│ │ ├── 🎬 课时8-DBSCan优势及劣势.mp4
│ │ └── 🎬 课时9-逻辑回归算法.mp4
│ ├── 📁 章节15-推荐系统的来龙去脉与推荐架构
│ │ ├── 🎬 课时1-推荐系统的起因.mp4
│ │ ├── 🎬 课时2-用户画像.mp4
│ │ ├── 🎬 课时3-补全用户数据.mp4
│ │ ├── 🎬 课时4-物品画像.mp4
│ │ ├── 🎬 课时5-召回环节,排序环节.mp4
│ │ ├── 🎬 课时6-召回策略一.mp4
│ │ ├── 🎬 课时7-召回策略二.mp4
│ │ ├── 🎬 课时8-衡量推荐的好与坏的指标有哪些.mp4
│ │ ├── 🎬 课时9-CTR和UCTR.mp4
│ │ ├── 🎬 课时10-关于CTR.mp4
│ │ └── 🎬 课时11-Lambda架构.mp4
│ ├── 📁 章节16-推荐系统架构设计及构建推荐系统训练集
│ │ ├── 🎬 课时1-课前问题答疑.mp4
│ │ ├── 🎬 课时2-三种类型的模拟数据.mp4
│ │ ├── 🎬 课时3-推荐系统的推荐流程.mp4
│ │ ├── 🎬 课时4-阿里推荐系统架构图.mp4
│ │ ├── 🎬 课时5-Lambda架构.mp4
│ │ ├── 🎬 课时6-上下采样.mp4
│ │ ├── 🎬 课时7-Lambda架构二.mp4
│ │ ├── 🎬 课时8-问题答疑.mp4
│ │ ├── 🎬 课时9-Lambda架构三.mp4
│ │ ├── 🎬 课时10-LR.mp4
│ │ ├── 🎬 课时11-LR模型.mp4
│ │ └── 🎬 课时12-推荐系统会不会存在冷启动问题.mp4
│ ├── 📁 章节17-推荐系统代码实现及测试
│ │ ├── 🎬 课时1-前情回顾.mp4
│ │ ├── 🎬 课时2-根据文档分析推荐系统流程.mp4
│ │ ├── 🎬 课时3-根据文档分析推荐系统流程二.mp4
│ │ ├── 🎬 课时4-分析Python脚本内容.mp4
│ │ ├── 🎬 课时5-分析Python脚本内容二.mp4
│ │ ├── 🎬 课时6-分析Python脚本内容三.mp4
│ │ ├── 🎬 课时7-分析Python脚本内容四.mp4
│ │ ├── 🎬 课时8-生成特征索引集合.mp4
│ │ ├── 🎬 课时9-生成特征索引集合二.mp4
│ │ ├── 🎬 课时10-生成特征索引集合三.mp4
│ │ └── 🎬 课时11-训练模型和预测模型.mp4
│ ├── 📁 章节18-实现推荐系统在线推荐微服务
│ │ ├── 🎬 课时1-dubbo微服务:计算某个用户多某个商品的喜好值.mp4
│ │ ├── 🎬 课时2-开始搭建dubbo微服务推荐系统《上》.mp4
│ │ ├── 🎬 课时3-开始搭建dubbo微服务推荐系统《下》.mp4
│ │ └── 🎬 课时4-基于节目的个性化实间推荐系统开发流程.mp4
│ ├── 📁 章节19-基于节目的推荐系统,架构剖析,数据迁移
│ │ ├── 🎬 课时1-redis雪崩.mp4
│ │ ├── 🎬 课时2-Redis分布式缓存和缓存击穿.mp4
│ │ ├── 🎬 课时3-高频缓存穿透和布隆算法实现.mp4
│ │ ├── 🎬 课时4-解决占用内存过大问题和布隆算法实现.mp4
│ │ ├── 🎬 课时5-错误率和什么有关系.mp4
│ │ ├── 🎬 课时6-布隆算法解决的一些问题.mp4
│ │ ├── 🎬 课时7-基于节目推荐架构解析.mp4
│ │ ├── 🎬 课时8-基于节目推荐架构解析二.mp4
│ │ ├── 🎬 课时9-sqoop数据采集.mp4
│ │ ├── 🎬 课时10-基于节目的个性化实时推荐系统开发流程.mp4
│ │ └── 🎬 课时11-基于节目的个性化实时推荐系统开发流程二.mp4
│ ├── 📁 章节20-提取节目的关键词,构建节目画像
│ │ ├── 🎬 课时1-上节课回顾和布隆算法代码实现原理.mp4
│ │ ├── 🎬 课时2-上节课回顾.mp4
│ │ ├── 🎬 课时3-增量导入,设置定时任务同步数据,实时采集用户行为数据.mp4
│ │ ├── 🎬 课时4-实时采集用户行为数据.mp4
│ │ ├── 🎬 课时5-实时采集用户行为数据二.mp4
│ │ ├── 🎬 课时6-实时采集用户行为数据三.mp4
│ │ ├── 🎬 课时7-数据迁移.mp4
│ │ ├── 🎬 课时8-构建节目画像.mp4
│ │ ├── 🎬 课时9-代码实现.mp4
│ │ ├── 🎬 课时10-代码实现二.mp4
│ │ └── 🎬 课时11-代码实现三.mp4
│ ├── 📁 章节21-基于TextRank算法+TF-IDF算法提取关键词
│ │ ├── 🎬 课时1-面试问题.mp4
│ │ ├── 🎬 课时2-基于节目信息来提取关键词和TextRank思想.mp4
│ │ ├── 🎬 课时3-怎么计算网站权重.mp4
│ │ ├── 🎬 课时4-TextRank.mp4
│ │ ├── 🎬 课时5-TextRank.mp4
│ │ ├── 🎬 课时6-Spark实现PageRank.mp4
│ │ ├── 🎬 课时7-Spark实现PageRank二.mp4
│ │ ├── 🎬 课时8-Spark实现PageRank三.mp4
│ │ ├── 🎬 课时9-TextRank算法和TF-IDF算法.mp4
│ │ ├── 🎬 课时10-TextRank算法和TF-IDF算法二.mp4
│ │ ├── 🎬 课时11-TextRank算法和TF-IDF算法三.mp4
│ │ └── 🎬 课时12-TextRank算法和TF-IDF算法四.mp4
│ ├── 📁 章节22-构建节目画像与用户画像
│ │ ├── 🎬 课时1-面试题.mp4
│ │ ├── 🎬 课时2-面试二.mp4
│ │ ├── 🎬 课时3-TF-IDF算法代码实现.mp4
│ │ ├── 🎬 课时4-TF-IDF算法代码实现二.mp4
│ │ ├── 🎬 课时5-推荐系统的表整理的流程解析.mp4
│ │ ├── 🎬 课时6-推荐系统的表整理的流程解析二.mp4
│ │ ├── 🎬 课时7-解决数据倾斜.mp4
│ │ ├── 🎬 课时8-解决数据倾斜二.mp4
│ │ ├── 🎬 课时9-这个扩容N倍是怎么定.mp4
│ │ └── 🎬 课时10-数据分析和问题答疑.mp4
│ ├── 📁 章节23-构建用户画像及性能调优
│ │ ├── 🎬 课时1-问题答疑.mp4
│ │ ├── 🎬 课时2-上节课知识梳理.mp4
│ │ ├── 🎬 课时3-上节课知识梳理二.mp4
│ │ ├── 🎬 课时4-上节课知识梳理三.mp4
│ │ ├── 🎬 课时5-问题答疑.mp4
│ │ ├── 🎬 课时6-本地化,大数据计算原则.mp4
│ │ ├── 🎬 课时7-本地化,大数据计算原则二.mp4
│ │ ├── 🎬 课时8-本地化调优.mp4
│ │ ├── 🎬 课时9-配置.mp4
│ │ ├── 🎬 课时10-三种配置解读.mp4
│ │ ├── 🎬 课时11-解决数据倾斜的几种方式.mp4
│ │ ├── 🎬 课时12-问题一.mp4
│ │ ├── 🎬 课时13-怎么判定task是拖后腿的task.mp4
│ │ └── 🎬 课时14-压测.mp4
│ ├── 📁 章节24-基于节目画像计算节目的相似度
│ │ ├── 🎬 课时1-课前聊天.mp4
│ │ ├── 🎬 课时2-构建用户画像.mp4
│ │ ├── 🎬 课时3-计算本地化调优和持久化的算子.mp4
│ │ ├── 🎬 课时4-本地化调优实操.mp4
│ │ ├── 🎬 课时5-Spark调优:代码优化.mp4
│ │ ├── 🎬 课时6-Spark调优:代码优化二.mp4
│ │ ├── 🎬 课时7-combineBykey原理.mp4
│ │ ├── 🎬 课时8-combineBykey原理二.mp4
│ │ ├── 🎬 课时9-combineByKey实现recueByKey.mp4
│ │ ├── 🎬 课时10-WEB UI中通过Application查看storage就能看到有多少数据.mp4
│ │ ├── 🎬 课时11-WEB UI中通过Application查看storage就能看到有多少数据二.mp4
│ │ ├── 🎬 课时12-LJW问题.mp4
│ │ ├── 🎬 课时13-Spark调优:并行度调优.mp4
│ │ ├── 🎬 课时14-Spark调优:并行度调优二.mp4
│ │ └── 🎬 课时15-Spark调优:并行度调优三.mp4
│ ├── 📁 章节25-Spark调优总结及word2vec算法原理
│ │ ├── 🎬 课时1-提问学生问题.mp4
│ │ ├── 🎬 课时2-如何让你的Application飞起?.mp4
│ │ ├── 🎬 课时3-梳理.mp4
│ │ ├── 🎬 课时4-内容召回(节目之间的相似度).mp4
│ │ ├── 🎬 课时5-每个节目向量化.mp4
│ │ ├── 🎬 课时6-语言模型.mp4
│ │ ├── 🎬 课时7-算法思想1.mp4
│ │ ├── 🎬 课时8-算法思想2.mp4
│ │ ├── 🎬 课时9-文章向量化1.mp4
│ │ ├── 🎬 课时10-文章向量化2.mp4
│ │ ├── 🎬 课时11-解决学生问题.mp4
│ │ └── 🎬 课时12-查看一段代码.mp4
│ ├── 📁 章节26-基于物品画像计算相似度
│ │ ├── 🎬 课时1-上节课回顾:内容召回策略.mp4
│ │ ├── 🎬 课时2-内容召回策略二.mp4
│ │ ├── 🎬 课时3-内容召回策略的代码实现.mp4
│ │ ├── 🎬 课时4-内容召回策略三.mp4
│ │ ├── 🎬 课时5-内容召回策略四.mp4
│ │ ├── 🎬 课时6-计算节目内容的相识度的几种方式.mp4
│ │ ├── 🎬 课时7-minHash算法思路.mp4
│ │ ├── 🎬 课时8-LSH局部敏感哈希.mp4
│ │ ├── 🎬 课时9-局部敏感哈希:N越大越好吗.mp4
│ │ ├── 🎬 课时10-LSH计算相似性的代码实现.mp4
│ │ ├── 🎬 课时11-问题.mp4
│ │ ├── 🎬 课时12-LSH计算相似性的代码实现一.mp4
│ │ └── 🎬 课时13-LSH计算相似性的代码实现二.mp4
│ ├── 📁 章节27-实现基于模型的召回策略
│ │ ├── 🎬 课时1-上节课回顾.mp4
│ │ ├── 🎬 课时2-内容召回的代码.mp4
│ │ ├── 🎬 课时3-内容召回的流程.mp4
│ │ ├── 🎬 课时4-热门召回策略.mp4
│ │ ├── 🎬 课时5-热门召回策略二.mp4
│ │ ├── 🎬 课时6-热门召回策略三.mp4
│ │ ├── 🎬 课时7-模型召回策略:隐语义模型.mp4
│ │ ├── 🎬 课时8-模型召回策略:隐语义模型二.mp4
│ │ ├── 🎬 课时9-这两个低纬矩阵怎么求解.mp4
│ │ ├── 🎬 课时10-优化损失函数方法.mp4
│ │ ├── 🎬 课时11-LFM模型.mp4
│ │ └── 🎬 课时12-LFM模型二.mp4
│ ├── 📁 章节28-构建特征中心及模型召回实现
│ │ ├── 🎬 课时1-上节课回顾.mp4
│ │ ├── 🎬 课时2-召回策略代码实现.mp4
│ │ ├── 🎬 课时3-架构之召回策略.mp4
│ │ ├── 🎬 课时4-表需求设计.mp4
│ │ ├── 🎬 课时5-表需求设计二.mp4
│ │ ├── 🎬 课时6-RDD.mp4
│ │ ├── 🎬 课时7-表需求设计三.mp4
│ │ ├── 🎬 课时8-代码实现.mp4
│ │ ├── 🎬 课时9-代码实现二.mp4
│ │ ├── 🎬 课时10-代码实现三.mp4
│ │ ├── 🎬 课时11-问题答疑.mp4
│ │ └── 🎬 课时12-基线桶,实验桶.mp4
│ ├── 📁 章节29-训练排序模型及搭建推荐系统微服务
│ │ ├── 🎬 课时1-训练集包含哪些内容.mp4
│ │ ├── 🎬 课时2-基于用户ID找用户画像.mp4
│ │ ├── 🎬 课时3-为什么要把训练集存入HBase1.mp4
│ │ ├── 🎬 课时4-为什么要把训练集存入HBase代码实现.mp4
│ │ ├── 🎬 课时5-为什么要把训练集存入HBase2.mp4
│ │ ├── 🎬 课时6-在线推荐部分.mp4
│ │ ├── 🎬 课时7-特征索引1.mp4
│ │ ├── 🎬 课时8-为什么要把训练集存入HBase3.mp4
│ │ ├── 🎬 课时9-provider端代码1.mp4
│ │ ├── 🎬 课时10-答疑.mp4
│ │ ├── 🎬 课时11-provider端代码2.mp4
│ │ ├── 🎬 课时12-消费端代码.mp4
│ │ ├── 🎬 课时13-分类模型的评估指标.mp4
│ │ ├── 🎬 课时14-P、N、T、F分别是什么意思1.mp4
│ │ ├── 🎬 课时15-P、N、T、F分别是什么意思2.mp4
│ │ ├── 🎬 课时16-例题.mp4
│ │ ├── 🎬 课时17-正确率、准确率中文解释.mp4
│ │ ├── 🎬 课时18-分类阈值.mp4
│ │ └── 🎬 课时19-召回率.mp4
│ └── 📁 章节30-推荐系统项目-大总结
│ ├── 🎬 课时1-推荐系统总结.mp4
│ ├── 🎬 课时2-数据融合模块.mp4
│ ├── 🎬 课时3-构建画像_物品画像.mp4
│ ├── 🎬 课时4-构建画像_用户画像.mp4
│ ├── 🎬 课时5-召回策略_内容召回.mp4
│ ├── 🎬 课时6-召回策略_形容召回.mp4
│ ├── 🎬 课时7-召回策略_热门召回.mp4
│ ├── 🎬 课时8-召回策略_实时召回.mp4
│ ├── 🎬 课时9-使用多路召回的原因.mp4
│ ├── 🎬 课时10-排序模型.mp4
│ ├── 🎬 课时11-微服务.mp4
│ ├── 🎬 课时12-AB Test.mp4
│ ├── 🎬 课时13-Spark调优_代码调优.mp4
│ ├── 🎬 课时14-Spark调优_数据倾斜的解决方案.mp4
│ ├── 🎬 课时15-Spark调优_资源调优 (1).mp4
│ └── 🎬 课时16-Spark调优_资源调优 (2).mp4
├── 📁 51.基于Kappa架构的Flink实时数仓综合项目-194
│ ├── 📁 章节1-实时数仓项目-实时数仓架构演变及建设思路
│ │ ├── 🎬 课时1-离线数仓架构演变.mp4
│ │ ├── 🎬 课时2-传统离线大数据架构.mp4
│ │ ├── 🎬 课时3-Lambda架构.mp4
│ │ ├── 🎬 课时4-离线数据+实时处理链路(传统实时开发).mp4
│ │ ├── 🎬 课时5-Kappa架构.mp4
│ │ ├── 🎬 课时6-总结与混合架构.mp4
│ │ ├── 🎬 课时7-混合架构.mp4
│ │ ├── 🎬 课时8-离线数仓与实时数仓区别.mp4
│ │ ├── 🎬 课时9-实时数仓建设思路.mp4
│ │ ├── 🎬 课时10-实时数仓发展趋势.mp4
│ │ ├── 🎬 课时11-腾讯实时数仓实践介绍.mp4
│ │ └── 🎬 课时12-各大公司实时数仓实践简单介绍及回答问题.mp4
│ ├── 📁 章节2-实时数仓项目-各大公司实时数仓实践分享及项目介绍
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-网易实时数仓实践.mp4
│ │ ├── 🎬 课时3-汽车之家实时数仓实践.mp4
│ │ ├── 🎬 课时4-顺丰实时数仓实践.mp4
│ │ ├── 🎬 课时5-腾讯实时数仓实践.mp4
│ │ ├── 🎬 课时6-滴滴实时数仓实践.mp4
│ │ ├── 🎬 课时7-实时数仓项目介绍.mp4
│ │ ├── 🎬 课时8-实时数仓项目架构及分层.mp4
│ │ ├── 🎬 课时9-回答问题(1).mp4
│ │ ├── 🎬 课时10-回答问题(2).mp4
│ │ ├── 🎬 课时11-数据介绍.mp4
│ │ ├── 🎬 课时12-安装Maxwell.mp4
│ │ ├── 🎬 课时13-分享故事.mp4
│ │ ├── 🎬 课时14-启动Maxwell.mp4
│ │ ├── 🎬 课时15-回答问题.mp4
│ │ └── 🎬 课时16-日志采集接口及回答问题.mp4
│ ├── 📁 章节3-实时数仓项目-实时数仓项目业务数据及日志数据处理
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-回顾实时数仓分层.mp4
│ │ ├── 🎬 课时3-用户日志数据来源(1).mp4
│ │ ├── 🎬 课时4-用户日志数据来源(2).mp4
│ │ ├── 🎬 课时5-用户日志数据来源(3).mp4
│ │ ├── 🎬 课时6-用户日志数据来源(4).mp4
│ │ ├── 🎬 课时7-通过Flink把用户日志数据转到DWD.mp4
│ │ ├── 🎬 课时8-总结.mp4
│ │ ├── 🎬 课时9-清洗数据到DWD层.mp4
│ │ ├── 🎬 课时10-清洗不同数据到不同DWD层.mp4
│ │ ├── 🎬 课时11-将结果写入DWD层.mp4
│ │ ├── 🎬 课时12-回答问题及FlinkKafaProducer解释.mp4
│ │ ├── 🎬 课时13-另种思路完成功能.mp4
│ │ ├── 🎬 课时14-再次讲解刚才内容.mp4
│ │ └── 🎬 课时15-之后代码的思路.mp4
│ ├── 📁 章节4-实时数仓项目-实时数仓业务库数据Flink编程处理
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-业务所有表数据如何处理.mp4
│ │ ├── 🎬 课时3-编写Flink代码清洗Kafka数据到DWD层(1).mp4
│ │ ├── 🎬 课时4-编写Flink代码清洗Kafka数据到DWD层.mp4
│ │ ├── 🎬 课时5-编写Flink代码清洗Kafka数据到DWD层(3).mp4
│ │ ├── 🎬 课时6-编写Flink代码清洗Kafka数据到DWD层(4).mp4
│ │ ├── 🎬 课时7-编写Flink代码清洗Kafka数据到DWD层(5).mp4
│ │ ├── 🎬 课时8-编写Flink代码清洗Kafka数据到DWD层(6).mp4
│ │ ├── 🎬 课时9-清洗DWD维度数据存入HBase(1).mp4
│ │ ├── 🎬 课时10-清洗DWD维度数据存入HBase(2).mp4
│ │ └── 🎬 课时11-清洗DWD维度数据存入HBase(3).mp4
│ ├── 📁 章节5-实时数仓项目-实时数仓维度数据Flink编程处理
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-清洗DWD维度数据存入HBase-启动Hbase.mp4
│ │ ├── 🎬 课时3-清洗DWD维度数据存入HBase-业务代码.mp4
│ │ ├── 🎬 课时4-清洗DWD维度数据存入HBase.mp4
│ │ ├── 🎬 课时5-清洗DWD维度数据存入HBase-设置状态.mp4
│ │ ├── 🎬 课时6-清洗DWD维度数据存入HBase-向表中插入数据.mp4
│ │ ├── 🎬 课时7-清洗DWD维度数据存入HBase-获取主键对应值.mp4
│ │ ├── 🎬 课时8-清洗DWD维度数据存入HBase-判断数据应该写到哪个topic.mp4
│ │ ├── 🎬 课时9-清洗DWD维度数据存入HBase-演示.mp4
│ │ ├── 🎬 课时10-清洗DWD维度数据存入HBase-修改代码.mp4
│ │ ├── 🎬 课时11-清洗DWD维度数据存入HBase-测试其他维度.mp4
│ │ ├── 🎬 课时12-DWS歌曲点播信息业务宽表组织(1).mp4
│ │ ├── 🎬 课时13-DWS歌曲点播信息业务宽表组织(2).mp4
│ │ └── 🎬 课时14-DWS歌曲点播信息业务宽表组织(3).mp4
│ ├── 📁 章节6-实时数仓项目-实时数仓实时统计歌曲和歌手热度
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-DM 歌曲歌手实时热度统计-解读数据.mp4
│ │ ├── 🎬 课时3-回答问题.mp4
│ │ ├── 🎬 课时4-DM 歌曲歌手实时热度统计-转到DWSkafka.mp4
│ │ ├── 🎬 课时5-在实时业务中使用Redis做缓存(1).mp4
│ │ ├── 🎬 课时6-在实时业务中使用Redis做缓存(2).mp4
│ │ ├── 🎬 课时7-歌曲歌手实时热度统计-redis查询,获取.mp4
│ │ ├── 🎬 课时8-歌曲歌手实时热度统计redis删除,更新.mp4
│ │ ├── 🎬 课时9-歌曲歌手实时热度统计-使用flink处理ck.mp4
│ │ └── 🎬 课时10-歌曲歌手实时热度统计-统计.mp4
│ ├── 📁 章节7-实时数仓项目-Flink代码DM层处理及可视化展示
│ │ ├── 🎬 课时1-回顾与今日内容.mp4
│ │ ├── 🎬 课时2-重温上节课完成的部分.mp4
│ │ ├── 🎬 课时3-歌曲歌手实时热度统计-处理dws数据.mp4
│ │ ├── 🎬 课时4-歌曲歌手实时热度统计-写入到clickhouse中.mp4
│ │ ├── 🎬 课时5-歌曲歌手实时热度统计-SummingMergeTree.mp4
│ │ ├── 🎬 课时6-补充流程图.mp4
│ │ ├── 🎬 课时7-可视化工具腾讯云图介绍.mp4
│ │ ├── 🎬 课时8-歌曲歌手实时热度统计-日志.mp4
│ │ ├── 🎬 课时9-回答问题.mp4
│ │ ├── 🎬 课时10-讲解SpringBoot数据服务接口.mp4
│ │ ├── 🎬 课时11-网云穿介绍.mp4
│ │ ├── 🎬 课时12-创建“轮播表格”并配置数据(1).mp4
│ │ └── 🎬 课时13-创建“轮播表格”并配置数据(2).mp4
│ ├── 📁 章节8-实时数仓项目-guava包冲突解决及用户上报位置实时统计
│ │ ├── 🎬 课时1-解决Guava包冲突问题(1).mp4
│ │ ├── 🎬 课时2-解决Guava包冲突问题(2).mp4
│ │ ├── 🎬 课时3-实时地区用户登录数统计-需求分析.mp4
│ │ ├── 🎬 课时4-实时地区用户登录数统计-分层设计.mp4
│ │ ├── 🎬 课时5-业务实现步骤-启动Maxwell.mp4
│ │ ├── 🎬 课时6-业务实现步骤-打包上传日志采集接口并启动.mp4
│ │ ├── 🎬 课时7-业务实现步骤.mp4
│ │ ├── 🎬 课时8-业务实现步骤-编写Flink代码清洗Kafka数据到DWD层(1).mp4
│ │ ├── 🎬 课时9-业务实现步骤-DWD层处理得到DWS层(2).mp4
│ │ ├── 🎬 课时10-业务实现步骤-DWD层处理得到DWS层(3).mp4
│ │ ├── 🎬 课时11-业务实现步骤-DWS层处理得到DM层.mp4
│ │ ├── 🎬 课时12-业务实现步骤-DWS层处理得到DM层-数据写到ClickHouse中.mp4
│ │ ├── 🎬 课时13-业务实现步骤-DWS层处理得到DM层-运行.mp4
│ │ └── 🎬 课时14-业务实现步骤-DWS层处理得到DM层-换个方法.mp4
│ ├── 📁 章节9-实时数仓项目-用户实时登录信息可视化及营收信息业务分析
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-配置腾讯云图可视化.mp4
│ │ ├── 🎬 课时3-编写SpringBoot数据服务接口.mp4
│ │ ├── 🎬 课时4-登录腾讯云图,配置可视化.mp4
│ │ ├── 🎬 课时5-统计每日实时营收-需求分析.mp4
│ │ ├── 🎬 课时6-分层设计.mp4
│ │ ├── 🎬 课时7-业务实现步骤-配置表.mp4
│ │ ├── 🎬 课时8-业务实现步骤-流程.mp4
│ │ ├── 🎬 课时9-业务实现步骤-处理db的业务数据.mp4
│ │ ├── 🎬 课时10-业务实现步骤-维度数据.mp4
│ │ ├── 🎬 课时11-业务实现步骤-维度数据转到Hbase.mp4
│ │ ├── 🎬 课时12-业务实现步骤-使用Redis缓存.mp4
│ │ ├── 🎬 课时13-业务实现步骤-验证.mp4
│ │ └── 🎬 课时14-总结.mp4
│ ├── 📁 章节10-实时数仓项目-营收业务Flink代码实现及可视化展示
│ │ ├── 🎬 课时1-回顾.mp4
│ │ ├── 🎬 课时2-查看数据.mp4
│ │ ├── 🎬 课时3-读取DWD层数据.mp4
│ │ ├── 🎬 课时4-关联dim层数据将数据拉宽.mp4
│ │ ├── 🎬 课时5-获取当前mid的位置信息.mp4
│ │ ├── 🎬 课时6-向Redis中写缓存.mp4
│ │ ├── 🎬 课时7-解析Redis中的数据获取机器位置.mp4
│ │ ├── 🎬 课时8-获取四方分成比例.mp4
│ │ ├── 🎬 课时9-代码中的问题及运行.mp4
│ │ ├── 🎬 课时10-读取DWS 宽表数据将结果写入DM clickhousr中.mp4
│ │ ├── 🎬 课时11-处理宽面数据将结果写入CliclHousr1.mp4
│ │ ├── 🎬 课时12-处理宽面数据将结果写入CliclHousr2.mp4
│ │ └── 🎬 课时13-整理启动各个数据类.mp4
│ └── 📁 章节11-实时数仓项目-实时数仓项目总结
│ ├── 🎬 课时1-课堂概括.mp4
│ ├── 🎬 课时2-回顾项目实施的营收情况(1).mp4
│ ├── 🎬 课时3-回顾项目实施的营收情况(2).mp4
│ ├── 🎬 课时4-回顾项目实施的营收情况(3).mp4
│ ├── 🎬 课时5-章节总结大览.mp4
│ ├── 🎬 课时6-底层技术.mp4
│ ├── 🎬 课时7-数据采集技术.mp4
│ ├── 🎬 课时8-数据中间件技术.mp4
│ ├── 🎬 课时9-数据存储技术.mp4
│ ├── 🎬 课时10-数据处理技术.mp4
│ ├── 🎬 课时11-OLAP数据分析技术.mp4
│ ├── 🎬 课时12-架构设计.mp4
│ ├── 🎬 课时13-集群管理.mp4
│ ├── 🎬 课时14-数据挖掘.mp4
│ └── 🎬 课时15-总结.mp4
├── 📁 52.前端技术之3Ajax-864
│ └── 📁 章节1-Ajax
│ ├── 🎬 课时1-同步和异步交互概念引入.mp4
│ ├── 🎬 课时2-异步验证用户名占用问题.mp4
│ ├── 🎬 课时3-认识JSON格式.mp4
│ ├── 🎬 课时4-JSON格式传递数据.mp4
│ ├── 🎬 课时5-jQuery实现异步校验用户名.mp4
│ ├── 🎬 课时6-前后端数据格式处理.mp4
│ ├── 🎬 课时7-ajax方法属性介绍.mp4
│ ├── 🎬 课时8-load方法使用(了解).mp4
│ ├── 🎬 课时9-get.getJson和post方法的使用.mp4
│ ├── 🎬 课时10-什么是AJAX跨域.mp4
│ ├── 🎬 课时11-跨域的原理.mp4
│ ├── 🎬 课时12-JSONP实现跨域.mp4
│ ├── 🎬 课时13-getJSON简化跨域请求.mp4
│ ├── 🎬 课时14-三级联动项目搭建.mp4
│ ├── 🎬 课时15-三级联动显示所有省份.mp4
│ └── 🎬 课时16-三级联动完成.mp4
├── 📁 53.前端技术之CSS-857
│ ├── 📁 章节1-CSS的引入
│ │ └── 🎬 课时1-CSS的引入.mp4
│ ├── 📁 章节2-CSS的三种书写方式
│ │ └── 🎬 课时1-CSS的三种书写方式.mp4
│ ├── 📁 章节3-明白学习CSS的重点
│ │ └── 🎬 课时1-明白学习CSS的重点.mp4
│ ├── 📁 章节4-选择器_基本选择器
│ │ └── 🎬 课时1-选择器_基本选择器.mp4
│ ├── 📁 章节5-选择器_关系选择器
│ │ └── 🎬 课时1-选择器_关系选择器.mp4
│ ├── 📁 章节6-选择器_属性选择器
│ │ └── 🎬 课时1-选择器_属性选择器.mp4
│ ├── 📁 章节7-选择器_伪类选择器
│ │ └── 🎬 课时1-选择器_伪类选择器.mp4
│ ├── 📁 章节8-练习:百度导航栏
│ │ └── 🎬 课时1-练习:百度导航栏.mp4
│ ├── 📁 章节9-浮动的原理
│ │ └── 🎬 课时1-浮动的原理.mp4
│ ├── 📁 章节10-消除浮动影响
│ │ └── 🎬 课时1-消除浮动影响.mp4
│ ├── 📁 章节11-定位_静态定位_相对定位
│ │ └── 🎬 课时1-定位_静态定位_相对定位.mp4
│ ├── 📁 章节12-定位_绝对定位
│ │ └── 🎬 课时1-定位_绝对定位.mp4
│ ├── 📁 章节13-定位_固定定位
│ │ └── 🎬 课时1-定位_固定定位.mp4
│ ├── 📁 章节14-盒子模型引入
│ │ └── 🎬 课时1-盒子模型引入.mp4
│ ├── 📁 章节15-盒子模型代码演示
│ │ └── 🎬 课时1-盒子模型代码演示.mp4
│ └── 📁 章节16-盒子模型练习题
│ └── 🎬 课时1-盒子模型练习题.mp4
├── 📁 54.前端技术之HTML-177
│ ├── 📁 章节1-笔记如何打开
│ │ └── 🎬 课时1-笔记如何打开.mp4
│ ├── 📁 章节2-HTML和CSS的引入
│ │ └── 🎬 课时1-HTML和CSS的引入.mp4
│ ├── 📁 章节3-网络传输三大基石
│ │ └── 🎬 课时1-网络传输三大基石.mp4
│ ├── 📁 章节4-什么是HTML
│ │ └── 🎬 课时1-什么是HTML.mp4
│ ├── 📁 章节5-HTML的标准结构
│ │ └── 🎬 课时1-HTML的标准结构.mp4
│ ├── 📁 章节6-HBuilder的使用
│ │ └── 🎬 课时1-HBuilder的使用.mp4
│ ├── 📁 章节7-html_head_body标签
│ │ └── 🎬 课时1-html_head_body标签.mp4
│ ├── 📁 章节8-head中可用标签
│ │ └── 🎬 课时1-head中可用标签.mp4
│ ├── 📁 章节9-文本标签
│ │ └── 🎬 课时1-文本标签.mp4
│ ├── 📁 章节10-多媒体标签
│ │ └── 🎬 课时1-多媒体标签.mp4
│ ├── 📁 章节11-超链接标签
│ │ └── 🎬 课时1-超链接标签.mp4
│ ├── 📁 章节12-超链接设置锚点
│ │ └── 🎬 课时1-超链接设置锚点.mp4
│ ├── 📁 章节13-列表标签
│ │ └── 🎬 课时1-列表标签.mp4
│ ├── 📁 章节14-表格标签
│ │ └── 🎬 课时1-表格标签.mp4
│ ├── 📁 章节15-内嵌框架
│ │ └── 🎬 课时1-内嵌框架.mp4
│ ├── 📁 章节16-内嵌框架练习(1)
│ │ └── 🎬 课时1-内嵌框架练习(1).mp4
│ ├── 📁 章节17-内嵌框架练习(2)
│ │ └── 🎬 课时1-内嵌框架练习(2).mp4
│ ├── 📁 章节18-框架集合
│ │ └── 🎬 课时1-框架集合.mp4
│ ├── 📁 章节19-form表单的作用
│ │ └── 🎬 课时1-form表单的作用.mp4
│ ├── 📁 章节20-form表单细节
│ │ └── 🎬 课时1-form表单细节.mp4
│ ├── 📁 章节21-form表单练习_模拟百度搜索
│ │ └── 🎬 课时1-form表单练习_模拟百度搜索.mp4
│ ├── 📁 章节22-表单元素(1)
│ │ └── 🎬 课时1-表单元素(1).mp4
│ ├── 📁 章节23-表单元素(2)
│ │ └── 🎬 课时1-表单元素(2).mp4
│ ├── 📁 章节24-HTML新增type类型
│ │ └── 🎬 课时1-HTML新增type类型.mp4
│ └── 📁 章节25-HTML新增属性
│ └── 🎬 课时1-HTML新增属性.mp4
├── 📁 55.前端技术之JQuery-69
│ ├── 📁 章节1-认识jQuery
│ │ └── 🎬 课时1-认识jQuery.mp4
│ ├── 📁 章节2-页面加载函数
│ │ └── 🎬 课时1-页面加载函数.mp4
│ ├── 📁 章节3-jQuery选择器的引入
│ │ └── 🎬 课时1-jQuery选择器的引入.mp4
│ ├── 📁 章节4-基本选择器
│ │ └── 🎬 课时1-基本选择器.mp4
│ ├── 📁 章节5-属性选择器
│ │ └── 🎬 课时1-属性选择器.mp4
│ ├── 📁 章节6-位置选择器
│ │ └── 🎬 课时1-位置选择器.mp4
│ ├── 📁 章节7-表单选择器
│ │ └── 🎬 课时1-表单选择器.mp4
│ ├── 📁 章节8-操作元素属性
│ │ └── 🎬 课时1-操作元素属性.mp4
│ ├── 📁 章节9-操作样式
│ │ └── 🎬 课时1-操作样式.mp4
│ ├── 📁 章节10-操作文本
│ │ └── 🎬 课时1-操作文本.mp4
│ ├── 📁 章节11-增删元素
│ │ └── 🎬 课时1-增删元素.mp4
│ ├── 📁 章节12-事件处理
│ │ └── 🎬 课时1-事件处理.mp4
│ ├── 📁 章节13-jQuery对象和DOM对象的转换
│ │ └── 🎬 课时1-jQuery对象和DOM对象的转换.mp4
│ ├── 📁 章节14-jQuery迭代方式
│ │ └── 🎬 课时1-jQuery迭代方式.mp4
│ ├── 📁 章节15-动画效果
│ │ └── 🎬 课时1-动画效果.mp4
│ ├── 📁 章节16-自定义动画
│ │ └── 🎬 课时1-自定义动画.mp4
│ ├── 📁 章节17-表单校验A
│ │ └── 🎬 课时1-表单校验A.mp4
│ ├── 📁 章节18-表单校验B
│ │ └── 🎬 课时1-表单校验B.mp4
│ ├── 📁 章节19-正则表达式的引入
│ │ └── 🎬 课时1-正则表达式的引入.mp4
│ ├── 📁 章节20-正则优化表单校验
│ │ └── 🎬 课时1-正则优化表单校验.mp4
│ ├── 📁 章节21-Bootstrap介绍
│ │ └── 🎬 课时1-Bootstrap介绍.mp4
│ ├── 📁 章节22-Bootstrap搭建
│ │ └── 🎬 课时1-Bootstrap搭建.mp4
│ ├── 📁 章节23-固定容器和流容器
│ │ └── 🎬 课时1-固定容器和流容器.mp4
│ ├── 📁 章节24-栅格系统
│ │ └── 🎬 课时1-栅格系统.mp4
│ ├── 📁 章节25-案例开发之导航
│ │ └── 🎬 课时1-案例开发之导航.mp4
│ └── 📁 章节26-案例开之轮播图
│ └── 🎬 课时1-案例开之轮播图.mp4
├── 📁 56.前端技术之JS-79
│ ├── 📁 章节1-为什么学习JS
│ │ └── 🎬 课时1-为什么学习JS.mp4
│ ├── 📁 章节2-JS的学习内容
│ │ └── 🎬 课时1-JS的学习内容.mp4
│ ├── 📁 章节3-JS的特点
│ │ └── 🎬 课时1-JS的特点.mp4
│ ├── 📁 章节4-JS的引入方式1
│ │ └── 🎬 课时1-JS的引入方式1.mp4
│ ├── 📁 章节5-JS的引入方式2
│ │ └── 🎬 课时1-JS的引入方式2.mp4
│ ├── 📁 章节6-JS中的数据类型
│ │ └── 🎬 课时1-JS中的数据类型.mp4
│ ├── 📁 章节7-JS中的运算符
│ │ └── 🎬 课时1-JS中的运算符.mp4
│ ├── 📁 章节8-JS流程控制
│ │ └── 🎬 课时1-JS流程控制.mp4
│ ├── 📁 章节9-JS流程控制小练习
│ │ └── 🎬 课时1-JS流程控制小练习.mp4
│ ├── 📁 章节10-JS函数的声明
│ │ └── 🎬 课时1-JS函数的声明.mp4
│ ├── 📁 章节11-JS函数参数和返回值
│ │ └── 🎬 课时1-JS函数参数和返回值.mp4
│ ├── 📁 章节12-数组的创建
│ │ └── 🎬 课时1-数组的创建.mp4
│ ├── 📁 章节13-数组的元素和长度
│ │ └── 🎬 课时1-数组的元素和长度.mp4
│ ├── 📁 章节14-数组的遍历
│ │ └── 🎬 课时1-数组的遍历.mp4
│ ├── 📁 章节15-数组的常用方法
│ │ └── 🎬 课时1-数组的常用方法.mp4
│ ├── 📁 章节16-数组的排序问题
│ │ └── 🎬 课时1-数组的排序问题.mp4
│ ├── 📁 章节17-String常用方法
│ │ └── 🎬 课时1-String常用方法.mp4
│ ├── 📁 章节18-Number常用方法
│ │ └── 🎬 课时1-Number常用方法.mp4
│ ├── 📁 章节19-Math常用方法
│ │ └── 🎬 课时1-Math常用方法.mp4
│ ├── 📁 章节20-Date常用方法
│ │ └── 🎬 课时1-Date常用方法.mp4
│ ├── 📁 章节21-自定义对象三种方式
│ │ └── 🎬 课时1-自定义对象三种方式.mp4
│ ├── 📁 章节22-查看原型
│ │ └── 🎬 课时1-查看原型.mp4
│ ├── 📁 章节23-操作原型
│ │ └── 🎬 课时1-操作原型.mp4
│ ├── 📁 章节24-原型链
│ │ └── 🎬 课时1-原型链.mp4
│ ├── 📁 章节25-事件的绑定和触发
│ │ └── 🎬 课时1-事件的绑定和触发.mp4
│ ├── 📁 章节26-鼠标事件
│ │ └── 🎬 课时1-鼠标事件.mp4
│ ├── 📁 章节27-按键事件
│ │ └── 🎬 课时1-按键事件.mp4
│ ├── 📁 章节28-表单事件
│ │ └── 🎬 课时1-表单事件.mp4
│ ├── 📁 章节29-页面加载事件
│ │ └── 🎬 课时1-页面加载事件.mp4
│ ├── 📁 章节30-认识BOM和DOM
│ │ └── 🎬 课时1-认识BOM和DOM.mp4
│ ├── 📁 章节31-window对象三种弹窗方式
│ │ └── 🎬 课时1-window对象三种弹窗方式.mp4
│ ├── 📁 章节32-window对象定时器的使用
│ │ └── 🎬 课时1-window对象定时器的使用.mp4
│ ├── 📁 章节33-window对象的open和close方法
│ │ └── 🎬 课时1-window对象的open和close方法.mp4
│ ├── 📁 章节34-location对象
│ │ └── 🎬 课时1-location对象.mp4
│ ├── 📁 章节35-history对象
│ │ └── 🎬 课时1-history对象.mp4
│ ├── 📁 章节36-navigator和screen
│ │ └── 🎬 课时1-navigator和screen.mp4
│ ├── 📁 章节37-document对象
│ │ └── 🎬 课时1-document对象.mp4
│ ├── 📁 章节38-直接获取元素的方式
│ │ └── 🎬 课时1-直接获取元素的方式.mp4
│ ├── 📁 章节39-操作属性和样式
│ │ └── 🎬 课时1-操作属性和样式.mp4
│ ├── 📁 章节40-操作标签文本
│ │ └── 🎬 课时1-操作标签文本.mp4
│ ├── 📁 章节41-增加删除节点
│ │ └── 🎬 课时1-增加删除节点.mp4
│ ├── 📁 章节42-案例开发
│ │ └── 🎬 课时1-案例开发.mp4
│ └── 📁 章节43-echarts快速上手
│ └── 🎬 课时1-echarts快速上手.mp4
├── 📁 57.前端技术之Vue框架-146
│ ├── 📁 章节1-Vue第一季基础知识
│ │ ├── 🎬 课时1-Vue的基本介绍.mp4
│ │ ├── 🎬 课时2-Vue的基本使用.mp4
│ │ ├── 🎬 课时3-Vue的插值语法.mp4
│ │ ├── 🎬 课时4-Vue的常用指令-v-if和v-show.mp4
│ │ ├── 🎬 课时5-Vue的常用指令v-for的基本使用.mp4
│ │ ├── 🎬 课时6-Vue的常用指令-v-text和v-html.mp4
│ │ ├── 🎬 课时7-v-cloak指令.mp4
│ │ ├── 🎬 课时8-Vue的常用指令-v-once.mp4
│ │ ├── 🎬 课时9-Vue的指令-v-pre.mp4
│ │ ├── 🎬 课时10-Vue的指令-v-on.mp4
│ │ ├── 🎬 课时11-Vue的指令-v-bind.mp4
│ │ ├── 🎬 课时12-Vue的指令-v-model.mp4
│ │ ├── 🎬 课时13-Vue的案例-选项卡.mp4
│ │ ├── 🎬 课时14-Vue的案例-调色板.mp4
│ │ └── 🎬 课时15-Vue的案例-微博发布框.mp4
│ └── 📁 章节2-Vue第二季基础知识
│ ├── 🎬 课时1-修饰符-事件修饰符(上).mp4
│ ├── 🎬 课时2-修饰符-事件修饰符(下).mp4
│ ├── 🎬 课时3-修饰符-按键修饰符.mp4
│ ├── 🎬 课时4-修饰符-系统修饰符.mp4
│ ├── 🎬 课时5-修饰符-鼠标按键修饰符.mp4
│ ├── 🎬 课时6-修饰符-表单修饰符.mp4
│ ├── 🎬 课时7-vue-cli脚手架起步.mp4
│ ├── 🎬 课时8-Vue-cli目录结构介绍.mp4
│ ├── 🎬 课时9-理解npm执行cli文件过程.mp4
│ ├── 🎬 课时10-vue-cli起步文件的介绍.mp4
│ ├── 🎬 课时11-Vue的组件.mp4
│ ├── 🎬 课时12-Vue的父子组件传值.mp4
│ ├── 🎬 课时13-Vue父子组件传值-子修改父.mp4
│ └── 🎬 课时14-Vue组件传值案例-商城评论.mp4
├── 📁 58.数据湖技术Hudi-175
│ ├── 📁 章节1-Hudi表类型与查询类型
│ │ ├── 🎬 课时1-什么是数据湖(1).mp4
│ │ ├── 🎬 课时2-什么是数据湖(2).mp4
│ │ ├── 🎬 课时3-什么是Hudi.mp4
│ │ ├── 🎬 课时4-Hudi概念术语.mp4
│ │ ├── 🎬 课时5-Timeline.mp4
│ │ ├── 🎬 课时6-文件格式及索引.mp4
│ │ ├── 🎬 课时7-表类型.mp4
│ │ ├── 🎬 课时8-Copy On Write - COW.mp4
│ │ ├── 🎬 课时9-Merge On Read - MOR.mp4
│ │ ├── 🎬 课时10-COW&MOR对比.mp4
│ │ ├── 🎬 课时11-查询类型-Snapshot Query.mp4
│ │ ├── 🎬 课时12-查询类型-Incremantal Query.mp4
│ │ ├── 🎬 课时13-查询类型-Read Optimized Query.mp4
│ │ ├── 🎬 课时14-向Hudi插入数据(1).mp4
│ │ ├── 🎬 课时15-向Hudi插入数据(2).mp4
│ │ ├── 🎬 课时16-向Hudi插入数据(3).mp4
│ │ ├── 🎬 课时17-回答问题.mp4
│ │ ├── 🎬 课时18-指定分区向hudi中插入数据(1).mp4
│ │ ├── 🎬 课时19-读取Hudi数据.mp4
│ │ └── 🎬 课时20-0更新Hudi数据.mp4
│ └── 📁 章节2-Hudi与Spark、Hive、Flink集成
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-查询类型.mp4
│ ├── 🎬 课时3-删除Hudi数据.mp4
│ ├── 🎬 课时4-高效更新Hudi数据.mp4
│ ├── 🎬 课时5-测试COW模式parquet文件删除与MOR模式Parquet文件与log文件Compact.mp4
│ ├── 🎬 课时6-扩展.mp4
│ ├── 🎬 课时7-俩张表.mp4
│ ├── 🎬 课时8-Hudi与Hive集成(1).mp4
│ ├── 🎬 课时9-Hudi与Hive集成(2).mp4
│ ├── 🎬 课时10-Hudi与Hive集成(3).mp4
│ ├── 🎬 课时11-解决学生问题1.mp4
│ ├── 🎬 课时12-一些问题.mp4
│ ├── 🎬 课时13-解决问题.mp4
│ └── 🎬 课时14-解决学生问题2.mp4
├── 📁 59.数据湖技术Iceberg-760
│ ├── 📁 章节1-数据湖Iceberg概念及特点
│ │ ├── 🎬 课时1-01-大数据中为什么需要数据湖技术.mp4
│ │ ├── 🎬 课时2-02-Iceberg概念及特点.mp4
│ │ ├── 🎬 课时3-03-数据湖及Iceberg概念内容总结.mp4
│ │ ├── 🎬 课时4-04-Iceberg术语与表格式解释.mp4
│ │ ├── 🎬 课时5-05-Iceberg特点详述.mp4
│ │ └── 🎬 课时6-06-Iceberg支持数据类型.mp4
│ ├── 📁 章节2-数据湖Iceberg与Hive整合
│ │ ├── 🎬 课时1-07-Hive与Iceberg整合版本与配置.mp4
│ │ ├── 🎬 课时2-08-Hive操作Iceberg格式表.mp4
│ │ ├── 🎬 课时3-09-Hive操作Iceberg格式表总结.mp4
│ │ ├── 🎬 课时4-10-Iceberg表数据组织与查询原理.mp4
│ │ └── 🎬 课时5-11-Iceberg表数据组织与查询案例操作.mp4
│ ├── 📁 章节3-数据湖Iceberg与Spark整合
│ │ ├── 🎬 课时1-12-Spark与Iceberg整合导入依赖及设置Catalog.mp4
│ │ ├── 🎬 课时2-13-Spark使用HiveCatalog管理Iceberg表.mp4
│ │ ├── 🎬 课时3-14-Spark使用HadoopCatalog管理Iceberg表.mp4
│ │ ├── 🎬 课时4-15-Spark与Iceberg DDL之创建分区表及隐藏转换分区.mp4
│ │ ├── 🎬 课时5-16-Spark与Iceberg DDL之CREATE TABLE ... AS SELECT ...创建表.mp4
│ │ ├── 🎬 课时6-17-Spark与Iceberg DDL之REPLACE TABLE ...AS SELECT ...重建表与Drop删除表.mp4
│ │ ├── 🎬 课时7-18-Spark与Iceberg DDL之ALTER 增加、删除、重命名列.mp4
│ │ ├── 🎬 课时8-19-Spark与Iceberg DDL之ALTER 增加、删除分区.mp4
│ │ ├── 🎬 课时9-20-Spark与Iceberg整合查询操作之DataFrame读取Iceberg表.mp4
│ │ ├── 🎬 课时10-21-Spark与Iceberg整合查询操作之查询表快照信息.mp4
│ │ ├── 🎬 课时11-22-Spark与Iceberg整合查询操作之查询表历史、Datafile、Manifest信息.mp4
│ │ ├── 🎬 课时12-23-Spark与Iceberg整合查询操作之查询指定快照数据.mp4
│ │ ├── 🎬 课时13-24-Spark与Iceberg整合查询操作之根据时间戳查询数据.mp4
│ │ ├── 🎬 课时14-25-Spark与Iceberg整合查询操作之回滚快照.mp4
│ │ ├── 🎬 课时15-26-Spark与Iceberg整合查询操作之合并Iceberg数据文件.mp4
│ │ ├── 🎬 课时16-27-Spark与Iceberg整合查询操作之删除历史快照.mp4
│ │ ├── 🎬 课时17-28-Spark与Iceberg整合写操作之INSERT INTO & MERGE INTO 操作.mp4
│ │ ├── 🎬 课时18-29-Spark与Iceberg整合写操作之INSERT OVERWRITE操作.mp4
│ │ ├── 🎬 课时19-30-Spark与Iceberg整合写操作之DELETE FROM 操作.mp4
│ │ ├── 🎬 课时20-31-Spark与Iceberg整合写操作之UPDATE操作.mp4
│ │ ├── 🎬 课时21-32-Spark与Iceberg整合写操作时DataFrame API读写Iceberg.mp4
│ │ ├── 🎬 课时22-33-StructuredStreaming实时写Iceberg之Kafka数据分析.mp4
│ │ ├── 🎬 课时23-34-StructuredStreaming实时写Iceberg之读取实时数据写入Iceberg代码.mp4
│ │ └── 🎬 课时24-35-StructuredStreaming实时写Iceberg之代码测试及注意点.mp4
│ ├── 📁 章节4-数据湖Iceberg与Flink整合
│ │ ├── 🎬 课时1-36-Flink与Iceberg整合之Flink与Iceberg版本匹配关系.mp4
│ │ ├── 🎬 课时2-37-Flink与Iceberg整合之DataStream API 实时写入Iceberg表代码.mp4
│ │ ├── 🎬 课时3-38-Flink与Iceberg整合之DataStream API 实时写入Iceberg表代码测试及Hive查询.mp4
│ │ ├── 🎬 课时4-39-Flink与Iceberg整合之DataStream API 批量与实时读取Iceberg表数据.mp4
│ │ ├── 🎬 课时5-40-Flink与Iceberg整合之DataStream API 基于快照ID实时增量读取数据.mp4
│ │ ├── 🎬 课时6-41-Flink与Iceberg整合之定期提交任务合并Data Files 文件.mp4
│ │ ├── 🎬 课时7-42-Flink与Iceberg整合之SQL API 创建Iceberg表并插入数据.mp4
│ │ ├── 🎬 课时8-43-Flink与Iceberg整合之SQL API 批量和实时读取Iceberg表数据.mp4
│ │ ├── 🎬 课时9-44-Flink与Iceberg整合之SQL API 基于快照ID 实时增量读取Iceberg表数据.mp4
│ │ ├── 🎬 课时10-45-Flink与Iceberg整合之SQL API 实时读取Kafka数据写入Iceberg.mp4
│ │ └── 🎬 课时11-46-Flink与Iceberg整合不足.mp4
│ └── 📁 章节5-数据湖技术对比及总结
│ ├── 🎬 课时1-47-数据湖技术Iceberg与Hudi对比.mp4
│ └── 🎬 课时2-48-数据湖技术Iceberg总结.mp4
├── 📁 60.数据离线同步工具DataX-92
│ └── 📁 章节1-数据离线同步工具DataX
│ ├── 🎬 课时1-回顾学过的ETL工具.mp4
│ ├── 🎬 课时2-DateX是什么.mp4
│ ├── 🎬 课时3-DataX框架设计.mp4
│ ├── 🎬 课时4-DataX核心架构.mp4
│ ├── 🎬 课时5-DataX安装.mp4
│ ├── 🎬 课时6-入门案例.mp4
│ ├── 🎬 课时7-MySQL导入到Hive MysqlReader插件 HdfsWriter插件.mp4
│ ├── 🎬 课时8-Hive导入到MySQL.mp4
│ ├── 🎬 课时9-MySQL导入到HBase.mp4
│ └── 🎬 课时10-HBase导入到MySQL.mp4
├── 📁 61.数据同步工具Canal&Maxwell-513
│ └── 📁 章节1-数据同步工具Canal&Maxwell
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-什么是Canal.mp4
│ ├── 🎬 课时3-Canal工作原理.mp4
│ ├── 🎬 课时4-Canal1.1.4安装.mp4
│ ├── 🎬 课时5-使用Canal同步MySQL数据.mp4
│ ├── 🎬 课时6-Canal架构原理.mp4
│ ├── 🎬 课时7-配置步骤.mp4
│ ├── 🎬 课时8-Canal HA原理.mp4
│ ├── 🎬 课时9-Canal HA 搭建.mp4
│ ├── 🎬 课时10-Canal HA 测试.mp4
│ ├── 🎬 课时11-Maxwell介绍.mp4
│ ├── 🎬 课时12-使用Maxwell 同步MySQL数据.mp4
│ ├── 🎬 课时13-使用Maxwell Bootstrap全量同步MySQL数据.mp4
│ └── 🎬 课时14-Maxwell和Canal对比.mp4
├── 📁 62.数据中台建设-758
│ ├── 📁 章节1-数据中台出现的背景
│ │ ├── 🎬 课时1-01-数据中台构建-内容总览.mp4
│ │ ├── 🎬 课时2-02-数据中台构建-数据建设过程出现的问题-01.mp4
│ │ ├── 🎬 课时3-03-数据中台构建-数据建设过程出现的问题-02.mp4
│ │ └── 🎬 课时4-04-数据中台构建-为什么要构建数据中台.mp4
│ ├── 📁 章节2-数据中台及数据中台架构
│ │ ├── 🎬 课时1-05-数据中台构建-什么是数据中台.mp4
│ │ ├── 🎬 课时2-06-数据中台构建-数据中台类比案例.mp4
│ │ ├── 🎬 课时3-07-数据中台构建-前、中、后台概念.mp4
│ │ ├── 🎬 课时4-08-数据中台构建-业务中台与数据中台区别与联系.mp4
│ │ ├── 🎬 课时5-09-数据中台构建-数据中台与大数据平台关系.mp4
│ │ ├── 🎬 课时6-10-数据中台构建-构建数据中台价值.mp4
│ │ ├── 🎬 课时7-11-数据中台构建-数据中台构建方法论.mp4
│ │ └── 🎬 课时8-12-数据中台构建-数据中台业务架构与技术架构.mp4
│ ├── 📁 章节3-企业构建数据中台评估
│ │ ├── 🎬 课时1-13-数据中台构建-企业数据应用成熟度四个阶段-01.mp4
│ │ ├── 🎬 课时2-14-数据中台构建-企业数据应用成熟度四个阶段-02.mp4
│ │ ├── 🎬 课时3-15-数据中台构建-不同行业构建企业数据中台需求.mp4
│ │ └── 🎬 课时4-16-数据中台构建-企业构建数据中台总结.mp4
│ ├── 📁 章节4-数据中台构建拆解
│ │ ├── 🎬 课时1-17-数据中台构建-数据汇集.mp4
│ │ ├── 🎬 课时2-18-数据中台构建-数据开发.mp4
│ │ ├── 🎬 课时3-19-数据中台构建-数据体系建设.mp4
│ │ ├── 🎬 课时4-20-数据中台标签体系构建-确定构建标签对象.mp4
│ │ ├── 🎬 课时5-21-数据中台标签体系构建-设计标签类目.mp4
│ │ ├── 🎬 课时6-22-数据中台标签体系构建-标签表实现.mp4
│ │ ├── 🎬 课时7-23-数据中台构建-数据资产管理-01.mp4
│ │ ├── 🎬 课时8-24-数据中台构建-数据资产管理-02.mp4
│ │ ├── 🎬 课时9-25-数据中台构建-数据服务体系建设.mp4
│ │ ├── 🎬 课时10-26-数据中台运营机制-数据资产运营目的.mp4
│ │ ├── 🎬 课时11-27-数据中台运营机制-如何切入数据资产运营.mp4
│ │ ├── 🎬 课时12-28-数据中台运营机制-如何做数据资产运营.mp4
│ │ └── 🎬 课时13-29-数据中台运营机制-数据安全管理.mp4
│ └── 📁 章节5-数据中台解决方案及发展方向
│ ├── 🎬 课时1-30-数据中台解决方案-零售行业数据中台功能体系.mp4
│ ├── 🎬 课时2-31-数据中台解决方案-网易&菜鸟数据中台功能体系.mp4
│ └── 🎬 课时3-32-数据中台解决方案-数据中台未来发展方向.mp4
├── 📁 63.算法高频面试内容打包课-1260
│ ├── 📁 章节1-高频-算法新手班打包课
│ │ ├── 🎬 课时1-位运算.mp4
│ │ ├── 🎬 课时2-什么叫算法.mp4
│ │ ├── 🎬 课时3-算法的分类.mp4
│ │ ├── 🎬 课时4-给定一个参数N 返回1!+2!+3!+...+N!的结果.mp4
│ │ ├── 🎬 课时5-选择排序.mp4
│ │ ├── 🎬 课时6-冒泡排序.mp4
│ │ ├── 🎬 课时7-插入排序.mp4
│ │ ├── 🎬 课时8-优化插入排序.mp4
│ │ ├── 🎬 课时9-答疑.mp4
│ │ ├── 🎬 课时10-什么叫数据结构.mp4
│ │ ├── 🎬 课时11-最基本的数据结构.mp4
│ │ ├── 🎬 课时12-java中的Math.random函数.mp4
│ │ ├── 🎬 课时13-从1-5随机到1-7随机.mp4
│ │ ├── 🎬 课时14-01不等概率随机到01等概率随机.mp4
│ │ ├── 🎬 课时15-对数器的使用.mp4
│ │ ├── 🎬 课时16-有序数组中找到num.mp4
│ │ ├── 🎬 课时17-有序数组中找到=num最左的位置.mp4
│ │ ├── 🎬 课时18-局部最小值问题.mp4
│ │ ├── 🎬 课时19-什么是常数操作.mp4
│ │ ├── 🎬 课时20-什么是时间复杂度.mp4
│ │ ├── 🎬 课时21-等差数列求和公式.mp4
│ │ ├── 🎬 课时22-什么是动态数组.mp4
│ │ ├── 🎬 课时23-动态数组使用和扩容.mp4
│ │ ├── 🎬 课时24-哈希表和有序表的使用.mp4
│ │ ├── 🎬 课时25-介绍单链表和双链表.mp4
│ │ ├── 🎬 课时26-单链表的反转.mp4
│ │ ├── 🎬 课时27-双链表的反转.mp4
│ │ ├── 🎬 课时28-用单链表结构实现队列.mp4
│ │ ├── 🎬 课时29-用单链表结构实现栈.mp4
│ │ ├── 🎬 课时30-用双链表结构实现双端队列.mp4
│ │ ├── 🎬 课时31-K个节点的组内逆序调整.mp4
│ │ ├── 🎬 课时32-两个链表相加.mp4
│ │ ├── 🎬 课时33-两个有序链表的合并.mp4
│ │ ├── 🎬 课时34-位图的功能.mp4
│ │ ├── 🎬 课时35-位图的实现.mp4
│ │ ├── 🎬 课时36-怎么使用位运算进行加减乘除.mp4
│ │ ├── 🎬 课时37-使用位运算实现加法.mp4
│ │ ├── 🎬 课时38-使用位运算实现减法.mp4
│ │ ├── 🎬 课时39-使用位运算实现乘法.mp4
│ │ ├── 🎬 课时40-使用位运算实现除法.mp4
│ │ ├── 🎬 课时41-怎么解决系统最小值转绝对值.mp4
│ │ ├── 🎬 课时42-比较器.mp4
│ │ ├── 🎬 课时43-leetcode 23:合并k个升序链表.mp4
│ │ ├── 🎬 课时44-二叉树基本概念和判断两颗树是否结构相同.mp4
│ │ ├── 🎬 课时45-判断一棵树是否是镜面树.mp4
│ │ ├── 🎬 课时46-返回一棵树的最大深度.mp4
│ │ ├── 🎬 课时47-leetcode105用先序数组和中序数组重建一棵树.mp4
│ │ ├── 🎬 课时48-leetcode0102二叉树按层遍历并收集节点.mp4
│ │ ├── 🎬 课时49-判断是否是二叉树.mp4
│ │ ├── 🎬 课时50-判断是否是平衡搜索二叉树.mp4
│ │ ├── 🎬 课时51-能否组成路径和.mp4
│ │ ├── 🎬 课时52-收集达标路径和.mp4
│ │ ├── 🎬 课时53-归并排序.mp4
│ │ ├── 🎬 课时54-非递归.mp4
│ │ ├── 🎬 课时55-MergeSort代码1.mp4
│ │ ├── 🎬 课时56-MergeSort代码2.mp4
│ │ ├── 🎬 课时57-快排.mp4
│ │ ├── 🎬 课时58-快排代码及升级代码.mp4
│ │ └── 🎬 课时59-递归和非递归实现PartitionAndQuickSort.mp4
│ ├── 📁 章节2-高频-体系学习班打包课
│ │ ├── 🎬 课时1-常数操作.mp4
│ │ ├── 🎬 课时2-时间复杂度.mp4
│ │ ├── 🎬 课时3-选择排序、冒泡排序.mp4
│ │ ├── 🎬 课时4-插入排序.mp4
│ │ ├── 🎬 课时5-插入排序的代码.mp4
│ │ ├── 🎬 课时6-额外的空间复杂度.mp4
│ │ ├── 🎬 课时7-算法流程的常数项.mp4
│ │ ├── 🎬 课时8-算法的最优解.mp4
│ │ ├── 🎬 课时9-对数器的认识.mp4
│ │ ├── 🎬 课时10-认识二分法.mp4
│ │ ├── 🎬 课时11-认识二分法代码实现.mp4
│ │ ├── 🎬 课时12-认识异或运算和题目一如何不用额外变量交换两个数.mp4
│ │ ├── 🎬 课时13-认识异或运算题目二找到并打印这种数.mp4
│ │ ├── 🎬 课时14-题目三怎么把一个int类型的数提取出最右侧的1来.mp4
│ │ ├── 🎬 课时15-题目四怎么找到并打印这两种数.mp4
│ │ ├── 🎬 课时16-题目五找到出现了k次的数解.mp4
│ │ ├── 🎬 课时17-题目五找到出现了k次的数代码实现.mp4
│ │ ├── 🎬 课时18-和题目五找到出现了k次的数相关的一个例子.mp4
│ │ ├── 🎬 课时19-题目五找到出现了k次的数总结.mp4
│ │ ├── 🎬 课时20-单向链表和双向链表.mp4
│ │ ├── 🎬 课时21-栈和队列.mp4
│ │ ├── 🎬 课时22-栈和队列常见的面试题.mp4
│ │ ├── 🎬 课时23-栈和队列常见的面试题二.mp4
│ │ ├── 🎬 课时24-理解递归.mp4
│ │ ├── 🎬 课时25-Master公式.mp4
│ │ ├── 🎬 课时26-哈希表和有序表.mp4
│ │ ├── 🎬 课时27-归并排序1.mp4
│ │ ├── 🎬 课时28-归并排序2.mp4
│ │ ├── 🎬 课时29-题目二非递归方法实现.mp4
│ │ ├── 🎬 课时30-题目三小和问题.mp4
│ │ ├── 🎬 课时31-题目3小和另个例子.mp4
│ │ ├── 🎬 课时32-题目三SmallSum代码.mp4
│ │ ├── 🎬 课时33-题目四BiggerThanRightTwice.mp4
│ │ ├── 🎬 课时34-题目四BiggerThanRightTwice再次解析.mp4
│ │ ├── 🎬 课时35-归并排序序.mp4
│ │ ├── 🎬 课时36-归并排序:前置知识.mp4
│ │ ├── 🎬 课时37-归并排序:前置知识.mp4
│ │ ├── 🎬 课时38-归并排序:题解.mp4
│ │ ├── 🎬 课时39-归并排序:题解.mp4
│ │ ├── 🎬 课时40-快速排序之荷兰国旗.mp4
│ │ ├── 🎬 课时41-荷兰国旗题解.mp4
│ │ ├── 🎬 课时42-快速排序.mp4
│ │ ├── 🎬 课时43-快速排序.mp4
│ │ ├── 🎬 课时44-问题答疑.mp4
│ │ ├── 🎬 课时45-认识比较器.mp4
│ │ ├── 🎬 课时46-任何比较器.mp4
│ │ ├── 🎬 课时47-比较器,和堆结构.mp4
│ │ ├── 🎬 课时48-完全二叉树,堆,大根堆.mp4
│ │ ├── 🎬 课时49-完全二叉树,堆,大根堆.mp4
│ │ ├── 🎬 课时50-完全二叉树,堆,大根堆.mp4
│ │ ├── 🎬 课时51-大根堆,小根堆.mp4
│ │ ├── 🎬 课时52-堆排序额外空间复杂度.mp4
│ │ ├── 🎬 课时53-堆排序.mp4
│ │ ├── 🎬 课时54-堆排序.mp4
│ │ ├── 🎬 课时55-手写堆.mp4
│ │ ├── 🎬 课时56-最大线段重合问题(用堆的实现).mp4
│ │ ├── 🎬 课时57-最大线段重合问题(用堆的实现).mp4
│ │ ├── 🎬 课时58-最大线段重合问题(用堆的实现).mp4
│ │ ├── 🎬 课时59-手动改写堆题目练习.mp4
│ │ ├── 🎬 课时60-手动改写堆题目练习.mp4
│ │ ├── 🎬 课时61-手动改写堆题目练习.mp4
│ │ ├── 🎬 课时62-手动改写堆题目练习.mp4
│ │ ├── 🎬 课时63-手动改写堆题目练习.mp4
│ │ ├── 🎬 课时64-前缀树概念.mp4
│ │ ├── 🎬 课时65-前缀树.mp4
│ │ ├── 🎬 课时66-前缀树.mp4
│ │ ├── 🎬 课时67-前缀树.mp4
│ │ ├── 🎬 课时68-计数排序和基数排序.mp4
│ │ ├── 🎬 课时69-计数排序和基数排序.mp4
│ │ ├── 🎬 课时70-计数排序和基数排序.mp4
│ │ ├── 🎬 课时71-排序算法的稳定性.mp4
│ │ ├── 🎬 课时72-排序算法总结.mp4
│ │ ├── 🎬 课时73-常见的坑.mp4
│ │ ├── 🎬 课时74-工程上对排序的改进.mp4
│ │ ├── 🎬 课时75-链表问题.mp4
│ │ ├── 🎬 课时76-链表面试题常用数据结构和技巧.mp4
│ │ ├── 🎬 课时77-常见的面试题解析.mp4
│ │ ├── 🎬 课时78-代码解析.mp4
│ │ ├── 🎬 课时79-常见的面试题二.mp4
│ │ ├── 🎬 课时80-常见的面试题二解析.mp4
│ │ ├── 🎬 课时81-学术探讨.mp4
│ │ ├── 🎬 课时82-常见的面试题.mp4
│ │ ├── 🎬 课时83-常见的面试题代码解析(1).mp4
│ │ ├── 🎬 课时84-常见的面试题代码解析(2).mp4
│ │ ├── 🎬 课时85-二叉树的先序、中序、后序遍历(1)..mp4
│ │ ├── 🎬 课时86-二叉树的先序、中序、后序遍历(2).mp4
│ │ ├── 🎬 课时87-非递归方式实现二叉树的先序、中序、后序遍历(1).mp4
│ │ ├── 🎬 课时88-非递归方式实现二叉树的先序、中序、后序遍历(2).mp4
│ │ ├── 🎬 课时89-前面课里遗留的一道题.mp4
│ │ ├── 🎬 课时90-实现二叉树的按层遍历.mp4
│ │ ├── 🎬 课时91-实现二叉树的序列化和反序列化(1).mp4
│ │ ├── 🎬 课时92-实现二叉树的序列化和反序列化(2).mp4
│ │ ├── 🎬 课时93-实现二叉树的序列化和反序列化(3).mp4
│ │ ├── 🎬 课时94-Encode N-ary Tree to Binary Tree(1).mp4
│ │ ├── 🎬 课时95-Encode N-ary Tree to Binary Tree(2).mp4
│ │ ├── 🎬 课时96-二叉树:如何设计一个打印整棵树的打印函数(1).mp4
│ │ ├── 🎬 课时97-二叉树:如何设计一个打印整棵树的打印函数(2).mp4
│ │ ├── 🎬 课时98-二叉树折纸问题.mp4
│ │ ├── 🎬 课时99-TreeMaxWidth.mp4
│ │ ├── 🎬 课时100-判断是否是完全二叉树.mp4
│ │ ├── 🎬 课时101-返回是否是平衡二叉树.mp4
│ │ ├── 🎬 课时102-是否搜索二叉树.mp4
│ │ ├── 🎬 课时103-返回整颗二叉树的最大距离.mp4
│ │ ├── 🎬 课时104-是不是满二叉树.mp4
│ │ ├── 🎬 课时105-找到最大的子树是搜索二叉树1.mp4
│ │ ├── 🎬 课时106-找到最大的子树是搜索二叉树2.mp4
│ │ ├── 🎬 课时107-二叉树的递归套路.mp4
│ │ ├── 🎬 课时108-递归套路解决找到最大的子树是搜索二叉树.mp4
│ │ ├── 🎬 课时109-返回a和b的最低公共祖先.mp4
│ │ ├── 🎬 课时110-多叉树代表公司结构没人有个快乐值发请柬来参见聚会直接上下级的不能邀请返回最大的快乐值.mp4
│ │ ├── 🎬 课时111-贪心算法.mp4
│ │ ├── 🎬 课时112-返回所有可能的拼接结果中字典序最小的结果1.mp4
│ │ ├── 🎬 课时113-返回所有可能的拼接结果中字典序最小的结果2.mp4
│ │ ├── 🎬 课时114-用贪心算法返回最多会议室宣讲场次.mp4
│ │ ├── 🎬 课时115-code实现.mp4
│ │ ├── 🎬 课时116-暴力实现.mp4
│ │ ├── 🎬 课时117-用贪心算法解决输入一个数组返回金条分割的最小代价.mp4
│ │ ├── 🎬 课时118-code实现.mp4
│ │ ├── 🎬 课时119-输入正整数组costs、正整数组profits、正数k、正数M、输出你最后获得的最大钱数.mp4
│ │ ├── 🎬 课时120-code实现.mp4
│ │ ├── 🎬 课时121-给定字符串str,返回点亮str中所有点亮的位置至少需要几盏灯.mp4
│ │ ├── 🎬 课时122-实现code.mp4
│ │ ├── 🎬 课时123-并查集.mp4
│ │ ├── 🎬 课时124-code实现.mp4
│ │ ├── 🎬 课时125-答疑.mp4
│ │ ├── 🎬 课时126-优化.mp4
│ │ ├── 🎬 课时127-leetcode原题547题Fiend Circles.mp4
│ │ ├── 🎬 课时128-岛问题.mp4
│ │ ├── 🎬 课时129-code实现过程.mp4
│ │ ├── 🎬 课时130-复杂度.mp4
│ │ ├── 🎬 课时131-用并查集实现方式1.mp4
│ │ ├── 🎬 课时132-用并查集实现方式2.mp4
│ │ ├── 🎬 课时133-leetcode 305 Number of Islands II.mp4
│ │ ├── 🎬 课时134-时间复杂度.mp4
│ │ ├── 🎬 课时135-岛问题(扩展)(1).mp4
│ │ ├── 🎬 课时136-岛问题(扩展)(2).mp4
│ │ ├── 🎬 课时137-有向图和邻接表法.mp4
│ │ ├── 🎬 课时138-矩阵表法.mp4
│ │ ├── 🎬 课时139-图表达.mp4
│ │ ├── 🎬 课时140-点结构的描述和边结构的描述和什么叫图.mp4
│ │ ├── 🎬 课时141-写接口转化.mp4
│ │ ├── 🎬 课时142-宽度优先遍历.mp4
│ │ ├── 🎬 课时143-深度优先遍历.mp4
│ │ ├── 🎬 课时144-图的拓扑排序算法.mp4
│ │ ├── 🎬 课时145-解答.mp4
│ │ ├── 🎬 课时146-图的拓扑排序算法.mp4
│ │ ├── 🎬 课时147-拓扑排序的练习.mp4
│ │ ├── 🎬 课时148-拓扑排序的方法二.mp4
│ │ ├── 🎬 课时149-最小生成树算法.mp4
│ │ ├── 🎬 课时150-Prim算法(1).mp4
│ │ ├── 🎬 课时151-Prim算法(2).mp4
│ │ ├── 🎬 课时152-答疑.mp4
│ │ ├── 🎬 课时153-迪瑞克斯拉算法.mp4
│ │ ├── 🎬 课时154-答疑.mp4
│ │ ├── 🎬 课时155-迪瑞克斯拉算法.mp4
│ │ ├── 🎬 课时156-答疑.mp4
│ │ ├── 🎬 课时157-迪瑞克斯拉算法优化(1).mp4
│ │ ├── 🎬 课时158-迪瑞克斯拉算法优化(2).mp4
│ │ ├── 🎬 课时159-暴力递归(1).mp4
│ │ ├── 🎬 课时160-暴力递归(2).mp4
│ │ ├── 🎬 课时161-答疑.mp4
│ │ ├── 🎬 课时162-打印一个字符串的全部子序列(要求不要出现重复字面值的子序列).mp4
│ │ ├── 🎬 课时163-打印一个字符串的全部排序(1).mp4
│ │ ├── 🎬 课时164-打印一个字符串的全部排序(2).mp4
│ │ ├── 🎬 课时165-打印一个字符串的全部排序要求去重复.mp4
│ │ ├── 🎬 课时166-答疑.mp4
│ │ ├── 🎬 课时167-给你一个栈请你逆序这个栈不能申请格外的数据结构只能使用递归函数如何实现.mp4
│ │ ├── 🎬 课时168-空间换时间.mp4
│ │ ├── 🎬 课时169-假设有排成一行的N个位置记为1到N N一定大于等于2开始时机器人在其中的M位置上M一定是1到N中的一个如果机器人来到1位置那么下一步只能往右来到2位置如果机器人来到N位置那么下一步只能往左来到N-1的位置.mp4
│ │ ├── 🎬 课时170-优化Code.mp4
│ │ ├── 🎬 课时171-二次优化(1).mp4
│ │ ├── 🎬 课时172-二次优化(2).mp4
│ │ ├── 🎬 课时173-二次优化(3).mp4
│ │ ├── 🎬 课时174-给定一个整型数组arr代表数值不同的纸牌排成一条线玩家A和玩家B依次拿走每一张牌规定玩家A先拿玩家B后拿但每个玩家每次只能拿最左或者最右的牌玩家A和玩家B智商一样请返回最后获胜者的分数.mp4
│ │ ├── 🎬 课时175-给定一个整型数组arr代表数值不同的纸牌排成一条线玩家A和玩家B依次拿走每一张牌规定玩家A先拿玩家B后拿但每个玩家每次只能拿最左或者最右的牌玩家A和玩家B智商一样请返回最后获胜者的分数.mp4
│ │ ├── 🎬 课时176-答疑.mp4
│ │ ├── 🎬 课时177-给定一个整型数组arr代表数值不同的纸牌排成一条线玩家A和玩家B依次拿走每一张牌规定玩家A先拿玩家B后拿但每个玩家每次只能拿最左或者最右的牌玩家A和玩家B智商一样请返回最后获胜者的分数.mp4
│ │ ├── 🎬 课时178-优化.mp4
│ │ ├── 🎬 课时179-答疑.mp4
│ │ ├── 🎬 课时180-二次优化.mp4
│ │ ├── 🎬 课时181-答疑.mp4
│ │ ├── 🎬 课时182-背包问题(1).mp4
│ │ ├── 🎬 课时183-背包问题(2).mp4
│ │ ├── 🎬 课时184-优化.mp4
│ │ ├── 🎬 课时185-答疑.mp4
│ │ ├── 🎬 课时186-规定1对应A 2对应B 3对应C依此类推26对应Z那么一个数字字符串比如111就可以转化为AAA ....mp4
│ │ ├── 🎬 课时187-答疑.mp4
│ │ ├── 🎬 课时188-优化规定1对应A 2对应B 3对应C依此类推26对应Z那么一个数字字符串比如111就可以转化为....mp4
│ │ ├── 🎬 课时189-给定一个字符串str给定一个字符串类型的数组arr出现的字符都是小写英文arr每一个字符串代表一张贴纸你可以....mp4
│ │ ├── 🎬 课时190-贴纸“abc”“bba”“cck”要贴出“aabbbbc”的样式(1).mp4
│ │ ├── 🎬 课时191-贴纸“abc”“bba”“cck”要贴出“aabbbbc”的样式(2).mp4
│ │ ├── 🎬 课时192-贴纸“abc”“bba”“cck”要贴出“aabbbbc”的样式(3).mp4
│ │ ├── 🎬 课时193-两个str1为“a12bc345drf” str2为“MNP123QRS45Z”返回最长公共的子序列和个数(1).mp4
│ │ ├── 🎬 课时194-两个str1为“a12bc345drf” str2为“MNP123QRS45Z”返回最长公共的子序列和个数(2).mp4
│ │ ├── 🎬 课时195-两个str1为“a12bc345drf” str2为“MNP123QRS45Z”返回最长公共的子序列和个数(3).mp4
│ │ ├── 🎬 课时196-返回最长回文子序列长度.mp4
│ │ ├── 🎬 课时197-code实现.mp4
│ │ ├── 🎬 课时198-优化code(1).mp4
│ │ ├── 🎬 课时199-优化code(2).mp4
│ │ └── 🎬 课时200-优化code(3).mp4
│ └── 📁 章节3-高频-大厂刷题班打包课
│ ├── 🎬 课时1-绳子覆盖最多的点数.mp4
│ ├── 🎬 课时2-二维数组中的最长递增路径长度.mp4
│ ├── 🎬 课时3-以+或-连接返回最后算出target的方法数.mp4
│ ├── 🎬 课时4-让所有司机获得总体最多收入的分配问题.mp4
│ ├── 🎬 课时5-含有SetAll功能的哈希表.mp4
│ ├── 🎬 课时6-需要排序的最短子数组长度.mp4
│ ├── 🎬 课时7-最长无重复字符的子串长度.mp4
│ ├── 🎬 课时8-边框为1的最大正方形.mp4
│ ├── 🎬 课时9-能同时比赛的最大场次.mp4
│ ├── 🎬 课时10-最多装两个人的船同时过河问题.mp4
│ ├── 🎬 课时11-子数组的最大累加和.mp4
│ ├── 🎬 课时12-子矩阵的最大累加和.mp4
│ ├── 🎬 课时13-不能取相邻数字的子序列最大累加和.mp4
│ ├── 🎬 课时14-分糖果问题及其进阶问法.mp4
│ ├── 🎬 课时15-字符串交错组成问题.mp4
│ ├── 🎬 课时16-编辑距离问题.mp4
│ ├── 🎬 课时17-覆盖全树的最少相机数.mp4
│ ├── 🎬 课时18-相邻两数的最大差值.mp4
│ ├── 🎬 课时19-数组中的单词有多少种拼接方法.mp4
│ ├── 🎬 课时20-公式字符串的结算结果.mp4
│ ├── 🎬 课时21-随意选两根支柱所能容纳的最大水量.mp4
│ ├── 🎬 课时22-最长递增子序列长度.mp4
│ ├── 🎬 课时23-俄罗斯套娃问题.mp4
│ ├── 🎬 课时24-判断一个数字是不是stepsum.mp4
│ ├── 🎬 课时25-跳跃游戏.mp4
│ ├── 🎬 课时26-布尔表达式的期待方法数.mp4
│ ├── 🎬 课时27-至少添加多少个字符能整体变成回文串的多种考法.mp4
│ ├── 🎬 课时28-切出来的子串都是回文串的最少划分数的多种考法.mp4
│ ├── 🎬 课时29-找到两个有序数组中整体第K小的数.mp4
│ ├── 🎬 课时30-自由选择数组中的数字返回严格+1的最长序列长度.mp4
│ ├── 🎬 课时31-正则表达式匹配问题.mp4
│ ├── 🎬 课时32-最长的有效括号子串的长度.mp4
│ ├── 🎬 课时33-求完全二叉树的节点个数.mp4
│ ├── 🎬 课时34-缺失的最小正整数.mp4
│ ├── 🎬 课时35-股票问题1.mp4
│ ├── 🎬 课时36-股票问题2.mp4
│ ├── 🎬 课时37-股票问题3.mp4
│ ├── 🎬 课时38-股票问题4.mp4
│ ├── 🎬 课时39-股票问题含冷冻期.mp4
│ ├── 🎬 课时40-股票问题含手续费.mp4
│ ├── 🎬 课时41-数组的子集能否组成sum.mp4
│ ├── 🎬 课时42-组成所有数字的最小补丁数问题.mp4
│ ├── 🎬 课时43-约瑟夫环问题.mp4
│ ├── 🎬 课时44-在每行每列有序的二维数组中找最小的第K个数.mp4
│ ├── 🎬 课时45-S字符串有多少个子序列等于T字符串.mp4
│ ├── 🎬 课时46-来去捡樱桃问题.mp4
│ ├── 🎬 课时47-LRU内存替换算法.mp4
│ ├── 🎬 课时48-最小包含区间问题.mp4
│ ├── 🎬 课时49-一维接雨水问题.mp4
│ ├── 🎬 课时50-二维接雨水问题.mp4
│ ├── 🎬 课时51-超级水王问题和摩尔投票及其扩展.mp4
│ ├── 🎬 课时52-相邻K个石子才能合并最终合成一堆的最小代价.mp4
│ ├── 🎬 课时53-被切的数字不算能否切成4个累加和相等的部分.mp4
│ ├── 🎬 课时54-最小包含子串.mp4
│ ├── 🎬 课时55-一种字符只保留一个的最小字典序结果.mp4
│ ├── 🎬 课时56-累加和为0的所有三元组.mp4
│ ├── 🎬 课时57-一条线最多能通过几个点.mp4
│ ├── 🎬 课时58-三个有序数组选三个数彼此相减的绝对值相加怎么最小.mp4
│ ├── 🎬 课时59-二维网格中查找出所有包含的单词.mp4
│ ├── 🎬 课时60-鹅厂文化衫问题.mp4
│ ├── 🎬 课时61-leetcode 0001 两数之和.mp4
│ ├── 🎬 课时62-leetcode 0007 翻转数字.mp4
│ ├── 🎬 课时63-leetcode 0008 字符串转换整数.mp4
│ ├── 🎬 课时64-leetcode 0012 整数转罗马数字.mp4
│ ├── 🎬 课时65-leetcode 0013 罗马数字转整数.mp4
│ ├── 🎬 课时66-leetcode 0014 最长公共前缀.mp4
│ ├── 🎬 课时67-leetcode 0017 电话号码的字母组合.mp4
│ ├── 🎬 课时68-leetcode 0019 删除链表的倒数第N个结点.mp4
│ ├── 🎬 课时69-leetcode 0020 有效的括号.mp4
│ ├── 🎬 课时70-leetcode 0022 括号生成.mp4
│ ├── 🎬 课时71-leetcode 0026 删除有序数组中的重复项.mp4
│ ├── 🎬 课时72-leetcode 0034 在排序数组中查找元素的第一个和最后一个位置.mp4
│ ├── 🎬 课时73-leetcode 0036 有效的数独.mp4
│ ├── 🎬 课时74-leetcode 0037 解数独.mp4
│ ├── 🎬 课时75-leetcode 0038 外观数列.mp4
│ ├── 🎬 课时76-leetcode 0049 字母异位词分组.mp4
│ ├── 🎬 课时77-leetcode 0033 搜索旋转排序数组.mp4
│ ├── 🎬 课时78-leetcode 0050 Pow(x n).mp4
│ ├── 🎬 课时79-leetcode 0056 合并区间.mp4
│ ├── 🎬 课时80-leetcode 0062 不同路径.mp4
│ ├── 🎬 课时81-leetcode 0066 加一.mp4
│ ├── 🎬 课时82-leetcode 0069 Sqrt(x).mp4
│ ├── 🎬 课时83-leetcode 0073 矩阵置零.mp4
│ ├── 🎬 课时84-leetcode 0079 单词搜索.mp4
│ ├── 🎬 课时85-leetcode 0088 合并两个有序数组.mp4
│ ├── 🎬 课时86-leetcode 0091 解码方法.mp4
│ ├── 🎬 课时87-leetcode 0098 验证二叉搜索树.mp4
│ ├── 🎬 课时88-leetcode 0101 对称二叉树.mp4
│ ├── 🎬 课时89-leetcode 0103 二叉树的锯齿形层序遍历.mp4
│ ├── 🎬 课时90-leetcode 0108 将有序数组转换为二叉搜索树.mp4
│ ├── 🎬 课时91-leetcode 0116 填充每个节点的下一个右侧节点指针.mp4
│ ├── 🎬 课时92-leetcode 0118 杨辉三角.mp4
│ ├── 🎬 课时93-leetcode 0119 杨辉三角二.mp4
│ ├── 🎬 课时94-leetcode 0124 二叉树中的最大路径和.mp4
│ ├── 🎬 课时95-leetcode 0639 解码方法ii.mp4
│ ├── 🎬 课时96-leetcode 0125 验证回文串.mp4
│ ├── 🎬 课时97-leetcode 0127 单词接龙.mp4
│ ├── 🎬 课时98-leetcode 0130 被围绕的区域.mp4
│ ├── 🎬 课时99-leetcode 0139 单词拆分.mp4
│ ├── 🎬 课时100-leetcode 0140 单词拆分ii.mp4
│ ├── 🎬 课时101-leetcode 0148 排序链表.mp4
│ ├── 🎬 课时102-leetcode 0150 逆波兰表达式求值.mp4
│ ├── 🎬 课时103-leetcode 0152 乘积最大子数组.mp4
│ ├── 🎬 课时104-leetcode 0163 缺失的区间.mp4
│ ├── 🎬 课时105-leetcode 0166 分数到小数.mp4
│ ├── 🎬 课时106-leetcode 0171 Excel表列序号.mp4
│ ├── 🎬 课时107-leetcode 0172 阶乘后的零.mp4
│ ├── 🎬 课时108-leetcode 0189 转轮数组.mp4
│ ├── 🎬 课时109-leetcode 0190 颠倒二进制位.mp4
│ ├── 🎬 课时110-leetcode 0191 位1的个数.mp4
│ ├── 🎬 课时111-leetcode 0202 快乐数.mp4
│ ├── 🎬 课时112-leetcode 0204 计数质数.mp4
│ ├── 🎬 课时113-出卷子的方法数.mp4
│ ├── 🎬 课时114-leetcode 0207 课程表.mp4
│ ├── 🎬 课时115-leetcode 0210 课程表ii.mp4
│ ├── 🎬 课时116-leetcode 0213 打家劫舍ii.mp4
│ ├── 🎬 课时117-leetcode 0237 删除链表中的节点.mp4
│ ├── 🎬 课时118-leetcode 0238 除自身以外数组的乘积.mp4
│ ├── 🎬 课时119-leetcode 0242 有效的字母异位词.mp4
│ ├── 🎬 课时120-leetcode 0251 展开二维向量.mp4
│ ├── 🎬 课时121-leetcode 0269 火星词典.mp4
│ ├── 🎬 课时122-leetcode 0277 查寻名人.mp4
│ ├── 🎬 课时123-leetcode 0279 完全平方数.mp4
│ ├── 🎬 课时124-leetcode 0283 移动零.mp4
│ ├── 🎬 课时125-leetcode 0287 寻找重复数.mp4
│ ├── 🎬 课时126-leetcode 0289 生命游戏.mp4
│ ├── 🎬 课时127-leetcode 295 数据流中位数.mp4
│ ├── 🎬 课时128-leetcode 0315 计算右侧小于当前元素的个数.mp4
│ ├── 🎬 课时129-leetcode 324 摆动排序ii.mp4
│ ├── 🎬 课时130-leetcode 0326 是否是3的幂.mp4
│ ├── 🎬 课时131-leetcode 328 奇偶链表.mp4
│ ├── 🎬 课时132-leetcode 0340 至多包含k个不同字符.mp4
│ ├── 🎬 课时133-leetcode 0341 扁平化嵌套列表迭代器.mp4
│ ├── 🎬 课时134-leetcode 0348 设计井字游戏.mp4
│ ├── 🎬 课时135-leetcode 0380 O(1)时间插入 删除和获取随机元素.mp4
│ ├── 🎬 课时136-leetcode 0384 打乱数组.mp4
│ ├── 🎬 课时137-字符串str在新字典序中是第几位.mp4
│ ├── 🎬 课时138-魔法石头过河问题.mp4
│ ├── 🎬 课时139-一天内的最多观影场次.mp4
│ ├── 🎬 课时140-上下左右随便走从左上到右下的最短距离.mp4
│ ├── 🎬 课时141-环形分糖果问题.mp4
│ ├── 🎬 课时142-leetcode 0347 前k个高频元素.mp4
│ ├── 🎬 课时143-leetcode 0395 至少有k个重复字符的最长子串.mp4
│ ├── 🎬 课时144-leetcode 0412 Fizz Buzz.mp4
│ ├── 🎬 课时145-leetcode 0454 四数相加二.mp4
│ ├── 🎬 课时146-leetcode 0673 最长递增子序列的个数.mp4
│ ├── 🎬 课时147-leetcode 0687 最长同值路径.mp4
│ ├── 🎬 课时148-所有项目完成的最短时间.mp4
│ ├── 🎬 课时149-打牌每一轮都赢最后的最大分数.mp4
│ ├── 🎬 课时150-leetcode 0114 二叉树展开为链表.mp4
│ ├── 🎬 课时151-leetcode 0221 最大正方形.mp4
│ ├── 🎬 课时152-leetcode 0226 翻转二叉树.mp4
│ ├── 🎬 课时153-leetcode 0337 打家劫舍iii.mp4
│ ├── 🎬 课时154-leetcode 0394 字符串解码.mp4
│ ├── 🎬 课时155-leetcode 0406 根据身高重建队列.mp4
│ ├── 🎬 课时156-leetcode 0437 路径总和iii.mp4
│ ├── 🎬 课时157-想让a和b一样大至少多少轮.mp4
│ ├── 🎬 课时158-leetcode 0438 找到字符串中所有字母异位词.mp4
│ ├── 🎬 课时159-leetcode 0448 找到所有数组中消失的数字.mp4
│ ├── 🎬 课时160-leetcode 0617 合并二叉树.mp4
│ ├── 🎬 课时161-leetcode 0621 任务调度器.mp4
│ ├── 🎬 课时162-leetcode 0647 回文子串.mp4
│ ├── 🎬 课时163-leetcode 0739 每日温度.mp4
│ └── 🎬 课时164-leetcode 0763 划分字母区间.mp4
├── 📁 64.提问的智慧-441
│ └── 📁 章节1-沟通技巧和程序调试入门
│ ├── 🎬 课时1-沟通技巧入门_概念引入.mp4
│ ├── 🎬 课时2-沟通技巧入门_使用专业术语.mp4
│ ├── 🎬 课时3-沟通技巧入门_问题描述准确具体.mp4
│ ├── 🎬 课时4-沟通技巧入门_提供分析材料.mp4
│ ├── 🎬 课时5-程序调试入门_学习查看日志.mp4
│ ├── 🎬 课时6-程序调试入门_博客和工具网站介绍.mp4
│ ├── 🎬 课时7-程序调试入门_DEBUG模式的使用.mp4
│ └── 🎬 课时8-线上教育平台问答系统介绍.mp4
├── 📁 65.团队开发和版本控制工具-GIT-502
│ ├── 📁 章节1-Git引入版本控制介绍
│ │ └── 🎬 课时1-Git引入版本控制介绍.mp4
│ ├── 📁 章节2-Git简史
│ │ └── 🎬 课时1-Git简史.mp4
│ ├── 📁 章节3-Git的安装过程
│ │ └── 🎬 课时1-Git的安装过程.mp4
│ ├── 📁 章节4-Git结构
│ │ └── 🎬 课时1-Git结构.mp4
│ ├── 📁 章节5-代码托管中心本地库和远程库的交互方式
│ │ └── 🎬 课时1-代码托管中心本地库和远程库的交互方式.mp4
│ ├── 📁 章节6-初始化本地仓库
│ │ └── 🎬 课时1-初始化本地仓库.mp4
│ ├── 📁 章节7-常用命令add和commit命令
│ │ └── 🎬 课时1-常用命令add和commit命令.mp4
│ ├── 📁 章节8-常用命令status命令
│ │ └── 🎬 课时1-常用命令status命令.mp4
│ ├── 📁 章节9-常用命令log命令
│ │ └── 🎬 课时1-常用命令log命令.mp4
│ ├── 📁 章节10-常用命令log命令2
│ │ └── 🎬 课时1-常用命令log命令2.mp4
│ ├── 📁 章节11-常用命令reset
│ │ └── 🎬 课时1-常用命令reset.mp4
│ ├── 📁 章节12-常见命令reset的hard mixed soft参数
│ │ └── 🎬 课时1-常见命令reset的hard mixed soft参数.mp4
│ ├── 📁 章节13-常见命令删除文件找回本地库删除的文件
│ │ └── 🎬 课时1-常见命令删除文件找回本地库删除的文件.mp4
│ ├── 📁 章节14-常见命令找回暂存区删除的文件
│ │ └── 🎬 课时1-常见命令找回暂存区删除的文件.mp4
│ ├── 📁 章节15-常见命令diff命令
│ │ └── 🎬 课时1-常见命令diff命令.mp4
│ ├── 📁 章节16-分支什么是分支
│ │ └── 🎬 课时1-分支什么是分支.mp4
│ ├── 📁 章节17-分支查看分支,创建分支,切换分支
│ │ └── 🎬 课时1-分支查看分支,创建分支,切换分支.mp4
│ ├── 📁 章节18-分支冲突问题解决冲突问题
│ │ └── 🎬 课时1-分支冲突问题解决冲突问题.mp4
│ ├── 📁 章节19-注册GitHub账号
│ │ └── 🎬 课时1-注册GitHub账号.mp4
│ ├── 📁 章节20-回顾本地库和远程库的交互方式
│ │ └── 🎬 课时1-回顾本地库和远程库的交互方式.mp4
│ ├── 📁 章节21-初始化本地库
│ │ └── 🎬 课时1-初始化本地库.mp4
│ ├── 📁 章节22-创建GitHub远程库
│ │ └── 🎬 课时1-创建GitHub远程库.mp4
│ ├── 📁 章节23-在本地创建远程库地址的别名
│ │ └── 🎬 课时1-在本地创建远程库地址的别名.mp4
│ ├── 📁 章节24-推送操作
│ │ └── 🎬 课时1-推送操作.mp4
│ ├── 📁 章节25-克隆操作
│ │ └── 🎬 课时1-克隆操作.mp4
│ ├── 📁 章节26-邀请加入团队push操作
│ │ └── 🎬 课时1-邀请加入团队push操作.mp4
│ ├── 📁 章节27-远程库修改的拉取1
│ │ └── 🎬 课时1-远程库修改的拉取1.mp4
│ ├── 📁 章节28-远程库修改的拉取2
│ │ └── 🎬 课时1-远程库修改的拉取2.mp4
│ ├── 📁 章节29-协同开发合作时冲突的解决办法
│ │ └── 🎬 课时1-协同开发合作时冲突的解决办法.mp4
│ ├── 📁 章节30-回顾跨团队合作交互方式
│ │ └── 🎬 课时1-回顾跨团队合作交互方式.mp4
│ ├── 📁 章节31-跨团队合作
│ │ └── 🎬 课时1-跨团队合作.mp4
│ ├── 📁 章节32-SSH免密登录
│ │ └── 🎬 课时1-SSH免密登录.mp4
│ ├── 📁 章节33-IDEA集成Git初始化本地库添加暂存区提交本地库操作
│ │ └── 🎬 课时1-IDEA集成Git初始化本地库添加暂存区提交本地库操作.mp4
│ ├── 📁 章节34-使用idea拉取和推送资源
│ │ └── 🎬 课时1-使用idea拉取和推送资源.mp4
│ ├── 📁 章节35-使用Idea克隆远程仓库到本地
│ │ └── 🎬 课时1-使用Idea克隆远程仓库到本地.mp4
│ └── 📁 章节36-使用idea解决冲突如何避免冲突
│ └── 🎬 课时1-使用idea解决冲突如何避免冲突.mp4
├── 📁 66.项目阶段:初级项目-860
│ ├── 📁 章节1-小鲨鱼记账系统_引入
│ │ └── 🎬 课时1-小鲨鱼记账系统_引入.mp4
│ ├── 📁 章节2-小鲨鱼记账系统_项目最终效果演示
│ │ └── 🎬 课时1-小鲨鱼记账系统_项目最终效果演示.mp4
│ ├── 📁 章节3-小鲨鱼记账系统_整体结构完成
│ │ └── 🎬 课时1-小鲨鱼记账系统_整体结构完成.mp4
│ ├── 📁 章节4-小鲨鱼记账系统_登记收入
│ │ └── 🎬 课时1-小鲨鱼记账系统_登记收入.mp4
│ ├── 📁 章节5-小鲨鱼记账系统_登记支出
│ │ └── 🎬 课时1-小鲨鱼记账系统_登记支出.mp4
│ ├── 📁 章节6-小鲨鱼记账系统_收支明细错误细节
│ │ └── 🎬 课时1-小鲨鱼记账系统_收支明细错误细节.mp4
│ ├── 📁 章节7-小鲨鱼记账系统_退出功能
│ │ └── 🎬 课时1-小鲨鱼记账系统_退出功能.mp4
│ ├── 📁 章节8-双色球彩票_需求介绍
│ │ └── 🎬 课时1-双色球彩票_需求介绍.mp4
│ ├── 📁 章节9-双色球彩票_涉及技能点
│ │ └── 🎬 课时1-双色球彩票_涉及技能点.mp4
│ ├── 📁 章节10-双色球彩票_项目演示
│ │ └── 🎬 课时1-双色球彩票_项目演示.mp4
│ ├── 📁 章节11-双色球彩票_菜单展示
│ │ └── 🎬 课时1-双色球彩票_菜单展示.mp4
│ ├── 📁 章节12-双色球彩票_购买彩票
│ │ └── 🎬 课时1-双色球彩票_购买彩票.mp4
│ ├── 📁 章节13-双色球彩票_开奖整体结构完善
│ │ └── 🎬 课时1-双色球彩票_开奖整体结构完善.mp4
│ ├── 📁 章节14-双色球彩票_生成中奖单号细节
│ │ └── 🎬 课时1-双色球彩票_生成中奖单号细节.mp4
│ ├── 📁 章节15-双色球彩票_对比号码细节和完善
│ │ └── 🎬 课时1-双色球彩票_对比号码细节和完善.mp4
│ ├── 📁 章节16-比萨商店点餐系统_项目需求
│ │ └── 🎬 课时1-比萨商店点餐系统_项目需求.mp4
│ ├── 📁 章节17-比萨商店点餐系统_项目结构分析
│ │ └── 🎬 课时1-比萨商店点餐系统_项目结构分析.mp4
│ ├── 📁 章节18-比萨商店点餐系统_父类子类创建
│ │ └── 🎬 课时1-比萨商店点餐系统_父类子类创建.mp4
│ ├── 📁 章节19-比萨商店点餐系统_测试类逻辑
│ │ └── 🎬 课时1-比萨商店点餐系统_测试类逻辑.mp4
│ ├── 📁 章节20-比萨商店点餐系统_工厂类的提取
│ │ └── 🎬 课时1-比萨商店点餐系统_工厂类的提取.mp4
│ ├── 📁 章节21-贪吃蛇小游戏_引入
│ │ └── 🎬 课时1-贪吃蛇小游戏_引入.mp4
│ ├── 📁 章节22-贪吃蛇小游戏_小蛇行动原理图
│ │ └── 🎬 课时1-贪吃蛇小游戏_小蛇行动原理图.mp4
│ ├── 📁 章节23-贪吃蛇小游戏_将图片加载到程序中来
│ │ └── 🎬 课时1-贪吃蛇小游戏_将图片加载到程序中来.mp4
│ ├── 📁 章节24-贪吃蛇小游戏_创建窗体
│ │ └── 🎬 课时1-贪吃蛇小游戏_创建窗体.mp4
│ ├── 📁 章节25-贪吃蛇小游戏_创建面板
│ │ └── 🎬 课时1-贪吃蛇小游戏_创建面板.mp4
│ ├── 📁 章节26-贪吃蛇小游戏_画静态的小蛇
│ │ └── 🎬 课时1-贪吃蛇小游戏_画静态的小蛇.mp4
│ ├── 📁 章节27-贪吃蛇小游戏_将蛇头按照行走方向改变
│ │ └── 🎬 课时1-贪吃蛇小游戏_将蛇头按照行走方向改变.mp4
│ ├── 📁 章节28-贪吃蛇小游戏_加入监听,空格来控制游戏是否开始
│ │ └── 🎬 课时1-贪吃蛇小游戏_加入监听,空格来控制游戏是否开始.mp4
│ ├── 📁 章节29-贪吃蛇小游戏_小蛇向右动起来
│ │ └── 🎬 课时1-贪吃蛇小游戏_小蛇向右动起来.mp4
│ ├── 📁 章节30-贪吃蛇小游戏_小蛇上下左右动起来
│ │ └── 🎬 课时1-贪吃蛇小游戏_小蛇上下左右动起来.mp4
│ ├── 📁 章节31-贪吃蛇小游戏_画食物吃食物
│ │ └── 🎬 课时1-贪吃蛇小游戏_画食物吃食物.mp4
│ ├── 📁 章节32-贪吃蛇小游戏_画积分
│ │ └── 🎬 课时1-贪吃蛇小游戏_画积分.mp4
│ ├── 📁 章节33-贪吃蛇小游戏_死亡判定
│ │ └── 🎬 课时1-贪吃蛇小游戏_死亡判定.mp4
│ └── 📁 章节34-贪吃蛇小游戏_游戏打包
│ └── 🎬 课时1-贪吃蛇小游戏_游戏打包.mp4
├── 📁 67.消息中间件-Kafka实战-295
│ ├── 📁 章节1-kafka初始,架构模型,角色功能梳理
│ │ ├── 🎬 课时1-mq技术选型和对比.mp4
│ │ ├── 🎬 课时2-AKF详解.mp4
│ │ ├── 🎬 课时3-kafka名词介绍及整合zookeeper.mp4
│ │ ├── 🎬 课时4-kafka的broker和partition介绍.mp4
│ │ ├── 🎬 课时5-幂等重复消费.mp4
│ │ └── 🎬 课时6-kafka与磁盘和网卡的技术点.mp4
│ ├── 📁 章节2-kafka集群搭建,topic+partition消费逻辑梳理
│ │ ├── 🎬 课时1-课前概述.mp4
│ │ ├── 🎬 课时2-kafka的安装和使用.mp4
│ │ ├── 🎬 课时3-分区概念.mp4
│ │ ├── 🎬 课时4-consumer选择单线程和多线程对比.mp4
│ │ └── 🎬 课时5-课堂答疑.mp4
│ ├── 📁 章节3-基础开发及消费者提交维护offset不同粒度方式
│ │ ├── 🎬 课时1-kafka生产者api演示.mp4
│ │ ├── 🎬 课时2-kafka消费者api演示.mp4
│ │ ├── 🎬 课时3-持久化操作.mp4
│ │ └── 🎬 课时4-多线程下手动提交offset方式.mp4
│ ├── 📁 章节4-kafka进阶,ISR OSR AR LW HW LEO ACK原理理论
│ │ ├── 🎬 课时1-同步.mp4
│ │ ├── 🎬 课时2-单机.mp4
│ │ ├── 🎬 课时3-时间戳.mp4
│ │ ├── 🎬 课时4-性能.mp4
│ │ ├── 🎬 课时5-分区可靠性和一致性.mp4
│ │ ├── 🎬 课时6-ack为-1时.mp4
│ │ ├── 🎬 课时7-ack为1时(1).mp4
│ │ ├── 🎬 课时8-ack为1时(2).mp4
│ │ ├── 🎬 课时9-redis.mp4
│ │ └── 🎬 课时10-KAFKA.mp4
│ ├── 📁 章节5-观察验证ISR弹性,时间戳索引,自定义offset便宜
│ │ ├── 🎬 课时1-课堂概述.mp4
│ │ ├── 🎬 课时2-索引.mp4
│ │ ├── 🎬 课时3-消费者数据可靠性.mp4
│ │ └── 🎬 课时4-时间戳之自定义消费数据.mp4
│ ├── 📁 章节6-kafka之producer的参数,源码,原理剖析
│ │ ├── 🎬 课时1-生产者的基本架构.mp4
│ │ ├── 🎬 课时2-阻塞和非阻塞.mp4
│ │ ├── 🎬 课时3-producer的参数调整.mp4
│ │ └── 🎬 课时4-源码剖析.mp4
│ ├── 📁 章节7-kafka 源码分析producer及通信原理
│ │ ├── 🎬 课时1-io前置知识介绍.mp4
│ │ ├── 🎬 课时2-poll的maybeUpdate、select、handler.mp4
│ │ ├── 🎬 课时3-服务端接受和管理连接.mp4
│ │ └── 🎬 课时4-完成请求和响应的正确匹配.mp4
│ ├── 📁 章节8-kafka 源码分析broker网络层通信原理
│ │ ├── 🎬 课时1-课前概述.mp4
│ │ ├── 🎬 课时2-外界如何通信和内部数据写磁盘.mp4
│ │ ├── 🎬 课时3-旧知识回顾和课堂答疑.mp4
│ │ ├── 🎬 课时4-生产者在socket中如何保证顺序.mp4
│ │ ├── 🎬 课时5-课堂答疑.mp4
│ │ └── 🎬 课时6-为什么要有这么多中间件.mp4
│ ├── 📁 章节9-kafka broker api源码解析produce 及持久化原理
│ │ ├── 🎬 课时1-前置知识.mp4
│ │ ├── 🎬 课时2-shouldRoll介绍.mp4
│ │ ├── 🎬 课时3-log、offset、timeIndex.mp4
│ │ └── 🎬 课时4-fileRecords和offsetIndex.mp4
│ ├── 📁 章节10-Replica源码分析数据同步原理及ACK细节(一)
│ │ ├── 🎬 课时1-Replica.mp4
│ │ ├── 🎬 课时2-回顾知识点.mp4
│ │ ├── 🎬 课时3-replicaManger(1).mp4
│ │ ├── 🎬 课时4-replicaManger(2).mp4
│ │ ├── 🎬 课时5-replicaManger(3).mp4
│ │ ├── 🎬 课时6-replicaManger(4).mp4
│ │ ├── 🎬 课时7-答疑(1).mp4
│ │ ├── 🎬 课时8-答疑(2).mp4
│ │ ├── 🎬 课时9-appendToLocalLog.mp4
│ │ ├── 🎬 课时10-replica同步机制.mp4
│ │ ├── 🎬 课时11-replica同步机制.mp4
│ │ ├── 🎬 课时12-答疑.mp4
│ │ └── 🎬 课时13-总结.mp4
│ ├── 📁 章节11-Replica源码分析数据同步原理及ACK细节(二)
│ │ ├── 🎬 课时1-replicaManger中ACK等于-1时.mp4
│ │ ├── 🎬 课时2-replicafetcherManager(1).mp4
│ │ ├── 🎬 课时3-replicafetcherManager(2).mp4
│ │ ├── 🎬 课时4-Leader处理fetch.mp4
│ │ ├── 🎬 课时5-Leader返回结果.mp4
│ │ ├── 🎬 课时6-partitionStates.mp4
│ │ ├── 🎬 课时7-总结.mp4
│ │ └── 🎬 课时8-答疑.mp4
│ ├── 📁 章节12-controller源码原理分析
│ │ ├── 🎬 课时1-Controller.mp4
│ │ ├── 🎬 课时2-initZkClient(time).mp4
│ │ ├── 🎬 课时3-KafkaController.mp4
│ │ ├── 🎬 课时4-select.mp4
│ │ ├── 🎬 课时5-MetadataCache和MetadataSnapshot和updateMetadata.mp4
│ │ ├── 🎬 课时6-initializeControllerContext.mp4
│ │ ├── 🎬 课时7-ControllerChannelManager.mp4
│ │ └── 🎬 课时8-MetadataSnapshot.mp4
│ ├── 📁 章节13-create-topic源码分析
│ │ ├── 🎬 课时1-创建topics和参数讲解.mp4
│ │ ├── 🎬 课时2-cli-client.mp4
│ │ ├── 🎬 课时3-AdminZkClient.mp4
│ │ ├── 🎬 课时4-assigReplicasToBrokers方法讲解(1).mp4
│ │ ├── 🎬 课时5-assigReplicasToBrokers方法讲解(2).mp4
│ │ ├── 🎬 课时6-assigReplicasToBrokers方法讲解.mp4
│ │ ├── 🎬 课时7-assigReplicasToBrokers方法讲解(4).mp4
│ │ ├── 🎬 课时8-assigReplicasToBrokers方法讲解(5).mp4
│ │ ├── 🎬 课时9-作业和问答(1).mp4
│ │ └── 🎬 课时10-作业和问答(2).mp4
│ ├── 📁 章节14-controller源码分析之协调metadata
│ │ ├── 🎬 课时1-讲解小作业.mp4
│ │ ├── 🎬 课时2-讲解CREATE_TOPICS方法.mp4
│ │ ├── 🎬 课时3-select方法讲解.mp4
│ │ ├── 🎬 课时4-process方法讲解.mp4
│ │ ├── 🎬 课时5-onNewPartitionCreation方法讲解1.mp4
│ │ ├── 🎬 课时6-handleStateChanges方法讲解1.mp4
│ │ ├── 🎬 课时7-partitionStateMachine方法讲解.mp4
│ │ ├── 🎬 课时8-ControllerBrokerRequestBatch方法讲解.mp4
│ │ ├── 🎬 课时9-onNewPartitionCreation方法讲解2.mp4
│ │ ├── 🎬 课时10-initializeLeaderAndIsrForPartitions方法讲解.mp4
│ │ ├── 🎬 课时11-sendRequestToBrokers方法讲解.mp4
│ │ ├── 🎬 课时12-KafkaApis讲解.mp4
│ │ ├── 🎬 课时13-handl eTopicMetadataRequest方法讲解.mp4
│ │ ├── 🎬 课时14-答疑1.mp4
│ │ ├── 🎬 课时15-handleLeaderAndIsrRequest方法讲解.mp4
│ │ ├── 🎬 课时16-becomeLeaderOrFollower方法讲解.mp4
│ │ ├── 🎬 课时17-总结.mp4
│ │ └── 🎬 课时18-答疑2.mp4
│ ├── 📁 章节15-consumer源码分析coordinator
│ │ ├── 🎬 课时1-consumer.mp4
│ │ ├── 🎬 课时2-Scalable.mp4
│ │ ├── 🎬 课时3-问题:分布式 治理或协调.mp4
│ │ ├── 🎬 课时4-kafkaconsumer.mp4
│ │ ├── 🎬 课时5-NetworkClient.mp4
│ │ ├── 🎬 课时6-poll方法.mp4
│ │ ├── 🎬 课时7-acquireAndEnsureOpen方法.mp4
│ │ ├── 🎬 课时8-poll方法中do循环.mp4
│ │ ├── 🎬 课时9-ConsumerCoordinator类中的poll方法.mp4
│ │ ├── 🎬 课时10-sendFindCoordinatorRequest方法.mp4
│ │ ├── 🎬 课时11-FIND_COORDINATOR调用handleFindCoordinatorRequest方法.mp4
│ │ ├── 🎬 课时12-答疑1.mp4
│ │ ├── 🎬 课时13-FindCoordinatorResponseHandler.mp4
│ │ ├── 🎬 课时14-joingroup.mp4
│ │ ├── 🎬 课时15-groupadd及LEADER的Assignment.mp4
│ │ ├── 🎬 课时16-Stable.mp4
│ │ ├── 🎬 课时17-答疑2.mp4
│ │ ├── 🎬 课时18-Stable.mp4
│ │ └── 🎬 课时19-答疑3.mp4
│ ├── 📁 章节16-kafka源码Consumer全流程分析
│ │ ├── 🎬 课时1-updateFetchPositions方法讲解.mp4
│ │ ├── 🎬 课时2-updateFetchPositions方法分析.mp4
│ │ ├── 🎬 课时3-pollForFetches方法讲解.mp4
│ │ ├── 🎬 课时4-fetchablePartitions方法讲解.mp4
│ │ ├── 🎬 课时5-fetcher类讲解.mp4
│ │ ├── 🎬 课时6-kafka消息机制.mp4
│ │ ├── 🎬 课时7-handleCompletedReceives.mp4
│ │ ├── 🎬 课时8-答疑1.mp4
│ │ ├── 🎬 课时9-submit offset持久化.mp4
│ │ ├── 🎬 课时10-handleLeaderAndIsrRequest(1).mp4
│ │ ├── 🎬 课时11-handleLeaderAndIsrRequest(2).mp4
│ │ └── 🎬 课时12-答疑2.mp4
│ ├── 📁 章节17-kafka事务原理导论及详解
│ │ ├── 🎬 课时1-kafka事务.mp4
│ │ ├── 🎬 课时2-生产者.mp4
│ │ ├── 🎬 课时3-消息信息传递的等级.mp4
│ │ ├── 🎬 课时4-多条消息发送事务是什么样的.mp4
│ │ ├── 🎬 课时5-答疑(1).mp4
│ │ ├── 🎬 课时6-课后作业及讲解写作业方法.mp4
│ │ └── 🎬 课时7-答疑(2).mp4
│ ├── 📁 章节18-kafka connect原理剖析及源码分析
│ │ ├── 🎬 课时1-kafka connect.mp4
│ │ ├── 🎬 课时2-source和sink.mp4
│ │ ├── 🎬 课时3-platform框架.mp4
│ │ ├── 🎬 课时4-kafka中的角色.mp4
│ │ ├── 🎬 课时5-演示实例.mp4
│ │ ├── 🎬 课时6-如何基于他的api开发一个connect和他的platform是怎么运行的.mp4
│ │ ├── 🎬 课时7-FileStreamSoutceConnetor类.mp4
│ │ ├── 🎬 课时8-FileStreamSoutceTask类.mp4
│ │ ├── 🎬 课时9-ConnectStandalone类.mp4
│ │ ├── 🎬 课时10-worker类.mp4
│ │ ├── 🎬 课时11-workersourcetask类.mp4
│ │ ├── 🎬 课时12-答疑(1).mp4
│ │ ├── 🎬 课时13-kafka connect的好处.mp4
│ │ ├── 🎬 课时14-总结.mp4
│ │ └── 🎬 课时15-答疑(2).mp4
│ └── 📁 章节19-kafka总结及综合解决问题思路
│ ├── 🎬 课时1-kafka总结.mp4
│ ├── 🎬 课时2-kafka框架模型.mp4
│ ├── 🎬 课时3-ack生产过程.mp4
│ ├── 🎬 课时4-事务.mp4
│ ├── 🎬 课时5-消费进度和分配规则.mp4
│ ├── 🎬 课时6-kafka灵活性.mp4
│ ├── 🎬 课时7-处理过程.mp4
│ ├── 🎬 课时8-第一阶段的同一组4个consumer不能自动提交offset.mp4
│ ├── 🎬 课时9-多分区处理.mp4
│ ├── 🎬 课时10-答疑(1).mp4
│ ├── 🎬 课时11-本课总结.mp4
│ └── 🎬 课时12-答疑(2).mp4
└── 📁 68.音乐数据中心平台离线数仓综合项目-239
├── 📁 章节1-数据仓库之数据库范式与ER实体关系模型建模
│ ├── 🎬 课时1-数据库三范式.mp4
│ ├── 🎬 课时2-ER实体模型.mp4
│ ├── 🎬 课时3-数据仓库意义.mp4
│ ├── 🎬 课时4-数据仓库介绍.mp4
│ ├── 🎬 课时5-数据仓库发展过程(1).mp4
│ └── 🎬 课时6-数据仓库发展过程(2).mp4
├── 📁 章节2-数据仓库之维度建模与数据仓库分析模型
│ ├── 🎬 课时1-课前回顾.mp4
│ ├── 🎬 课时2-维度建模-事实表.mp4
│ ├── 🎬 课时3-维度建模-维度表.mp4
│ ├── 🎬 课时4-星型模型.mp4
│ ├── 🎬 课时5-雪花模型.mp4
│ ├── 🎬 课时6-星型模型与雪花模型对比.mp4
│ ├── 🎬 课时7-维度建模案例.mp4
│ ├── 🎬 课时8-数据仓库分层设计(1).mp4
│ ├── 🎬 课时9-数据仓库分层设计(2).mp4
│ ├── 🎬 课时10-数据仓库分层设计(3).mp4
│ ├── 🎬 课时11-数据仓库分层案例.mp4
│ └── 🎬 课时12-数据库与数据仓库区别.mp4
├── 📁 章节3-数据仓库之数据仓库分层设计与命名规范
│ ├── 🎬 课时1-课前回顾.mp4
│ ├── 🎬 课时2-项目介绍.mp4
│ ├── 🎬 课时3-项目架构图(1).mp4
│ ├── 🎬 课时4-项目架构图(2).mp4
│ ├── 🎬 课时5-项目架构图(3).mp4
│ ├── 🎬 课时6-集群配置与项目人数、周期.mp4
│ ├── 🎬 课时7-数据仓库模型.mp4
│ ├── 🎬 课时8-数据仓库命名规范.mp4
│ └── 🎬 课时9-业务分析.mp4
├── 📁 章节4-音乐数仓平台之项目架构及数仓分层、主题设计
│ ├── 🎬 课时1-回顾项目前期准备内容.mp4
│ ├── 🎬 课时2-歌曲热度与歌手热度排行需求.mp4
│ ├── 🎬 课时3-歌曲热度与歌手热度排行需要的数据.mp4
│ ├── 🎬 课时4-数据仓库分层设计.mp4
│ ├── 🎬 课时5-数据处理流程.mp4
│ ├── 🎬 课时6-清洗客户端日志数据,保存到数仓ODS层(1).mp4
│ ├── 🎬 课时7-清洗客户端日志数据,保存到数仓ODS层(2).mp4
│ └── 🎬 课时8-存储数据表介绍.mp4
├── 📁 章节5-数仓之歌曲影响力指数分析
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-项目目录结构.mp4
│ ├── 🎬 课时3-ProduceClintLog处理的过程代码解析.mp4
│ ├── 🎬 课时4-演示测试.mp4
│ ├── 🎬 课时5-数据表介绍 创建.mp4
│ ├── 🎬 课时6-安装Sqoop.mp4
│ ├── 🎬 课时7-抽取MySQL中song数据到Hive ODS.mp4
│ ├── 🎬 课时8-执行脚本.mp4
│ ├── 🎬 课时9-清洗数据表介绍.mp4
│ └── 🎬 课时10-清洗“歌库歌曲表”生成“歌曲基本信息日全量表”基本讲解.mp4
├── 📁 章节6-数仓之歌手影响力指数分析
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-清洗“歌库歌曲表”生成“歌曲基本信息日全量表代码讲解(1).mp4
│ ├── 🎬 课时3-清洗“歌库歌曲表”生成“歌曲基本信息日全量表代码讲解(2).mp4
│ ├── 🎬 课时4-歌曲特征日统计表介绍.mp4
│ ├── 🎬 课时5-EDS层生成“歌曲特征日统计表”.mp4
│ ├── 🎬 课时6-运行演示.mp4
│ └── 🎬 课时7-微信指数.mp4
├── 📁 章节7-数仓之Sqoop全量增量数据导入
│ ├── 🎬 课时1-复习.mp4
│ ├── 🎬 课时2-开窗函数.mp4
│ ├── 🎬 课时3-表数据介绍.mp4
│ ├── 🎬 课时4-统计歌手和歌曲热度需求.mp4
│ ├── 🎬 课时5-统计歌手和歌曲热度代码讲解.mp4
│ ├── 🎬 课时6-歌手热度代码讲解.mp4
│ ├── 🎬 课时7-回顾及下面内容引入.mp4
│ ├── 🎬 课时8-配置运行Azkaban(1).mp4
│ ├── 🎬 课时9-配置运行Azkaban(2).mp4
│ └── 🎬 课时10-启动Azkaban.mp4
├── 📁 章节8-数仓之Azkaban任务流调度使用及原理
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-构建工作流(1).mp4
│ ├── 🎬 课时3-构建工作流(2).mp4
│ ├── 🎬 课时4-回顾歌曲歌手热度统计数据流转图.mp4
│ ├── 🎬 课时5-使用Azkaban调度歌曲歌手热度-任务一.mp4
│ ├── 🎬 课时6-使用Azkaban调度歌曲歌手热度-任务二 三 四.mp4
│ ├── 🎬 课时7-使用Azkaban调度歌曲歌手热度-任务五 六.mp4
│ ├── 🎬 课时8-编写6个任务.mp4
│ ├── 🎬 课时9-创建六张任务表.mp4
│ ├── 🎬 课时10-执行任务.mp4
│ ├── 🎬 课时11-Azkaban 问题.mp4
│ ├── 🎬 课时12-代码问题.mp4
│ └── 🎬 课时13-Superset.mp4
├── 📁 章节9-数仓之Superset BI可视化工具使用及原理
│ ├── 🎬 课时1-解决上节课代码问题.mp4
│ ├── 🎬 课时2-Superset引入及window安装.mp4
│ ├── 🎬 课时3-Superset-Linux安装.mp4
│ ├── 🎬 课时4-登入Superset.mp4
│ ├── 🎬 课时5-连接mysql使用(1).mp4
│ ├── 🎬 课时6-连接mysql使用(2).mp4
│ └── 🎬 课时7-连接mysql使用(3).mp4
├── 📁 章节10-数仓之机器详情ODS EDS DM分层设计
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-第二个业务:机器详细信息统计需求.mp4
│ ├── 🎬 课时3-数据表介绍.mp4
│ ├── 🎬 课时4-业务分析.mp4
│ ├── 🎬 课时5-数仓分层设计.mp4
│ ├── 🎬 课时6-处理业务(1).mp4
│ ├── 🎬 课时7-处理业务(2).mp4
│ ├── 🎬 课时8-省份 城市表创建导入.mp4
│ ├── 🎬 课时9-针对Ods层数据进行分析获取EDS层-数据.mp4
│ └── 🎬 课时10-针对Ods层数据进行分析获取EDS层-思路.mp4
├── 📁 章节11-数仓之机器详情自动化调度及数据可视化
│ ├── 🎬 课时1-回顾.mp4
│ ├── 🎬 课时2-清洗数据(1).mp4
│ ├── 🎬 课时3-清洗数据(2).mp4
│ ├── 🎬 课时4-查询.mp4
│ ├── 🎬 课时5-运行.mp4
│ ├── 🎬 课时6-配置到机器学习中.mp4
│ ├── 🎬 课时7-准备脚本 运行脚本.mp4
│ ├── 🎬 课时8-启动Superset 可视化.mp4
│ └── 🎬 课时9-回答问题及下节课内容安排.mp4
├── 📁 章节12-数仓之用户画像表模型设计
│ ├── 🎬 课时1-第三个业务用户画像,统计当天7日活跃用户.mp4
│ ├── 🎬 课时2-数仓分层设计.mp4
│ ├── 🎬 课时3-EDS层 --用户主题.mp4
│ ├── 🎬 课时4-数据处理.mp4
│ ├── 🎬 课时5-创建表TO_YCAK_USR_D.mp4
│ ├── 🎬 课时6-创建表TO_YCAK_USR_APP_D.mp4
│ ├── 🎬 课时7-创建表TO_YCAK_USR_LOGIN_D.mp4
│ ├── 🎬 课时8-sqoop增量导入.mp4
│ ├── 🎬 课时9-分析获取.mp4
│ ├── 🎬 课时10-代码实现.mp4
│ ├── 🎬 课时11-查询获取当前日连续7日活跃用户.mp4
│ ├── 🎬 课时12-azkaban任务流调度.mp4
│ └── 🎬 课时13-总计.mp4
├── 📁 章节13-数仓之用户画像自动化调度及数据可视化
│ ├── 🎬 课时1-上节课内容回顾.mp4
│ ├── 🎬 课时2-Azkaban进行任务流调度.mp4
│ ├── 🎬 课时3-使用superSet可视化.mp4
│ ├── 🎬 课时4-第四个业务:商户营收统计.mp4
│ ├── 🎬 课时5-第四个业务分析:商户营收统计.mp4
│ ├── 🎬 课时6-数据仓库分层设计:源业系统数据.mp4
│ ├── 🎬 课时7-数据仓库分层设计:EDS.mp4
│ ├── 🎬 课时8-数据仓库分层设计:DM层,EDS层,ODS层分析.mp4
│ └── 🎬 课时9-数据仓库分层设计:DM层,EDS层,ODS层分析(二).mp4
├── 📁 章节14-数仓之高德api获取机器上报位置
│ ├── 🎬 课时1-回顾机器营收业务.mp4
│ ├── 🎬 课时2-分析获取TW_MAC_LOC_D机器位置信息日统计表.mp4
│ ├── 🎬 课时3-增量导入.mp4
│ ├── 🎬 课时4-针对TO_YCAK_USR_LOC_D表数据,调用高德API获取位置信息得到TW_MAС_LOC_D.mp4
│ ├── 🎬 课时5-高德地图API的使用.mp4
│ ├── 🎬 课时6-分析数据-- Kafka [给运营中心使用].mp4
│ ├── 🎬 课时7-调高德api.mp4
│ ├── 🎬 课时8-rdd算子操作访问高德api.mp4
│ ├── 🎬 课时9-代码实现.mp4
│ ├── 🎬 课时10-代码实现(二).mp4
│ └── 🎬 课时11-代码实现(三).mp4
├── 📁 章节15-数仓之商户、地区营收统计分析
│ ├── 🎬 课时1-上节课回顾:数据仓库分层设计.mp4
│ ├── 🎬 课时2-上节课回顾:EDS.mp4
│ ├── 🎬 课时3-上节课回顾:各个ODS层与EDS层表之间的流转关系如下.mp4
│ ├── 🎬 课时4-统计机器营收数据信息.mp4
│ ├── 🎬 课时5-增量导入.mp4
│ ├── 🎬 课时6-ODS层与EDS层表之间的流转关系.mp4
│ ├── 🎬 课时7-针对ODS层TO_YCAK_CNSM_D清洗得到EDS层.mp4
│ ├── 🎬 课时8-代码实现.mp4
│ ├── 🎬 课时9-获取EDS层机器日营收统计表TW_MAC_STAT_D.mp4
│ ├── 🎬 课时10-统计每台机器每个套餐、每种支付类型对应的退款情况.mp4
│ └── 🎬 课时11-获取机器日营收情况统计表.mp4
├── 📁 章节16-数仓之营收分析自动化调度及数据可视化
│ ├── 🎬 课时1-复习上节内容.mp4
│ ├── 🎬 课时2-数据业务分析-获取DM层:商户日营收统计表【mysgl中也有对应的表】.mp4
│ ├── 🎬 课时3-数据业务分析-获取DM层:地区营收日统计表.mp4
│ ├── 🎬 课时4-使用Azkaban进行任务流调度.mp4
│ ├── 🎬 课时5-使用Azkaban进行任务流调度(二).mp4
│ ├── 🎬 课时6-使用Azkaban调度步骤.mp4
│ ├── 🎬 课时7-使用Azkaban调度步骤(二).mp4
│ ├── 🎬 课时8-数据处理流程.mp4
│ └── 🎬 课时9-SuperSet.mp4
├── 📁 章节17-数仓之实时用户、机器日志采集接口实现
│ ├── 🎬 课时1-流式日志数据采集接口.mp4
│ ├── 🎬 课时2-日志代码实现.mp4
│ ├── 🎬 课时3-日志代码实现(二).mp4
│ ├── 🎬 课时4-日志代码实现(三).mp4
│ ├── 🎬 课时5-日志代码实现(四).mp4
│ ├── 🎬 课时6-日志代码实现(五).mp4
│ ├── 🎬 课时7-日志代码实现(六).mp4
│ ├── 🎬 课时8-配置信息解析.mp4
│ ├── 🎬 课时9-数据处理.mp4
│ ├── 🎬 课时10-流式业务:统计每台机器实时pvuv.mp4
│ └── 🎬 课时11-流式业务:统计每台机器实时pvuv(二).mp4
├── 📁 章节18-数仓之Flume实时日志采集实现
│ ├── 🎬 课时1-上节课回顾.mp4
│ ├── 🎬 课时2-统计机器uv.mp4
│ ├── 🎬 课时3-Receiver模式.mp4
│ ├── 🎬 课时4-Direct模式.mp4
│ ├── 🎬 课时5-pirect模式.mp4
│ ├── 🎬 课时6-利用Kafka维护消费者offset.mp4
│ ├── 🎬 课时7-代码实现.mp4
│ ├── 🎬 课时8-代码实现(二).mp4
│ ├── 🎬 课时9-代码实现(三).mp4
│ ├── 🎬 课时10-统计实时歌曲热榜.mp4
│ └── 🎬 课时11-统计实时歌曲热榜(二).mp4
└── 📁 章节19-数仓之实时用户地区日活分析
├── 🎬 课时1-Spark优化:资源优化.mp4
├── 🎬 课时2-Spark优化:并行度优化.mp4
├── 🎬 课时3-Spark优化:代码优化.mp4
├── 🎬 课时4-代码优化:尽量避免使用shuffle算,使用map端有预聚合的操作.mp4
├── 🎬 课时5-代码优化:使用高性能的算子,使用广播变量,使用Kryo序列化.mp4
├── 🎬 课时6-代码优化:优化数据结构,总结.mp4
├── 🎬 课时7-Shuffle优化.mp4
├── 🎬 课时8-内存优化.mp4
├── 🎬 课时9-堆外内存优化.mp4
├── 🎬 课时10-数据倾斜的处理.mp4
├── 🎬 课时11-数据倾斜解决方式.mp4
├── 🎬 课时12-数据倾斜解决方式(二).mp4
└── 🎬 课时13-问题答疑.mp4 相关资源
尚硅谷 HarmonyOS鸿蒙应用开发(入门)
夸克
尚硅谷 HarmonyOS鸿蒙应用开发(入门)
编程开发 夸克网盘
2026-10-19
AI全栈测试开发进阶3期
夸克
AI全栈测试开发进阶3期
编程开发 人工智能夸克网盘
2026-10-19
从架构设计到实现掌握云原生开发
夸克
从架构设计到实现掌握云原生开发
编程开发 夸克网盘
2026-10-19
深入 Vue3+ TypeScript 技术栈-coderwhy大神新课
夸克
深入 Vue3+ TypeScript 技术栈-coderwhy大神新课
编程开发 夸克网盘
2026-10-19
小曾-软件逆向工程 VM二期还原班
夸克
小曾-软件逆向工程 VM二期还原班
编程开发 夸克网盘
2026-10-19
福利皮- 安卓逆向系列课程
夸克
福利皮- 安卓逆向系列课程
编程开发 夸克网盘
2026-10-19