java大数据课程大纲(小牛学堂)

版权声明:learn spots ,CREAT areas https://blog.csdn.net/whalefall/article/details/83346798

1第一阶段—Java 核心技术 45 天

  模块名 天数 知识点
JavaSE 开发环境搭建 1 计算机基础知识
Java 语言概述
JDK
HelloWorld 案例
环境变量的配置
注释
Java 基础语法 1 关键字
标识符
常量、进制和进制转换
变量
三大流程控制结构 2 运算符
流程控制结构
跳转控制语句
方法和数组 2 开发工具 eclipse
方法
数组
面向对象 4 面向对象思想
类与对象及其使用
对象的内存图和变量分类以及形参
匿名对象
封装(private)
this 关键字
构造方法
static 关键字
代码块
单例设计模式
继承
final 关键字
多态
抽象类
接口
包和导包
常用类和排序 2 API 概述
Object 类
Scanner 类
String 类
StringBuffer 类/StringBuilder 类
数组高级
Arrays 类
基本类型包装类
Math 类
Random 类
System 类
Date 类
DateFormat 类
正则表达式
集合 2 集合类概述
Collection 接口
Iterator 接口
List 和 ListIterator 接口
ArrayList 和 LinkedList 类
泛型
增强 for 循环和可变参数
Set 接口
HashSet 类
Map 接口
HashMap 和 LinkedHashMap 类
Collections 类常用方法和排序接口
异常和 IO 流 3 异常的处理和自定义
File 类的使用
递归
字节流
转换流
字符流
其他流
多线程 1 多线程概述
开启线程两种方式
线程同步问题
生产者和消费者
线程池
定时器
网络编程 Socket 1 网络编程概述
网络编程三要素
UDP 编程
TCP 编程
反射和动态代理 1 类的加载介绍
类加载器的介绍和获取
反射
动态代理
手动编写一个 Tomcat
Mysql 数据库+Jdbc 2 数据库整体介绍
数据库的下载、安装、卸载、启动
使用 SQL 语句对数据库进行 CRUD 操作
使用 SQL 语句对数据库中表进行 CRUD 操作
使用 SQL 语句对表中的记录进行 CRUD 操作
SQL 创建多表及多表的关系
表关系完成多表的查询
使用 JDBC 完成对于分类表的 CRUD 的操作
使用连接池改造 JDBC 的程序
使用元数据优化 CRUD 的操作
DBUtils 工具类的使用
Html+JavaScript+jQuery 2 HTML 概述
网站信息页面显示
网站的图片页面显示
网站的列表显示页面
网站的注册页面
DIV+CSS 的使用和引入方式以及选择器的使用
JavaScript 语言介绍
JavaScript 的组成部分
使用 JS 完成表单的校验
使用 JS 完成京东首页的轮播图片效果
使用 JS 控制表格的隔行换色和全选以及不全选的效果
JS 控制省市二级联动
实现下拉列表左右选择
jQuery 快速入门
使用 jQuery 完成页面的弹出广告的效果
使用 jQuery 完成表格的隔行换色和全选以及全不选
使用 jQuery 完成省市联动
使用 jQuery 完成下拉列表的左右选择
Servlet 2 安装 Tomcat 服务器发布一个 Web 项目
HTTP 协议
Servlet 概述
Servlet 的生命周期
Servlet 的 web.xml 配置
HttpServletResponse 和 HttpServletRequest 的常用方法
处理 Request 和 Response 乱码
使用转发和重定向对登录进行优化登录案例
记录系统的登录次数案例
ServletContext 全局域对象
ServletContext 的常用方法
配置 Servlet 的启动时加载
使用过滤器过滤登录状态
Cookie 的常见用法
文件的上传和下载
Jsp 2 JSP 的概述
JSP 的脚本
JSP 的执行原理
JSP 的注释
JSP 的三大指令
JSP 的 9 大内置对象
JSP 的四个域对象
JSP 的动作标签
EL 表达式
JSTL 标签库
商品信息列表展示案例
AJAX+JSON 1 JSON 格式数据介绍
使用 JavaScript 处理 JSON 格式数据
FastJson 的使用
Gson 的使用
使用 AJAX 完成 GET 和 POST 请求
使用 jQuery AJAX 完成 GET 和 POST 请求
使用 JQuery AJAX 完成搜索信息匹配
使用 JQuery AJAX完成用户名异步校验
Maven 1 什么是 maven
Maven 好处
依赖管理介绍
项目一键构建介绍
Maven 的安装配置
Maven 的目录结构
Maven 的常用命令
Maven 的生命周期
命令和生命周期的阶段的关系
项目构建实际
依赖管理实践
依赖范围介绍
Maven 私服搭建
Redis 1 nosql 的简介
redis 的简介
redis 的安装与启动
jedis 的简单使用
jedis 的连接池使用
redis 数据类型和常见命令
redis 的移库操作
redis 的订阅和事务以及持久化
JavaEE MyBatis 2 Mybatis 的介绍
Mybatis 的入门
使用 jdbc 操作数据库存在的问题
Mybatis 的架构
Mybatis 的入门程序
Dao 的开发方法
原始 dao 的开发方法
接口的动态代理方式
SqlMapConfig.xml 文件说明
输入映射和输出映射
输入参数映射
返回值映射
动态 sql
关联查询
一对一关联
一对多关联
Mybatis 逆向工程
Spring 3 Spring 概述
Spring IOC 容器概念介绍
Spring 入门案例
Spring 相关配置、属性注入方式
Spring 集成到 Web 环境下
Spring 注解的使用
Spring 整合 Junit
Spring 的 AOP 使用
Spring 整合 JDBC
Spring 整合事物
Spring 整合 MyBatis
SpringMVC 2 SpringMVC 介绍
入门程序
SpringMVC 架构讲解
框架结构
组件说明
SpringMVC 整合 MyBatis
参数绑定
SpringMVC 默认支持的类型
简单数据类型
Pojo 类型
Pojo 包装类型
自定义参数绑定
SpringMVC 和 Struts2 的区别
高级参数绑定
数组类型的参数绑定
List 类型的绑定
RequestMapping 注解的使用
Controller 方法返回值
SpringMVC 中异常处理
图片上传处理
Json 数据交互
SpringMVC 实现 RESTful
拦截器
三大框架整合
SpringBoot 1 SpringBoot 介绍
SpringBoot 环境准备
SpringBoot 一键式构建项目
SpringBoot 的常用注解
SpringBoot 的项目打包和运行模式
JavaEE 项目 微信点餐买家端和卖家端系统 6 reids 的缓存和分布式锁使用
SSM 框架的整合开发
spring boot 框架的应用
SpringBoot+JPA 的使用
SpringBoot+MyBatis 的使用
SpringBoot+Redis 的使用
SpringBoot+WebSocket 的使用
订单取消,支付,过期的实现
掌握 RESTful 风格开发
掌握应用部署上线

2第二阶段:大数据核心技术(47天)

  模块名 天数 知识点
数据分析案例 电影评分统计分析 6 JSON 数据解析,掌握分组统计思想
归属地查询统计 关联数据分析
单车定位 GEOHASH 算法
Httpclient 请求网络接口获取数据
爬虫 网站数据的获取,DOM 解析
RPC 案例 技术分层,RPC 远程过程调用
分布式案例 分布式的词频统计,异步线程得到返回结果
Linux Linux 的介绍和安装 1 inux 系统简介与安装
vmware 虚拟机网络配置
Linux 常用命令 linux 常用命令--文件操作
linux 常用命令--用户管理与权限
linux 常用命令--系统管理
linux 常用命令--免密登陆配置与网络管理
linux 环境基本配置 1 主机名的修改
IP 地址的修改
host 文件配置
linux 防火墙配置
linux 上常用软件安装 JDK 的安装
tomcat 的安装
linux 本地 yum 源配置及 yum 软件安装
Linux 高级命令 1 linux 高级文本处理命令 cut、sed、awk
linux 定时任务 crontab
shell 编程 shell 编程--基本语法
shell 编程--流程控制
shell 编程--函数
shell 编程--综合案例--自动化部署脚本
Hadoop Hadoop 概述 1 Hadoop 背景介绍
分布式系统概述
Hadoop 生态系统介绍
Hadoop 集群搭建 服务器和环境准备
Linux 系统配置
Hadoop 单机模式和伪分布模式环境部署
Hadoop 集群环境部署
配置环境变量
集群启动停止
集群状态查看
运行一个 MR 示例
Hadoop 进程详解
HDFS 基础 1 HDFS 概念
HDFS 优缺点
HDFS 设计目标
HDFS 核心设计
HDFS 架构
HDFS Shell 操作
工作机制 NameNode 工作机制
DataNode 工作机制
SecondaryNamenode 工作机制
HDFS 写流程
HDFS 读流程
HDFS 编程 1 HDFS Java API 读数据
HDFS Java API 写数据
HDFS Java API 上传文件
HDFS Java API 下载文件
HDFS Java API 创建目录
HDFS Java API 删除目录
HDFS 集群故障恢复 元数据的管理
元数据损坏恢复
安全模式的处理
YARN 资源调度框架概述 HDFS HA 机制
YARN 产生背景
YARN 架构与原理
YARN 提交作业的执行流程
MapReduce 编程模型 4 Mapper 类解析
Reducer 类解析
Job 类解析
MapReduce 编程规范及示例编写
MapReduce 的运行模式
MapReduce 编程实战 MapReduce 架构
DistributeCache 应用:Map Join、Reduce Join
序列化应用
自定义排序
自定义分区
自定义 Groupingcomparator Combiner 应用
自定义 Inputformat
自定义 Outputformat
MapReduce 高级特性应用 shuffle 机制
MapReduce 的并行度
MapReduce 的调优解析
MapReduce 数据倾斜
maptask/reduceTask/Container 运算调优
Zookeeper Zookeeper 概述 1 Zookeeper 介绍
Zookeeper 下载与安装
Zookeeper 配置
Zookeeper 集群环境部署
选举机制介绍
HDFS HA HDFS HA 的环境部署
Hive Hive 安装部署 2 Hive 简介
Hive 安装部署模式(内嵌、本地、远程)
Hive 常用内部命令使用
Hive 工作机制 Hive 元数据库概念
Hive 数据存储
Hive 基本语法 DDL 操作:创建表
DDL 操作:删除表
DDL 操作:修改表
DDL 操作:增加分区和删除分区
DML 操作: Load 装载数据
DML 操作:Insert 插入数据
DML 操作:Insert 导出数据
Hive 数据简单查询(where、group by、order by 、sort by、distribute by、cluster by)
Hive 数据复杂查询_Join 操作
HQL 高级应用 JDBC 连接 Hive
Hive 的分区、分桶、视图、索引
Hive 数据类型 基本数据类型
复合数据类型
Hive 函数 1 内置函数
自定义函数(UDF/UDAF)
Hive 解决特殊格式数据 自定义 Inputformat
自定义 SerDe(ORC、Parquet)
Hive 调优 FetchTack 参数调优
HQL 调优
数据倾斜调优
结合 MapReduce 调优
Flume Flume 安装部署 1 Flume 介绍
Flume 安装
Flume 架构及内部原理 Source 组件详解
Channel 组件详解
Sink 组件详解
Flume 使用 配置文件的编写
参数的配置
Flume 的扇入和扇出
FLUME 自定义拦截器案例:数据过滤与脱敏
Sqoop Sqoop 安装部署 1 Sqoop 介绍
Sqoop 安装部署
Sqoop 架构
Sqoop 使用 Sqoop 导入数据
Sqoop 导出数据
HBase HBaseHBase 概述 1 HBase 介绍
HBase 体系结构
HBase 使用场景介绍及特点
HBase 中组件角色介绍: Hmaster、Hregion、Hlog、StoreFile(Hfile)、memstore、Blockstore、WAL。
Hlog 生命周期
Hbase 读、写原理
HBase 依赖组件:zookeeper 、Hadoop(hdfs)
HBase 存储表结构 :namespace,table,rowkey,column family,qualifier,timestamp,region
HBase 的容错机制
HBase 的安装 Hbase 伪分布式安装介绍
Hbase 分布式安装(自带 zookeeper和外部 zookeeper)
安装常见问题
HBase 的基本操作 2 初识 HBase Shell
HBase Shell 常用基本命令
HBase Shell 常用表管理命令
HBase Shell 常用表操作命令
HBase 的 API 操作 HBase API 常规操作:put、delete、get、Result 类、get 列表(ListCell、RawCell)等
HBase API 高级操作:指定行、ResultScanner 类、按 RowKey 范围检索等
HBase fiter 的使用
HBase 的优化 1 phoenix 使用
表设计
RowKey 设计
代码调优
批量读写
参数调优
Scala Scala 快速入门 2 scala 编程介绍
scala 与其他语言的对比和优势
scala 相关软件安装
scala 基础语法
scala 编程介绍
scala 相关软件安装
scala 入门案例
函数式编程 scala 方法和函数
scala 的函数和 Python 的 Lambda 对比
scala 的函数和 Java8 的 Lambda 对比
用 Java自己实现一个类似函数式编程的功能
scala 函数式编程特点
scala 数组和集合
map、flatMap 方法的讲解和案例
reduce 方法的讲解和案例
filter、filterNot 方法方法的讲解和案例
fold、foldLeft、foldRight 方法方法的讲解和案例
sortBy、sortWith、sorted 方法方法的讲解和案例
aggregate 方法的讲解和案例
其他常用的方法
scala 编程练习(单机版 WordCount)
面向对象 1 类的定义
构造器与辅助构造器
继承
单例对象
包访问权限
实现特质
方法的重写和重载
实现多态
面向对象综合案例
模式匹配 Scala 模式匹配的特点
按内容匹配
按类型匹配
case class
case object
自定义 case class 和 case oject 案例
Option/Some/None
偏函数
Actor 并发编程 1 Actor 编程模型简介
Actor 编程模型简介与 Java 传统多线程的区别
创建 Actor 的方式
发送同步消息和异步消息
Scala 的 Future 功能
Actor 编程实战
高阶函数 1 高阶函数介绍
高阶函数的种类
柯里化
call by name 和 call by value
Scala 的闭包
高阶函数综合案例
隐式转换 隐式转换的概念和作用
隐式转换与装饰模式、代理模式的对比
隐式转换的优点
上下文绑定
视图绑定
逆变和协变
隐式转换原理剖析
隐式转换案例
分布式 RPC 编程案例(Akka 和 Netty) 1 RPC 编程实现原理介绍
Akka 框架介绍
Akka 入门案例
Akka 原理剖析
Akka 的容错功能
Akka 整合 zookeeper 实现高可用
实战:RPC 编程实战一
(实现 RPC 通信功能)
实战:RPC 编程实战二
(实现 Spark 底层通信的功能)
Netty 的介绍和特点
Netty 的基本使用
案例:实现 Netty 的 Server 端的实现
案例:实现 Netty 的 Client 端的实现
Netty 整合其他序列框架
案例:利用 Netty 实现 RPC 通信
Spark Spark 简介和环境搭建 1 Spark 简介
Spark 和 Hadoop、Storm 的对比
Spark Standalone 环境搭建
Spark 集群环境架构
Spark 集群搭建
Spark 高可用集群搭建
Spark-Shell 的使用
Spark 整合 HDFS
RDD 的 Transformation 和 Action 的使用 2 用 Scala 语言编写 Spark 应用程序 WordCount
用 Java 语言编写 Spark 应用程序 WordCount
RDD 简介
RDD 的特点说明
Spark 常用算子介绍
Spark 的 Transformation 算子
map、flatMap、mapPartitions 的使用
filter 的使用
reduceByKey、groupByKey、aggregateByKey 的使用
sortByKey、sortBy 的使用
join、unit、intersection、cogroup 的使用
coalesce、repartition、repartitionAndSortWithinPartitions 的使用
其他复杂的 Transformation 算子
Spark 的 Action 算子
reduce 的使用
count、countByKey 的使用
collect、firsttake、takeOrdere 的使用
saveAsTextFile、saveAsSequenceFile、saveAsObjectFile 的使用
foreach、foreachPartition 算子
其他复杂的 Action 算子
Spark Core 的高级功能 2 案例:用户最常出现的位置
Spark 的 WordCount 执行相信流程解析
RDD 的缓存机制
案例:URL 求 TopN
自定义分区
二次排序
自定义排序
RDD 的 checkpoint 机制
广播变量
案例:根据 IP 求归属地
Spark 远程调试
Maven 编译 Spark 源码
宽依赖和窄依赖
RDD 的血统关系
DAG 切分过程
案例:利用 JdbcRDD 导入数据
Spark SQL 2 Spark-SQL 介绍
Spark-SQL 的使用新特性
SparkSession 的使用
DataFrame 和 DataSet 的使用
DataFrame 的常用方法
通过 Case Class 和 Schema 创建 DataSet
DataSet 的常用方法
Parquet 文件的使用
SparkSQL 的 TemporaryView
Spark-SQL 加载并处理 MySQL 中的数据
利用 Spark-SQL 讲数据写入到 MySQL 中
Spark-SQL 整合 Hive
Spark-SQL 综合案例 1
Spark-SQL 综合案例 2
SparkStreaming 2 Spark-Streaming 简介
编写 Spark-Streaming 的 WordCount 程序
可更新状态的 WordCount 程序
Spark-Streaming 整合 Flume
Kafka 的介绍
Kafka 集群的安装
Kafka 相关概念介绍
Kafka 生产者和消费者程序编写
Kafka 的 Topic 的相关操作
Kafka 原理深入
Spark-Streaming 整合 Kafka
案例:Spark-Streaming 实时统计小区流量
Spark-Streaming 窗口函数
Spark-Streaming 直连方式整合 Kafka
直连方式原理分析
Spark On Yarn 1 Hadoop 的 YARN 知识点回顾
Spark On YARN 两种方式 Cluster 和 Client
两种方式过程分析
Spark On YARN 日志查看
Spark On YARN 常见问题分析
Spark On YARN 的的任务调度
Spark On YARN 的常用配置参数
YARN 的监控页面参数讲解
Spark MLlib 1 Spark MLlib 介绍
MLlib 和 Mahout 的对比和优势
breeze 向量和矩阵计算
MLlib 常用算法
案例:智能推荐案例
案例:分析电商销售商品分类
Spark GraphX 1 GraphX 介绍
图相关概念的介绍
GraphX 基本使用
案例:社交用户人脉分析
案例:手机用户常出没的商圈分析
Spark 源码分析 1 Master 启动流程源码分析
Worker 启动流程源码分析
Spark 应用程序提交构成源码分析
SparkContext 创建过程源码分析
ClientActor 提交任务给 Master 过程源码分析
Master 资源调度源码分析
Master 通知 Worker 启动 Executor 过程源码分析
Executor 跟 DriverActor 通信过程源码分析
任务提交整理流程源码分析
DAGSchedule 执行过程分析
DAG 切分 Stage 过程源码分析
TaskScheduler 提交 Task 过程源码分析
Executor 上执行 Task 过程源码分析
Spark 集群和任务性能优化 1 Spark Standalone 模式优化参数
任务提交资源分配和优化参数
数据倾斜原因及优化方案
Driver 端参数配置和优化
Worker 端参数配置和优化
RDD 的 cache、checkpoint 等相关优化
Shuffle 过程优化及参数配置
SparkSQL 的任务优化
SparkStreaming 的任务优化
Spark On YARN 端参数配置和优化
Spark 集群监控和参数调优
Spark 集群内存监控和 JVM GC 调优
就业指导 简历指导 1 简历模板
面试常见技术问题

3第三阶段:项目实战阶段(30天)

  模块名 天数 知识点
黑卡检索判定 12 黑卡的背景
黑链和对企业的影响
数据的采集方式和规范处理
应业务需要对黑卡
使用黑卡用户的检索
对检索结果的存储处理
总结整个黑卡的思考过程和业务思考
高铁电务段大数据平台 12 业务背景了解
数据接入
数据清洗
离线报表统计
实时报表统计
用户画像
设备维修预测
项目总结
精准广告智能竞价 DMP 平台 6 广告行业现状
项目背景
Flume 数据采集
数据存储技术选型
离线业务
实时业务
用户画像
数据可视化
项目总结

4第四阶段-面试技术增强(9天)

  模块名 天数 知识点
JVM 4 JVM 介绍
JVM 的对内存的细化
GC 的常用算法
GC 的工作机制
JVM 的监控工具
JVM 的综合调优
数据结构 数组
栈和队列链表和递归
堆和优先数列
红黑树
哈希表
快速排序
有穷自动机
Cdh 1 Cdh 的介绍和安装方法
Flink 2 flink 架构
flink 原理
flink 编程开发
ElasticSearch ElasticSearch 的介绍和安装 2 ElasticSearch 的介绍
ElasticSearch 的基本概念
ElasticSearch 的下载与分布式集群搭建
ElasticSearch 的使用 ElasticSearch 入门操作
ElasticSearch使用 Java操作
CURl 命令介绍
ElasticSearchCRUD 操作
ElasticSearch 查询文档操作

猜你喜欢

转载自blog.csdn.net/whalefall/article/details/83346798
今日推荐