前言
无论学习或者复习都是需要一个计划大纲的,这里根据三家教育机构的学习计划进行整理,可作为学习计划或复习计划。
云和
第一阶段:大数据开发语言基础
主要内容 | 核心能力培养 |
---|---|
基本程序逻辑、面向对象深入、异常处理机制、常用类、集合&泛型、多线程、MySQL基础、远程仓库、DDL/DCL/DML/DQL、SQL优化、批量处理事务DBUtil、Git管理文件版本、pom.xml详解 | 掌握Java核心技术、掌握MySQL数据库、掌握利用JDBC操作数据库 |
第二阶段:离线场景下的数据存储和计算
主要内容 | 核心能力培养 |
---|---|
企业常用Linux命令、awk,sed,seq,xargs进阶命令、HDFS分布式文件系统、MapReduce并行计算、Yarn资源分配、Hive数据仓库、Flume日志实时采集、Sqoop数据导入导出工具 | 掌握Hadoop生态技术栈:HDFS,MapReduce,Yarn,Zookeeper,Hive,Flume,Sqoop等,掌握ETL技术:Kylin、kettle等、BI工具:Superset、Echarts。 项目实战:企业级电商大数据分析系统之离线数据仓库项目、客快物流大数据项目 |
第三阶段:数仓建设和实时检索
主要内容 | 核心能力培养 |
---|---|
Redis概述、Redis事务、Jedis和Spring整合、Hbase整体架构、API的使用方式、数据结构检索与搜索原理、search搜索相关算法、kafka安装和使用、kafka运行流程和文件存储、分区原则、消息可靠性 | 掌握No SQL数据库:Redis,HBase,掌握数据仓库设计和建设,掌握实时检索Elastic Search技术 |
第四阶段:Scala编程&Spark分布式计算框架
主要内容 | 核心能力培养 |
---|---|
Scala概述、Scala程序逻辑、Scala面向对象编程、 隐式转换、Scala集合、函数式编程、单向环形链表、约瑟夫问题、Spark概述、Spark安装和使用、RDD&算子、Spark SQL、DataSet DataFrame 、SparkStreaming、Spark调优 | 掌握Scala语言和算法,掌握Spark分布式计算框架 |
第五阶段: 实时计算与数据挖掘
主要内容 | 核心能力培养 |
---|---|
Spark MLlib算法、Spark MLlib统计分析、Spark MLlib分类和回归、Spark MLlib聚类和降维、Spark MLlib关联规则与推荐算法、Flink状态管理与恢复、Flink的Time详解、Flink SQL、Flink的事件处理 | 掌握数据挖掘、掌握Flink计算引擎 |
达内
主要内容 | 学习目标 |
---|---|
Java基础、Java增强 | Java简介、Java基本语法、面向对象、API(一)、API(二)、API(三)、API(四)、jvm参数、JDK8的部分特性、Git版本控制 |
JavaWeb | XML、HTML/CSS、JavaScript、Jquery、MySql、JDBC、Tomcat/HTTP、Servlet、Cookie/Session、JSP/EL表达式 /JSTL标签、MVC设计模式/三层架构、过滤器/监听器、JavaWeb高级开发技术、数据库高级开发技术、EasyMall项目开发 |
JAVAEE框架 | Spring、SpringMVC、MyBatis、EasyMall项目重构及开发、Springboot、SpringBoot重构EasyMall项目 |
互联网架构 | EasyMall 项目、Redis 与 SpringBoot 整合、Mycat 与 SpringBoot 整合、Rabbitmq 与 SpringBoot、Lucene、ES 与 SpringBoot 整合、爬虫、Ngnix、Easymall 项目整合、SpringCloud 微服务整合 |
大数据框架 | 大数据java加强、Linux、Hadoop、Flume、Hive、Hbase、Zebra项目、Storm、Kafka、分布式编程思想、网站流量分析项目、SCALA、SPARK、推荐系统项目、Python语言及爬虫、数据可视化 |
数据挖掘与机器学习算法 | 统计学基础、R语言基础 、回归模型、正则化模型、决策树模型、判别模型、集成模型、聚类模型、贝叶斯模型、SVM模型、推荐系统模型 |
千锋
掌握能力:掌握java基础编程能力、面向对象思想、集合操作、多线程操作和文件IO操作能力
胜任职位:具备Java基础编程能力,但几乎不能胜任相关开发岗
知识点 | 内容 |
---|---|
Java基础语法 | 计算机理论介绍 编程基础–进制分类,进制转换等 JDK的安装与环境变量的配置 注释 数据类型 标识符 变量和常量 转义字符 数据类型转换 常用运算符 分支流程控制-if 分支流程控制-switch 循环流程控制-while 循环流程控制-for 方法的定义与调用 方法的参数与返回值 方法的重载 方法的递归 数组的定义与元素访问 数组的内存分析 数组的常见操作 数组排序 |
Java面向对象 | 面向对象与面向过程 类的设计 对象的实例化 对象的内存分析 类中成员的访问 类是一种自定义的类型 this关键字 包(package)的创建与使用 构造方法 private关键字与属性封装 单例设计模式 继承基本的概念 继承中的特点 继承中的构造方法 方法的重写 final关键字 super关键字的使用 Object类 对象的转型 instanceof关键字 抽象类与抽象方法 接口 |
常用类、异常、集合 | Lambda表达式 内部类 包装类型 常用类Random、Date、SimpleDateFormat、Calendar 枚举 异常定义 常用结构. finally关键的应用 自定义异常 String类常用方法 StringBuffer/StringBuilder的常用方法 正则表达式 集合框架Collection 集合中元素排序 Collections工具类 泛型 集合框架Map HashMap集合 TreeMap集合 可变参数 Arrays工具类 基本数据结构 |
Java多线程和IO | 多线程概念 并发与并行 创建线程的方式 线程常用方法 线程生命周期 临界资源问题 同步代码段synchronized关键字 同步方法synchronized关键字 lock和unlock 线程死锁 生产者消费者设计模式(一对一) 懒汉式单例设计模式中的线程安全问题 File常用方法 流的基础 流的分类 字节流 字符流 转换流 缓冲流 对象流 Properties文件操作 NIO和NIO.2(缓冲区、通道、Paths.get、Files) Class类 Class获取对象的三种方式 Constructor构造方法 Field 属性 Method方法 反射实例 |
MySQL+JDBC | SQL简介 SQL表的概念 数据库的安装卸载 登录MySQL和MySQL常用命令 MySQL中常用的基本数据类型 数据库DDL操作 数据库DML操作 数据库DQL操作 数据库DQL操作 数据完整性 数据库的索引操作 表与表之间的关系 多表查询 常见函数应用 数据备份与恢复 JDBC原理 JDBC的实现 JDBC实例-模拟登陆 SQL注入问题 xml和json讲解 数据库事务 连接池 连接池原理 常用的三方连接池DBCP、C3P0和Druid DBUtils三方工具的使用 |
掌握能力:掌握Hadoop研发能力、掌握Hive操作及优化能、掌握Hbase数据存储操作、掌握离线数据存储和分析、掌握数据仓库构建能力
胜任职位:Hadoop研发工程师、ETL工程师、BI工程师、数据仓库工程师、离线分析工程师
知识点 | 内容 |
---|---|
Linux和Shell脚本 | CentOS 7.7安装部署 常见文件操作命令 常用系统操作命令 常用的四种软件安装部署 Shell脚本中变量 Shell脚本数组、if-el分支、循环和方法等 Shell脚本调试 crontab定时器 |
HDFS分布式文件系统 | HDFS组件概述 Hadoop安装部署 HDFS中的服务功能 HDFS工作机制 HDFS读写流程 HDFS的api操作 |
Zookeeper | Zookeeper的定义 Zookeeper的应用场景 Zookeeper的服务及功能 Zookeeper整体架构 Zookeeper的选举机制 Zookeeper中事务 Zookeeper安装部署 Zookeeper操作 HDFS的HA部署 |
MapReduce | YARN的组件 YARN的架构 YARN的调度方式 YARN工作原理 MapReduce模型 MapReduce中shuffle机制 MapReduce中的partitioner MapReduce中的自定义输入输出 MapReduce中的join操作 MapReduce中的压缩 MapReduce优化 |
Hive | Hive架构 Hive安装部署 Hive的DDL操作 Hive的DML操作 Hive分区 Hive分桶 Hive数据加载 Hive中数据类型 Hive的常见内部函数 Hive自定义函数(UDF|UDAF) Hive视图 Hive索引 Hive优化 |
Presto | Presto部署 Presto命令行接口 Presto的JDBC驱动 Presto队列配置 Presto的连接器 Presto的函数和运算符 Presto的数据类型 Presto的sql操作 Presto从Hive迁移 Presto的函数 |
Hbase | Hbase架构 Hbase组件 Hbase工作原理 Hbase的shell操作 Hbase的api操作 Hbase的合并 Hbase的触发器 Hbase的过滤器 Hbase的RowKey设计 Hbase的优化操作 |
Phoenix | Phoenix安装部署 Phoenix的四种操作方式 Phoenix的DDL和DML Phoenix的视图 Phoenix的二级索引 Phoenix的分页实现 |
Kylin | Kylin架构 Kylin安装部署 Kylin数据源添加 Kylin的Mode创建 Kylin的Cube构建 Kylin的Cube运行 Kylin的支持的操作 Kylin的优化 |
Sqoop | Sqoop架构 Sqoop安装部署 Sqoop的工作原理 Sqoop的Import和Export Sqoop增量和全量操作 Sqoop元数据 Sqoop的Job操作 Sqoop代码脚本化 |
Flume | Flume架构 Flume安装部署 Flume的source、channel、sink Flume的selector使用 Flume的实时采集 Flume自带拦截器和自定义拦截器 Flume多agent部署 Flume的容错 |
Azkaban | Azkaban架构 Azkaban部署 Azkaban的Shell案例 Azkaban的MapReduce案例 Azkaban的Hive案例 Azkaban的Sqoop案例 Azkaban的定时案例 Azkaban的2.0语法 Azkaban的用户和权限 Azkaban的优化 |
Git | Git相关概念 Git安装部署 Git命令行操作 Git版本库创建 Git中分支操作 Git冲突解决 GitHub和GitLab介绍使用 Git和IDEA整合使用 |
数据仓库 | 数据仓库定义 数据仓库四大特征 数据仓库主题 数据仓库集市 数据粒度 数据仓库中维度 数据仓库中缓慢数据变化处理 数据仓库分层 |
掌握能力:离线和实时数据的处理能力、Spark处理数据能力
胜任职位:Spark研发工程师、数据仓库工程师、ETL工程师、实时研发工程师
知识点 | 内容 |
---|---|
Scala基础 | Scala环境部署 编码规范 var和val的区别 数据类型 表达式 循环 定义方法和函数 数组(Array) 映射(Map) 元组(Tuple) 列表(List) Set 集合的重要函数 类、特质、抽象类、对象、继承 模式匹配和样例类 高阶函数 隐式转换和隐示参数 泛型 Netty的概念 |
Spark Core | Spark简介 Spark运行模式 SparkShell RDD的概念详解 Transformation算子 Action算子 DAG有向无环图 RDD任务的切分 Lineage(血统) Checkpoint检查点机制 Spark集群启动流程和任务提交流程 自定义排序 自定义分区 Accumulator累加器 Broadcast广播变量 Shuffle原理剖析与源码分析 SparkSubmit执行流程 集群启动流程详解 SparkContext执行流程 Task提交流程详解 Stage划分过程详解 |
Spark内核源码 | Spark启动脚本解析 Spark提交流程解析 应用提交和Driver进程 SparkContext解析 Spark executor解析 Spark的部署模式 Spark的shuffle流程 Spark的内存管理 |
Spark SQL | SparkSQL介绍 SparkSQL的操作方式 SparkSQL的数据抽象 Spark-shell基本操作 数据转换(RDD,DataFrame,DataSet) 数据操作方法(DSL和SQL) SparkSQL自定义函数(UDF,UDAF,开窗函数) Spark集成Hive(内置Hive和外置Hive) |
Kafka消息队列 | Kafka的组件介绍 Kafka集群部署 Kafka文件存储机制 topic中partitioner的分布 Kafka分区中的Segment Kafka分区和消费者的关系 kafka日志合并 kafka的生产者案例 Kafka的消费者案例 Kafka自定义分区器 Kafka消费者组 Zookeeper如何管理Kafka Kafka常见问题 |
Redis | Redis的应用场景 Redis安装部署 Redis数据类型的cli和api操作 Redis的数据类型和操作案例 Redis主从复制 Redis集群部署 Redis的连接池 Redis中的雪崩、穿透和击穿问题 |
Spark Streaming | Spark Streaming的原理介绍 DStream的概念 DStream原语类型介绍 DStream的Transformation(转换)、Output(输出) 窗口操作案例实现 Spark Streaming结合Kafka案例实现 背压和反压机制 如何保证数据的一致性 Structured Streaming实战 |
Spark Mllib | Spark MLlib简介 Spark MLlib组件介绍 Word2Vec TF-IDF ALS GBDT LR MinMaxScaler OneHotEncoder |
Elasticsearch | Elasticsearch的相关概念 Elasticsearch及插件安装部署 Index的概念 Document的概念 Mapping映射的概念 Elasticsearch的数据类型 Elasticsearch的聚合操作 索引rest和api相关操作 Elasticsearch的SQL操作 Elasticsearch过滤器 IK分词器集成Elasticsearch 查询文档分页操作 Kibana插件操作 |
ClickHouse | ClickHouse概念 ClickHouse安装部署 客户端连接和JDBC方式访问ClickHouse 数据类型 ClickHouse的ddl和dml操作 ClickHouse表引擎 ClickHouse优化 |
掌握能力:掌握实时数据流处理、构建实时数据仓库能力
胜任职位:实时数仓工程师、数仓工程师、Flink研发工程师、大数据架构师
知识点 | 内容 |
---|---|
Flink基础 | Flink部署模式 Flink Streaming DataStream API介绍 Flink Streaming DataSource、Transformations、Sink详解 Flink的connector Flink的自定义输入输出 Flink中两阶段提交 Flink中的操作链 Flink DataSet的DataSource、Transformations、Sink详解 Flink Table API和SQL应用 Blink Table的操作 Sql与hive的整合 Flink的序列化 Flink的广播变量 Flink的累加器 Flink的分布式缓存 Flink的状态管理和恢复 Flink的CheckPoint Flink失败重启 Flink中Time Flink窗口 EventTime与Watermarks Flink的CEP Flink的新特性 Flink的优化 |
总结
这个只是知识点的简单汇总,真正的学习计划或复习计划要有每周计划,要精确到每天学习什么,学习是一个漫长的过程,不能急躁,一步一个脚印,吃透理论的同时也要进行实践,理论指导实践,实践印证理论。