第一阶段 Java |
Java Code |
JavaWeb |
EE框架 |
项目 |
l Java IO流 l Java 多线程 l Java Reflection l 网络编程 l Java JUC线程 l Java NIO l Java8 新特性 |
l Mysql 基础 & SQL基础 l JDBC l HTML5与CSS3 l jQuery l AJAX&JSON l Servlet & JSP l Web服务器基础 l Cookie & Session |
l Spring l SpringMVC l Mybatis l Maven l Redis l Git/Git Hub l MySQL高级 l JVM原&MnogDB |
l 学生管理系统 l 投票系统 |
第二阶段 Linx |
Linx&vi/vim |
General Command
|
系统管理&RPM |
Shell编程 |
Shell Yum仓库配置 |
1. 概述 2. 下载地址、Linux特点 3. Linux和Windows区别 4. 安装VMWare虚拟机 5. 安装CentOS 6. 安装VMTools工具 7. 虚拟机屏幕保护设置 8. IVT虚拟化支持 9. 树状目录结构 10. 一般模式、编辑模式 11. 指令模式
|
1. 帮助命令 2. 文件目录 3. 时间日期类 4. 用户管理命令 5. 用户组管理命令 6. 文件权限类 7. 磁盘分区类 8. 搜索查找类 9. 进程线程类 10. 压缩解压类 11. 后台服务管理类 |
1. 查看和配置网络IP网关 2. 配置主机名 3. 防火墙、关机重启 4. 找回root密码 5. 安装SecureCRT 6. SecureCRT中文乱码 7. 查询(rpm-qa) 8. 卸载(rpm-e) 9. 安装(rpm-ivh) 10. Crond系统定时任务
|
1. Shell概述 2. Shell脚本的执行方式 3. Shell定义变量 4. 将命令的返回值给变量 5. 设置环境变量 6. 位置参数变量 7. 预定义变量 8. 运算符 9. 条件判断语句 10. 常用判断条件 11. If判断 |
1. Case语句 2. For循环 3. While循环 4. 系统函数 5. 自定义函数 6. 为什么要制作本地YUM源 7. Yum的常用命令 8. 关联网络yum源 9. 制作本地Yum源 10. 制作只有本机能访问的本地Yum源 11. 制作其他主机通过网络能访问本地Yum源 |
第三阶段 Hadoop 体系 |
01 Hadoop生态 |
02 Hadoop入门 |
03 Hadoop伪分布式模式 |
04 Hadoo完全分布式模式 |
05 源码编译&HDFS入门 |
1、大数据概念 2、大数据特点 3、大数据能干啥 4、大数据发展前景 5、企业数据部的业务数据分析 6、企业数据部的一般组织结构 7、Hadoop三大发行版本 8、Hadoop的优势 9、大数据技术生态体系 10、推荐系统框架图 |
1、虚拟机网络模式设置为NAT 2、克隆虚拟机 3、修改为静态IP 4、修改主机名 5、关闭防火墙 6、在opt目录下创建文件夹 7、安装JDK 8、安装Hadoop 9、本地运行grep案例 10、本地运行官方wordcount案例 |
1、伪分布运行Hadoop案例 2、启动HDFS运行Mapreduce程序 3、YarN运行MapReduce程序 4、修改本地临时文件存储目录 5、Hadoop配置文件说明 6、历史服务配置启动查看 7、日志的聚集
|
1、虚拟机准备 2、主机名设置 3、scp&rsync&SSH无密码登陆 4、编写集群分发脚本xsync 5、编写分发脚本xcall 6、配置集群 7、配置启动及测试 8、Hadoop启动停止方式 9、集群时间同步 10、配置集群常见问题 |
1、前期准备工作 2、jar包安装 3、编译源码 4、常见的问题及解决方案 5、HDFS概念 6、HDFS组成 7、HDFS文件块大小 8、HFDS命令语法 9、HFDS命令行案例式操作 10、HDFS客户端环境准备 |
|
第三阶段 Hadoop 体系 |
06 DFS的API操作 |
07 HDFS的IO流操作 |
08 NameNode工作机制 |
09 DataNode工作机制 |
10 HA框架原理 |
1、HDFS获取文件系统 2、HDFS文件上传 3、HDFS文件下载 4、HDFS目录创建 5、HDFS文件夹删除 6、HDFS文件名更改 7、HDFS文件详情查看 8、HDFS文件和文件夹判断 |
1、IO流操作HDFS文件上传 2、IO流操作HDFS文件下载 3、IO流操作HDFS定位读取 4、HDFS写数据流程 5、剖析文件写入 6、网络拓扑 7、架构感知 8、HDFS读取数据流程
|
1、NameNode & 2NN工作机制 2、镜像文件和编辑日志文件 3、滚动编辑日志 4、namenode版本号 5、Hadoop配置文件说明 6、SecondaryNameNode目录结构 7、集群安全模式 8、Namenode多目录配置 9、一致性模型
|
1、DataNode工作机制 2、数据完整行 3、掉线时限参数设置 4、Datanode的目录结构 5、服役新数据节点 6、退役数据节点 7、配置启动及测试 8、DataNode多目录配置
|
1、集群间数据拷贝 2、Hadoop存档 3、快照管理 4、回收站5、HDFS概念 6、HDFS—HA工作机制 7、HDFS-Ha工作要点 8、HFDS—HA自动故障转移工作机制
|
|
第三阶段 Hadoop 体系 |
11 HDFS-HA集群配置 |
12 MapReduce框架原理 |
13 Shuffle机制 |
14 数据压缩 & yarn |
15 MapReduce案例 |
1、环境准备 2、规划集群 3、配置Zookeeper 4、配置HDFS-HA集群 5、启动HDFS-HA集群 6、配置HDFS-HA自动故障转移 7、YARN-HA配置 8、YARN-HA工作机制 9、配置YARN-HA集群 10、HDFS Federation架构设计 |
1、MapReduce核心思想 2、MapReduce进程 3、MapReduce编程规范(八股文) 4、MapReduce程序运行流程分析 5、MapReduce工作流程 6、常用数据序列化类型 7、自定义bean对象实现序列化接口 8、FileInputFormat切片机制 9、CombineTextInputFormat切片机制 10、自定义InputFormat |
1、MapTask工作机制 2、并行度决定机制 3、Shuffle机制 4、Partition分区 5、WritableComparable排序 6、GroupingComparator分组(辅助排序) 7、Combiner合并 8、数据倾斜 & Distributecasche 9、ReduceTask工作机制 10、自定义OutputFormat |
1、MapReduce支持的压缩编码 2、采用的压缩位置 3、压缩配置参数 4、计数器应用 5、数据清洗 6、Yarn的重要概念 7、Yarn工作机制 8、MapReduce作业提交全过程 9、MapReduce开发总结 10、MapReduce参数优化 |
1、统计一堆文件中单词出现的个数 2、把单词按照ASCII码奇偶分区 3、对每一个maptask的输出局部汇总 4、大量小文件的切片优化 5、统计手机号耗费的流量 6、按照手机归属地不同省份输出到不同文件中 7、按照总流量倒序排序 8、不同省份输出文件内部排序 9、求每个订单中最贵的商品 10、reduce端表合并(数据倾斜) |
|
第三阶段 Hadoop 体系 |
16 MapReduce案例(二) |
17 Zookeeper内部原理 |
18 Zookeeper案例 |
19 Hive入门 |
20 Hive命令 & 数据类型 |
1、Map端表合并(Distributedcache) 2、案例十二:小文件处理(自定义InputFormat) 3、自定义日志输出路径(自定义OutputFormat) 4、日志清洗(数据清洗) 5、倒排索引(多job串联) 6、案例十六:找博客共同好友分析 7、案例十七:对数据流的压缩和解压缩 8、在Map输出端采用压缩 9、在Reduce输出端采用压缩
|
1、Zookeeper特点 2、Zookeeper数据结构 3、Zookeeper应用场景 4、Zookeeper下载地址 5、Zookeeper本地模式安装部署 6、Zookeeper内部原理 7、选举机制 8、节点类型 9、stat结构体 10、监听器原理
|
1、什么是Hive 2、为什么使用Hive 3、Hive架构概述 4、Hive 的特点 5、Hive和数据库比较 6、Hive安装地址说明 7、Hive安装部署 8、将本地文件导入Hive案例 9、安装MySql服务器 10、安装MySql客户端 |
1、虚拟机准备 2、主机名设置 3、scp&rsync&SSH无密码登陆 4、编写集群分发脚本xsync 5、编写分发脚本xcall 6、配置集群 7、配置启动及测试 8、Hadoop启动停止方式 9、集群时间同步 10、配置集群常见问题 |
1、Hive常用交互命令 2、Hive其他命令操作 3、Hive常见属性配置 4、Hive数据仓库位置配置 5、Hive运行日志信息配置 6、显示当前数据库,以及查询表的头信息配置 7、参数配置方式 8、Hive数据类型 9、Hive基本数据类型 10、Hive集合数据类型 |
|
第三阶段 Hadoop 体系 |
21 Hive DDL数据定义 |
22 Hive DML数据操作 |
23 Hive查询 |
24 Hive JOIN & 排序 |
25 Hive分桶 & 函数 & 压缩 |
1、创建数据库 2、修改数据库 3、查询数据库 4、显示数据 5、查看数据库详情 6、删除数据库 7、创建管理表 8、创建外部表 9、分区表基本操作及注意事项 10、表重名名 11、增加、修改和删除表分区 12、增加/修改/替换信息 13、删除表 |
1、数据导入 2、向表中装载数据(Load) 3、通过查询豫剧向表中插入数据(Insert) 4、查询语句中创建表并加载数据(as select) 5、创建表时通过location指定加载数据路径 6、Import数据到指定hive表中 7、数据导出 8、Insert导出 9、Hadoop命令导出到本地 10、Hive Shell 命令导出 11、Export到处到HDFS上 12、Sqoop导出 13、清楚表中数据(Trucate) |
1、基本查询(SELECT…FROM) 2、全表和特定字段查询 3、列别名 4、算术运算符 5、常用函数 6、LIMIT语句 7、WHERE语句 8、比较运算符(BETWEEN/IN/ IS NULL) 9、LIKE和RLIKE10、 10、逻辑运算符(AND/OR/NOT) 11、分组 12 GROUP BY语句 13、HAVING语句
|
1、等值JOIN & 表的别名 2、内连接 3、左外连接 4、右外连接 5、满外连接 6、多表连接 7、笛卡尔积 JOIN 8、全局排序(Order By) 9、按照别名排序 10、多个列排序 11、每个MapReduce内部排序(Sort By) 12、分区排序(Distribute By) 13、CLUSTER BY
|
1、分桶表数据存储2、jar包安装 3、分桶抽样查询 4、数据块抽样 5、系统自带的函数 6、自定义函数 7、自定义UDF案例 8、自定义UDAF案例 9、自定义UDTF案例 10、Hadoop源码编译支持snappy压缩 11、Hadoop源码编译环境准备 12、Hadoop压缩配置 13、开启Map输出阶段压缩 |
|
第三阶段 Hadoop 体系 |
26 文件存储 & 企业级调优 |
27 Hive企业级调优(二) |
28 企业级调优(三) |
29 Hive项目实战 |
30 Hive项目实战 |
1、列式存储和行式存储 2、TEXTFILE格式 3、ORC格式 4、PARQUET格式 5、主流文件存储格式对比实验 6、存储和压缩结合 7、Fetch抓取 8、本地模式 9、表的优化 10、小表、大表Join |
1、大表Join大表 2、数据倾斜 3、MapJoin 4、Group By 5、Count(Distinct) 去重统计 6、笛卡尔积 7、行列过滤 8、动态分区调整 9、分桶 10、分区 |
1、Map数 2、小文件进行合并 3、复杂文件增加Map数 4、Reduce数 5、并行执行 6、严格模式 7、JVM重用 8、推测执行压 9、压缩 10、EXPLAIN(执行计划)
|
1、项目视频表 2、项目用户表 3、项目技术选型 4、数据清洗 5、数据分析 6、ETL之ETLUtil 7、ETL之Mapper 8、ETL之Runner 9、执行ETL 10、项目数据准备 |
1、统计视频观看数Top10 2、统计视频类别热度Top10 3、统计出视频观看数最高的20个视频的所属类别以及类别包含Top20视频的个数 4、统计视频观看数Top50所关联视频的所属类别Rank 5、统计每个类别中的视频热度Top10,以Music为例 6、统计每个类别中视频流量Top10,以Music为例 7、统计上传视频最多的用户Top10以及他们上传的观看次数在前20的视频 8、统计每个类别视频观看数Top10 9、JVM堆内存溢出解决方案 10、项目总结 |
第三阶段 Hadoop 体系 |
31 Sqoop |
32 Flume |
33 HBase原理及安装 |
34 HBase集成及运维 |
35 HBase企业级优化 |
1、Sqoop原理 2、Sqoop安装 3、导入数据 4、RDBMS到HDFS 5、RDBMS到Hive 6、导出数据 7、HIVE/HDFS到RDBMS 8、脚本打包 9、常用命令列举 10、命令&参数详解 11、Sqoop的案例实操 |
1、Flume架构 2、Flume角色-Source 3、Flume角色-Channel 4、Flume角色-Sink 5、Flume角色-Event 6、Flume传输过程 7、一:监控端口数据 8、案例二:实时读取本地文件到HDFS 9、案例三:实时读取目录文件到HDFS 10、案例四:Flume与Flume之间数据传递:单Flume多Channel、Sink, 11、案例五:Flume与Flume之间数据传递,多Flume汇总数据到单Flume
|
1、HBase的角色 2、HBase的架构 3、HBase部署与使用 4、HBase基本操作 5、HBase表的操作 6、HBase读数据流程 7、HBase写数据流程 8、HBase JavaAPI 9、安装Maven并配置环境变量 10、新建Maven Project 11、编写HBaseAPI程序 |
1、官方HBase-MapReduce 2、自定义HBase-MapReduce1 3、自定义HBase-MapReduce2 4、HBase与Hive的对比 5、HBase与Hive集成使用 6、与Sqoop的集成 7、常用的Shell操作 8、数据的备份与恢复 9、节点的服役 10、节点的退役 11、版本的确界 |
1、HBase高可用 2、Hadoop的通用性优化 3、Linux优化 4、Zookeeper优化 5、HBase优化 6、HBase预分区优化 7、RowKey设计 8、内存优化 9、基础优化 10、HBase在商业项目中的能力 11、HBase2.0新特性 |
|
第三阶段 Hadoop 体系 |
36 HBase微博项目 |
37 Azkaban |
38 Oozie |
39 HUE |
40 Kafka |
1、微博系统需求分析 2、微博系统代码设计 3、创建命名空间以及表名的定义 4、创建微博内容表 5、创建用户关系表 6、发布微博内容 7、添加关注用户 8、移除(取关)用户 9、获取关注的人的微博内容 10、测试
|
1、各种调度工具特性对比 2、Azkaban与Oozie对比 3、Azkaban特点 4、Azkaban下载地址 5、Azkaban安装部署 6、案例一:Command类型之单一job 7、案例二:Command类型之多job工作流 8、案例三:HDFS操作任务调度 9、案例四:MapReduce任务调度 10、案例五:Hive脚本任务调度 |
1、Oozie框架原理 2、Oozie的功能模块 3、Oozie的常用节点 4、Oozie的安装部署 5、例一:Oozie调度shell脚本 6、例二:Oozie逻辑调度执行多个Job 7、例三:Oozie调度MapReduce任务 8、例四:Oozie定时任务/循环任务
|
1、HUE简介 2、HUE安装 3、案例一:HUE与HDFS集成案例 4、案例二:HUE与YARN集成案例 5、案例三:HUE与Hive集成案例 6、案例四:HUE与Mysql集成案例 7、案例五:HUE与Oozie集成案例 8、案例六:HUE与HBase集成案例 9、案例六:HUE与HBase集成案例 10、案例七:HUE与Zookeeper集成案例
|
1、Kafka是什么 2、消息队列内部实现原理 3、为什么需要消息队列 4、Kafka架构 5、Kafka集群规划 6、Kafka集群部署 7、Kafka命令行操作 8、Broker配置信息 9、Producer配置信息 10、Consumer配置信息
|
|
第三阶段 Hadoop 体系 |
41 Kafka工作流程分析 |
42 Kafka API案例实操 |
43 Storm入门 |
44 Storm组件 & 集群搭建 |
45 Storm API案例实操 |
1、Kafka生产过程分析 2、分区(Partition) 3、副本(Replication) 4、写入流程 5、broker 存储方式 6、broker存储策略 7、Zookeeper存储结构 8、Kafka消费过程分析 9、高级API 10、低级API 11、组、消费方式 12、组案例
|
1、Kafka生产者Java API 2、创建生产者(过时的API) 3、创建生产者(新API 4、创建生产者带回调函数(新API) 5、自定义分区生产者案例 6、Kafka消费者Java API 7、拦截器原理 8、拦截器案例 9、Kafka Streams简介 10、Kafka Streams特点 11、要有Kafka Stream 12、Kafka Stream数据清洗案例
|
1、离线计算是什么? 2、流式计算是什么 3、Storm是什么? 4、Storm与Hadoop的区别 5、Storm应用场景及行业案例 6、Storm特点 7、Storm编程模型 8、元组(Tuple) 9、流(Stream) 10、水龙头(Spout) 11、转接头(Bolt) 12、拓扑(Topology |
1、主控节点与工作节点 2、Nimbus进程与Supervisor进程 3、流分组(Stream grouping) 4、工作进程(Worker) 5、执行器(Executor) 6、任务(Task) 7、实时流计算常见架构图 8、Storm集群规划 9、Storm集群搭建 10、配置集群 11、Storm日志信息查看 12、Storm命令行操作 |
1、Component组件 2 、spout水龙头 3、bolt转接头 4、spout的tail特性 5、网站日志处理案例 6、将接收到日志的会话id打印在控制台案例 7、动态增加日志,查看控制台打印信息案例 8、分组策略和并发度 9、实时单词统计案例 10、实时计算网站PV案例 11、实时计算网站UV去重案例 12、常见问题总结
|
第四阶段 Spark 体系 |
01 Scala入门 |
02 Scala数据结构 |
03 Scala模式匹配 |
04 高阶函数 & 类 & 对象 |
05 Scala包和引入 & 继承 |
1、安装Scala 2、配置IDEA环境 3、使用Scala REPL 4、使用Scala Doc 5、声明值和变量 6、常用类型 7、算术和操作符重载 8、调用函数和方法 9、apply、update方法 10、option类型 11、If else表达式、while表达式、for表达式 12、函数 13、过程、懒值、异常 |
1、主要的集合特质 2、数组、映射、元组、队列、堆栈、列表、集 3、添加去除元素操作符 4、将函数映射到集合 5、化简、折叠、扫描 6、拉链操作 7、迭代器 8、流(不可变列表) 9、懒视图 10与java集合的互操作总结 11、线程安全的集合 12、并行集合 13、操作符概述 |
1、更好的switch 2、守卫 3、模式中的变量 4、类型模式 5、匹配数组、列表和元组 6、提取器 7、变量声明中的模式 8、For表达式中的模式 9、样例类 10、Copy方法和带名参数 11、Case语句的中置表达式 12、匹配嵌套结构 13、密封类、模拟枚举、偏函数 |
1、作为参数的函数 2、匿名函数、高阶函数 3、参数(类型)推断 4、闭包、柯里化、控制抽象 5、简单类和无参方法 6、Getter、Setter方法 7、对象私有字段 8、Bean属性、构造器 9、嵌套类 10、单例对象、伴生对象 11、Apply方法 12、应用程序对象 13、枚举
|
1、包、作用域、包对象 2、包可见性、引入 3、重命名和隐藏方法 4、继承类 5、重写方法 6、类型检查和转换 7、受保护的字段和方法 8、超类的构造 9、重写字段 10、匿名子类 11、抽象类 12、构造顺序和提前定义 13、Scala继承层级 |
|
第四阶段 Spark 体系 |
06 Scala特质 |
07 注解 & 类型参数 |
08 Scala隐式转换 |
09 Scala高级类型 |
10 Scala Akka实例实操 |
1、不允许多重继承 2、当做接口使用的特质 3、带有具体实现的特质 4、带有特质的对象 5、叠加在一起的特质 6、在特质中重写抽象方法 7、当做富接口使用的特质 8、特质中的具体字段 9、特质中的抽象字段 10、特质构造顺序 11、初始化特质中的字段 12、扩展类的特质 13、自身类型 |
1、什么可以被注解 2、注解参数 3、注解实现 4、针对java特性的注解 5、用于优化的注解 6、泛型类、泛型函数 7、类型变量限定 8、视图界定 9、上下文界定 10、Manifest上下文界定 11、多重界定 12、类型约束、型变 13、协变和逆变点 |
1、隐式转换 2、利用隐式转换丰富类库功能 3、引入隐式转换 4、隐式转换规则 5、隐式参数 6、利用隐式参数进行隐式转换 7、上下文界定 8、读取行、读取字符 9、读取词法单元和数字 10、从URL或者其他源读取 11、序列化 12、进程控制 13、正则表达式 |
1、类型与类的区别 2、ClassOf与getClass的区别 3、单例类型 4、类型投影 5、类型别名 6、结构类型 7、复合类型 8、中置类型 9、自身类型 10、运行时反射 11、Actor并发 12、Actor模型、Actor消息传递 13、Actor配置、Actor调度 |
1、需求分析 2、业务需求分解 3、项目源代码 4、新建Maven项目AkkaSystem 5、WorkInfo类抽象 6、ActorMessage 7、Master 8、Worker 9、案例运行
|
第四阶段 Spark 体系 |
11 Spark基础解析 |
12 SparkCore应用解析(一) |
13 SparkCore应用解析(二) |
14 SparkSQL应用解析(一) |
15 SparkSQL应用解析(二) |
1、什么是Spark、Spark特点 2、Spark的用户和用途 3、Spark集群安装 4、配置Job History Server 5、配置Spark HA 6、执行第一个spark程序 7、Spark应用提交 8、启动Spark Shell 9、在IDEA中编写WordCount程序 10、在IDEA中本地调试WordCount程序 11、在IDEA中远程调试WordCount程序 |
1、RDD概述 2、RDD弹性 3、RDD特点 4、RDD编程模型 5、RDD持久化 6、RDD检查点机制 7、RDD的依赖关系 8、DAG的生成 9、键值对RDD的转化操作 10、键值对RDD的行动操作 11、键值对RDD的数据分区 |
1、文本文件输入输出 2、JSON文件输入输出 3、CSV文件输入输出 4、SequenceFile文件输入输出 5、对象文件输入输出 6、Hadoop输入输出格式 7、文件系统的输入输出 8、数据库的输入输出 9、RDD编程进阶 10、累加器、自定义累加器 11、广播变量务
|
1、什么是Spark SQL 2、RDD vs DataFrames vs DataSet 3、SparkSQL命令行查询流程 4、IDEA创建SparkSQL程序 5、新的起始点SparkSession 6、创建DataFrames 7、DataFrame常用操作 8、Dataset和RDD互操作 9、类型之间的转换总结 10、用户自定义UDF函数 11、用户自定义聚合函数
|
1、SparkSQL数据源 2、通用加载/保存方法 3、Parquet文件 4、Hive数据库 5、JSON数据集 6、JDBC 7、JDBC/ODBC服务器 8、运行Spark SQL CLI 9、计算所有订单中每年的销售单数、销售总额案例 10计算所有订单每年最大金额订单的销售额案例 11、计算所有订单中每年最畅销案例 |
|
第四阶段 Spark 体系 |
16 SparkStreaming 应用解析 |
17 SparkGraphX 应用解析(一) |
18 SparkGraphX 应用解(二) |
19 Spark内核解析 (一) |
20 Spark内核解析 (二) |
①什么是Spark Streaming ②Spark与Storm的对比 ③运行Spark Streaming ④架构与抽象 ⑤初始化StreamingContext ⑥什么是Dstreams ⑦DStreams输入 ⑧DStreams转换 ⑨DStreams输出 ⑩累加器和广播变量 11、DataFrame ans SQL Operations 12、Caching / Persistence 13、7x24 不间断运行 14、性能考量 |
1、什么是Spark GraphX 2、弹性分布式属性图 3、运行图计算程序 4、图存储模式 5、GraphX存储模式 6、vertices、edges 以及triplets 7、图的构建 8、BSP计算模式 9、图操作一览 10、操作一览 11、转换操作 12、结构操作 13、顶点关联操作 14、聚合操作、缓存操作
|
1、Pregel API 2、pregel计算模型 3、pregel实现最短路径 4、GraphX实例 5、PageRank排名算法 6、PageRank算法原理 7、Spark GraphX实现 8、广度优先遍历(参考) 9、单源最短路径(参考) 10、连通图(参考) 11、三角计数(参考) 12、PageRank实例 |
1、RDD抽象 2、计算抽象、集群模式 3、RPC网络通信抽象 4、启动Standalone集群 5、核心组件 6、核心组件交互流程 7、Block管理 8、整体应用 9、start-daemon.sh脚本解析 10、spark-class脚本解析 11、start-master.sh脚本解析 12、start-slaves.sh脚本解析 13、Start-all.sh脚本解析 14、spark-submit脚本解析 |
1、Spark通信架构 2、Endpoint启动过程 3、Endpoint Send & Ask流程 4、Endpoint receive流程 5、Endpoint Inbox处理流程 6、Endpoint画像 7、Master节点和Work节点启动流程 8、Client启动流程 9、Driver和DriverRunner 10、SparkContext解析 11、SparkContext创建过程 12、SparkContext简易结构与交互关系 13、Master对Application资源分配 14、Worker创建Executor
|
第四阶段 Spark 体系 |
21 Spark内核解析(三) |
22 Spark内核解析(四) |
23 Spark优化解析(一) |
24 优化解析 & 机器学习 |
25 机器学习(二) |
1、Job提交和Task的拆分 2、Task的执行流程 3、Task的回馈流程 4、Task的迭代流程 5、Spark的数据存储 6、数据写入过程分析 7、数据读取过程分析 8、Partition如何转化为Block 9、partition和block的对应关系 10、Spark Shuffle过程 11、Spill过程 12、Collect、Sort 13、Spill 14、Merge 15、Copy 16、Merge Sort 17、MapReduce与Spark过程对比 |
1、Spark内存管理 2、堆内内存、堆外内存 3、内存管理接口、静态内存管理 4、统一内存管理 5、RDD 的持久化机制 6、RDD 缓存的过程 7、淘汰和落盘 8、多任务间内存分配 9、Shuffle 的内存占用 10、部署模式解析 11、standalone框架 12、yarn集群模式、mesos集群模式 13、spark 三种部署模式的区别 14、异常分析1:worker异常退出 15、异常分析2:executor异常退出 16异常分析3:master 异常退出 17、wordcount程序运行原理窥探 |
1、调优基本原则 2、数据倾斜优化 3、如何定位导致数据倾斜的代码 4、如何缓解/消除数据倾斜 5、Shuffle调优 6、HashShuffleManager运行原理 7、SortShuffleManager运行原理 8、程序开发调优 9、原则一:避免创建重复的RDD 10、原则二:尽可能复用同一个RDD 11、原则三:对多次使用的RDD进行持久化 12、原则四:尽量避免使用shuffle类算子 13、原则五:使用map-side预聚合的shuffle操作 14、原则六:使用高性能的算子 15、原则七:广播大变量 16、原则八:使用Kryo优化序列化性能 17、原则九:优化数据结构 |
1、运行资源调优 2、JVM虚拟机优化 3、GC优化 4、Spark的内存管理优化 5、根据日志进一步调优 6、京东商城基于Spark的风控系统的实现 7、Spark在美团的实践 8、数据处理平台架构中的SMACK组合 9、大数据架构选择 10、机器学习算法常用指标 11、机器学习凸优化算法分析及案例、实操 12、机器学习L1、L2正则化算法分析及案例实操 13、PCA降维算法分析及案例实操 14、ICA降维算法分析及案例实操 15非平衡数据处理 16、模型优化 17、损失函数
|
1、矩阵奇异值分解SVD 2、线性回归算法 3、逻辑回归算法 4、贝叶斯分类算法 5、SVM支持向量机算法 6、决策树算法 7、K近邻算法 8、KMEANS聚类算法 9、EM算法 10、FPGrowth关联规则算法 11、Apriori关联规则算法 12、协同过滤推荐算法 13、ALS交替最小二乘算法 14、SVD推荐系统算法 15、随机森林算法 16、AdaBoost算法 17、XgBoost算法、GBDT算法 |
第五阶段 |
01 Elasticsearch入门 |
02 Elasticsearch案例实操 |
03 Python基础及爬虫 |
04 MahoutMahout |
|
1、什么是Elasticsearch? 2、Elasticsearch的适用场景、特点、核心概念 3、Elasticsearch安装部署、head插件安装 4、获取Transport Client案例 5、创建索引案例 6、删除索引案例 7、新建文档(源数据json串) 8、新建文档(源数据map方式添加json) 9、新建文档(源数据es构建器添加json) 10、搜索文档数据(单个索引) |
1、搜索文档数据(多个索引) 2、更新文档数据(update) 3、更新文档数据(upsert) 4、删除文档数据(prepareDelete) 5、查询所有(matchAllQuery) 6、对所有字段分词查询(queryStringQuery) 7、通配符查询(wildcardQuery) 8、词条查询(TermQuery) 9、模糊查询(fuzzy) 10、映射操作案例搜索文档数据(单个索引) |
1、Python语法基础 2、Python字符串解析 3、Python时间和日历 4、Python文件操作 5、Python面向对象 6、爬虫原理与数据抓取 7、scrapy框架 8、Python爬虫案例 9、机器学习原理 10、TensorFlow框架 |
1、mahout概述 2、推荐系统一般流程 3、mahout算法分析 4、mahout安装部署 5、mahout推荐系统案例分析
|
|