大数据开发全栈课程体系 ( V5.5 )

最后更新时间: 2019年5月

课程一定是为你精心设计的, 成就自己的只需一套精品!

课程设计原则:

  • - 以零基础小白为目标人群设计;
  • - 以现在企业中高级程序员岗位所需要的技术应用为目标设计;
  • - 为程序开发这门学科特点,以实战和项目贯穿为高效学习目标设计;
  • - 根据线上学习特点去规划每天学习内容;
  • - 以全栈技能为目标设计知识点结构;
  • - 每年至少迭代更新两次,技术版本不一定是最新的,但一定是用的最多的版本;

课程介绍:

       本课程共划分为七个阶段,分别是Java语言基础、大数据通用技术、Hadoop基础、大数据离线计算、大数据实时计算、Spark实战应用开发。 每个阶段都有对应的项目案例,涉及的技术知识点有:Java基本语法、Java核心API、Java规范与设计、算法与模式、 Java8-11新特性、Linux、IDEA、Eclipse、SQL语句及优化、PLSQL开发、数据库设计、MySQL、JDBC、JavaScript 、jQuery、Tomcat、Servlet、JSP、Ajax、HDFS分布式文件系统、 MapReduce分布式并行计算框架、Hive数据仓库、Impala、KuDu、Azkaban 流调度 、Ooize、大数据离线实战开发、HBase分布式实时数据库、Storm流式计算框架、Flume海量日志采集系统、 Kafka消息队列、大数据实时计算应用开发 、MongoDB 、Redis、Log4j、Maven、SVN/Git、ActiveMQ、RabbitMQ、Activiti、Nginx、JasperReport、Jfreechart、Dubbo、Zookeeper、 Lucene/ElasticSearch、Spark、Scala、Mahout、大量面试题和企业真题等。课程中的每个技术点的内容都非常全面,深度到位,课上实例不仅丰富而且实用。另外, 每个知识点都是以目前最新版本的技术设计,每半年一更新,并经过多家软件公司的技术专家参与修订,以达到真正实用的目的,能够与大型软件开发公司所需要的开发技术相吻合。

课程特点:

  • - 技术新、内容全:课程的技术点全面,全部都是当前行业内最流行、从最新版的Java11到主流Java8兼顾、数据库、前端、JavaEE框架和JavaEE架构技术
  • - 企业大牛指导项目:为了要学员毕业后快速适应企业环境,特地从IT名企引入技术总监为学员的项目导师,指导和管理项目研发过程、要学员真正体验企业开发过程
  • - 课程项目均为上线产品:很多平台的项目案例都是采用模仿或闭门造车形成的,从而导致培训学习和企业要求的存在一定的差异,为了弥补这个差异,我们是第一家将真实上线产品引入课程的平台
  • - 拥有企业项目环境:可熟悉项目开发中立项、分析、设计、编码、测试、实施、维护等真实流程及相关工作
  • - 采用案例式教学:整个课程以案例为主线,贯串学习知识点和技术点。通过专家讲师和企业导师的带领,使学员可以具有独立开发大型网站的能力
  • - 编码、设计规范:课程中的项目案例完全采用企业编码规范和设计规范,例如阿里巴巴Java规范、合作企业Java规范等,提高学员编码规范性,增强程序的可读性和维护性
  • - 注重素质和能力培养:注重综合素质能力的培养,主要包括技术应用能力、分析设计能力、团队合作、职业素养等,提升学员的企业工作能力
  • - 注重方法和思维培养:授人以鱼、不如授人以渔。我们授课过程不仅注重技术点培养、更侧重于方法和思维培养,提升学员养成后续自我提升的能力

学员目标:

  • -精通Java语言及相关框架,精通JVM调优技术,掌握常用数据结构和算法
  • -掌握Hadoop集群搭建与配置、分布式MapReduce并行计算框架应用实战开发
  • -精通Hive数据仓库应用开发、掌握Hive离线数据模型架构原理
  • -熟练使用MySQL/HBase/ MongoDB/Redis /NoSQL,拥有实际大数据量的数据库设计经验
  • -精通Spark、SparkSQL、SparkStreaming、Flume、Kafka等
  • -掌握缓存技术,负载均衡,服务器优化,系统性能调优等相关技术知识以及相关工具
  • -良好的逻辑思维能力和学习能力,有很强的抽象设计能力、分析和解决问题的能力
  • -掌握所有Hadoop、离线计算、实时计算、Spark开发的高级大数据开发技能,积累大型实战型项目开发经验
  • -通过Oracle、MySQL、MongoDB、Redis等数据库服务器的学习,熟悉维护、优化、安全设置的使用,精通SQL编写和数据库设计,掌握数据库端PL/SQL开发的能力
  • -通过JavaScript、jQuery、BootStrap、Vue和H5/CSS3等技术的学习,可以承担前端工程师的工作、制作出精美的、用户体验度高的网页
  • -通过SSM、SSH等框架技术的学习,可以提高开发效率和软件质量
  • -通过SpringBoot、SpringCloud等集成框架的学习,可以快速搭建稳定性高、功能强的软件
  • -通过Lucene/ ElasticSearch、Dubbo、Zookeeper、Kafka、Activiti等技术的学习,完全可以胜任当前各种互联网应用的开发
  • -通过企业项目和解决方案实战掌握目前企业一流技术和常见问题的解决方法
  • -培养出具有职业素养和能力的、符合企业需求的Java开发工程师和架构师
  • -使用Java常用互联网技术可以独立完成系统开发工作,对现有的成熟产品进行二次开发,团队合作完成大型项目的设计与开发,以及产品的测试与维护

适合人群:

  • - 即将毕业的在校大专生或本科生
  • - 即将毕业的在校大专生或本科生
  • - 已毕业的大专生或本科生
  • - 通过其他学科和机构培训过的学员
  • - 各软件企业在职的开发工程师
  • - 对大数据开发有兴趣的爱好者
  • - 创业人员,开发自己创业项目中的产品

阶段一 Java基础与设计

说明:

       零基础一定要从Java基础开始,为学习Java全栈做好铺垫。 Java基础部分是学习Java的入门, 这部分掌握好了,对学习Java的一些高级内容都会相对容易一些。这部分需要掌握Java基础语法, 面向对象编程,Java核心API,熟练使用集合、流、序列化、多线程、网络编程等技术开发,熟悉企业设计规范和编码规则、强化数据结构和算法应用。

模块 目标 知识点
Java 语言基础
应知应会:
1. 熟悉Java等基本概念
2.掌握Eclipse/IDEA集成开发工具的安装、配置和应用
3.熟悉Java基本语法、基本类型、运算符和表达式
4.掌握分支、循环逻辑语句、数组等知识的应用

业务实战:
实现随机发牌程序和双色球抽奖游戏
JDK、JRE、JVM基本概念
Java环境搭建和配置
安装和使用Eclipse/IDEA开发环境
Java基本数据类型
变量,运算符,表达式
分支语句,循环语句、
数组,数组应用,行业规范。
案例进阶:实现随机发牌程序和双色球抽奖游戏
Java面向对象编程
应知应会:
1.理解面向对象思想和概念
2.学会面向对象分析方法
3.掌握类、对象、继承、多态的使用
4.熟悉重写、重载、抽象类、内部类以及设计模式的应用

业务实战:
实现五子棋和扫雷游戏
类、对象、属性、方法、构造器
封装、继承、多态
重写、重载
访问权限控制符
this和super、static、final
抽象类和接口,内部类
单例设计模式
模板设计模式
案例进阶:实现五子棋和扫雷游戏
JavaSE核心类库
应知应会:
1.掌握Java核心类库的应用,例如字符串、日期、集合的处理
2.掌握异常处理、IO流对文件读写、多线程应用、网络编程实现计算机之间通讯
3.熟悉Java泛型和反射技术的应用

业务实战:
实现学生信息管理系统和聊天室项目
Java核心类
Java字符串、日期处理
包装类、集合、数据结构
异常和异常处理
Java IO、NIO、多线程编程
线程同步机制、并发包
JAVA网络编程
Java泛型和注解
Java反射机制
案例进阶:实现学生信息管理系统和聊天室项目
Java分析与设计
应知应会:
1.掌握面向对象分析和设计方法
2.熟悉常用设计模式和栈、队列等数据结构、各种算法
4.掌握Maven和SVN的使用
5.掌握Java8-11特性及新语法
6.了解Java各版本的特性和区别

业务实战:
实现学生信息管理系统和聊天室项目
Java设计原则
Java设计模式
Java常用数据结构
Java常用数据算法
Java8-11新特性
Java各个版本比对
Maven安装和使用
SVN/Git版本管理工具安装和使用
项目实战
应知应会:
1.掌握Java核心API使用
2.掌握面向对象分析和设计方法
3.熟练使用Java工具开发
4.对前面阶段内容综合运用

业务实战:
在线考试系统
Java开发环境的搭建
面向对象分析和设计
集合、流 API的使用
网络编程、理解C/S架构
分支、循环语法的运用
线程的使用、并发处理
序列化技术的使用
排序算法、查找算法的运用
项目的打包和发布
收获:

       学完此阶段能够掌握Java基础语法,面向对象编程,Java核心API,使用集合、流、序列化、多线程、网络编程等技术开发,以及可以熟悉企业设计规范和编码规则、强化数据结构和算法应用。

阶段二 大数据通用技术

说明:

       大数据开发需要好的技术辅助, 掌握这些玩大数据才顺手。 除了要有Java基础之外, 做大数开发还需要一些通用的技术, 需要掌握Linux技术,包括Linux安装部署、Linux常用命令、Linux用户和权限、能够编写简单Linux Shell脚本。 还需要掌握数据库, 例数据库的设计、使用、优化、编程,熟练使用Java访问数据库。也需要前端H5、CSS3前端技术应用和开发,熟练进行前端界面设计。 也要掌握JavaWeb常见组件Servlet、JSP,熟练搭建Tomcat服务器和JavaWeb环境。

模块 目标 知识点
Linux运维
应知应会:
1.熟悉Linux 版本与安装部署图形化界面
2.精通Linux常用命令
3.了解Linux 用户和组权限
4.了解Linux文件权限和修改权限命令
5.掌握Linux Shell语法、能够编写简单的Shell脚本
6.掌握网络设置、常见软件安装

业务实战:
搭建JavaWeb开发环境
Linux系统的发展史
Liux系统的版本
Linux的硬盘分区方法
Linux安装系统、网络设置
Linux常用命令
文件权限、权限修改
用户和组帐号
vi文本编辑器
Linux软件安装
Shell的作用及分类、基本语法
编写简单的Shell脚本
Shell分支、循环结构
其他控制语句及函数的使用
数据库开发
应知应会:
1. 熟悉MySQL数据库的安装和使用
2. 精通SQL语句的编写和优化
3. 掌握数据库设计原则和方法
4. 了解视图、序列、索引概念和应用
5. 掌握MySQL数据的备份和恢复
6. 创建用户、给用户授权操作

业务实战:
小型电商系统数据库设计
MySQL安装和管理/td>
DCL数据控制语句
SQL语句(DQL、DDL、DML)
SQL语句原理
SQL语句优化
表、表设计原则
视图、索引、存储引擎
常见函数介绍
数据备份和恢复
数据库用户和权限管理
数据库设计原则
SQL优化技巧和原则
数据库软硬件优化方案
JDBC技术
应知应会:
1. 熟悉JDBC API应用,掌握Java对数据库的访问方法
2. 掌握如何实现对数据库的增删改查
3. 使用安全的数据库访问方式
4. 如何提升数据库操作性能,学会DAO模式的封装

业务实战:
小型电商系统JDBC操作
JDBC 核心API
CRUP操作
Statement应用、PreparedStatement应用
预防SQL注入攻击
事务安全控制处理技术
DAO封装模式
DAO优化方案
dbcp、c3p0等连接池应用
H5前端基础
应知应会:
1.熟悉HTML5语法和标记
2.能熟练设计体验度高的HTML页面
3.能实现对特殊功能的界面设计,例如画图表、视频音频播放、地理定位等
4.熟悉CSS3语法和属性
5.能熟悉对HTML内容进行渲染,例如文字样式、列表和表格样式、动画、元素定位和布局等
6.熟悉JavaScript基本语法
7.熟练实现对HTML页面的表单校验和页面特效的处理

业务实战:
小型电商系统页面设计
HTML5(H5)基本文档结构
标题、图片标记
链接、列表、表格标记
表单标记
CSS基础语法
CSS文本、列表、表格样式
CSS盒子模型
CSS浮动布局、定位
JavaScript语言基础
JavaScript闭包和自执行
JavaScript DOM编程
JavaScript事件模型
Window对象模型
HTML5画布
JavaWeb基础
应知应会:
1.Tomcat环境的安装和使用
2.熟练使用Servlet处理HTTP请求和数据库访问操作
4.熟悉JSP基本语法和标记,掌握9大内置对象应用
5.使用JSP+Servlet+JavaBean技术构建的MVC应用
6.熟悉JSON语法并熟练与Ajax结合运用

业务实战:
个人网站服务器端功能实现
Tomcat配置和部署
Servlet技术、Servlet生命周期
文接收乱码处理
Servlet+DAO工厂模式应用
JSP 基本语法、JSP标记应用
JSP内置对象、MVC设计模式
Ajax作用和原理
JSON技术及Ajax应用
jQuery与Ajax技术
项目实战
应知应会:
1.掌握Linux系统下开发环境搭建
2.掌握项目构建常用模式
3.熟练前端技术绘制页面
4.熟练使用JavaWeb中的Servlet和JSP组件
5.熟练使用Ajax的综合运用
6.掌握项目的发布流程

业务实战:
图书商城
Linux系统JavaWeb开发环境的搭建
JavaEE三层架构+MVC构建项目
HTML+CSS页面绘制
JavaScript事件处理
JDBC+DAO数据操作
Servlet+JSP请求处理和响应
数据表设计和优化、存储引擎选择
Ajax+JSON+jQuery技术应用
项目的打包和发布
收获:

       学完此阶段能够,掌握Linux安装部署、Linux常用命令、Linux用户和权限、能够编写简单Linux Shell脚本, 掌握数据库的设计、使用、优化、编程,熟练使用Java访问数据库,掌握H5、CSS3前端技术应用和开发,熟练进行前端界面设计,以及掌握JavaWeb常见组件Servlet、JSP,熟练搭建Tomcat服务器和JavaWeb环境。

阶段三 Hadoop实战开发

说明:

       可靠的,可扩展的分布式计算开发开源软件. Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。 HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。 MapReduce是一个计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。

模块 目标 知识点
大数据概论
应知应会:
1.认识大数据基本概念
2.认识大数据生态圈
3.认识大数据行业落地案例

业务实战:
搭建Hadoop分布式集群
HTML5(H5)基本文档结构
大数据背景
认识Hadoop
Hadoop架构和组件
Hadoop生态系统
Hadoop经典落地案例
Hadoop安装部署及集群搭建
访问HDFS
应知应会:
1.掌握HDFS的特性
2.理解HDFS的设计目标
3.掌握HDFS的体系结构
4.理解数据块基本概念
5.掌握数据块复制原理
6.掌握HDFS安全模式
7.理解HDFS心跳机制
8.掌握HDFS核心架构

业务实战:
阐述HDFS分布式文件系统的原理
HDFS特性
HDFS目标
HDFS核心设计
数据块
数据复制
副本存放策略
安全模式
心跳机制
HDFS体系结构
Master/Slave
NN、SNN、DN
HDFS接口
应知应会:
1.掌握HDFS常用的命令行操作接口
2.学会查看HDFS文件列表
3.掌握文件的上传、下载、删除
4.掌握HDFS的Java访问接口

业务实战:
利用命令行和Java接口访问HDFS分布式文件系统
数据库安装和使用
命令行接口
查看文件列表
创建目录
上传文件
下载文件
查看文件
删除数据
Java接口
从Hadoop URL读取数据
通过FileSystem API读取数据
写入数据
创建目录
查询文件系统
删除数据
HDFS分布式文件系统的运行机制
应知应会:
1.掌握HDFS中的数据流读写
2.掌握RPC的实现流程及模型
3.掌握文件的读取、写入及文件的一致性模型
4.掌握HA高可靠机制
5.熟悉HDFS的Federation机制

业务实战:
搭建HA应用开发平台
HDFS中数据流的读写
RPC实现流程
RPC实现模型
文件的读取
文件的写入
文件的一致模型
HDFS的HA机制
为什么有HA机制
HA集群架构
HDFS的Federation机制
为什么引入Federation机制
Federation架构
多命名空间管理
Hadoop I/O详解
应知应会:
理解HDFS的数据完整性
掌握HDFS的数据压缩算法
掌握HDFS序列化接口
掌握Hadoop数据结构
理解SequenceFile存储

业务实战:
利用HDFS序列化Writable接口实现SequenceFile的写入
数据库安装和使用
HDFS的数据完整性
验证数据完整性
文件压缩
Hadoop支持的压缩格式
压缩解压缩算法codec
压缩和输入分片
文件序列化
Writable接口
WritableComparable接口
自定义Writable接口
Writable实现类
实现定制的Writable类型
序列化框架
Hadoop文件的数据结构
SequenceFile存储
MapFile存储
MapReduce编程模型
应知应会:
1.掌握MapReduce编程模型
2.编写WordCount事例
3.掌握HadoopMapReduce架构
MapReduce编程模型简介
WordCount编程实例
Hadoop MapReduce架构
MapReduce应用编程开发
应知应会:
1.配置MapReduce应用编程开发环境
2.掌握MapReduce程序设计思路
3.掌握Mapper和Reducer的编写
4.掌握集群上运行作业
5.熟练作业的的状态查看与检测
6.掌握MapReduce作业的调试
7.掌握常见的MapReduce的输入输出的格式

业务实战:
开发MapReduce分布式并行程序
MapReduce的编程
配置开发环境
设计思路
编写Mapper类
编写Reducer类
编写main方法
在集群上的运作
打包作业
启动作业
通过Web UI查看Job状态
获取结果
作业调试
MapReduce类型与格式
MapReduce中的键值对
输入格式
输出格式
MapReduce的工作机制与YARN平台
应知应会:
1.掌握MapReduce作业的运行过程
2.掌握Shuffle的运行过程和原理
3.掌握Map段shuffle与Reduce段shuffle的原理
4.理解YARN平台的工作原理及架构
5.掌握ResouceManager的资源分配
6.掌握NodeManager的工作原理
7.掌握ApplicationMaster的工作原理
8.理解Container容器的工作原理
9.掌握作业的调度

业务实战:
刨析MapReduce作业的Shuffle过程
通过案例剖析MapReduce作业运行过程
shuffle和排序
map端
reduce端
shuffle过程
YARN平台简介
YARN的诞生
YARN的作用
YARN的架构
ResourceManager
ApplicationMaster
资源模型
ResourceRequest和Container
Container规范
作业的调度
公平调度器
计算能力调度器
项目实战: 日志数据分析系统
应知应会:
1.掌握项目的业务需求
2.掌握项目的系统架构
3.掌握项目的需求分析
4.掌握项目的概要设计
5.掌握项目的详细设计
6.掌握项目的系统开发
7.掌握项目的单元测试
8.掌握项目的系统测试
9.掌握项目的上线部署
10.掌握项目的运营测试
11.掌握项目集群环境的搭建测试

业务实战:
MapReduce开发工程师
项目名称:日志数据分析系统
数据体量:5000W+/日
硬件环境:Hadoop集群 12台
软件环境:Hadoop2.5.2+Hive1.2.1+MR+Oracle10g
开发工具:Eclipse+Jdk1.7+ETL
项目职责:主要负责数据清洗,分析客户需求数据的抓取和处理。
项目描述:
①搜狗每天产生大量的日志数据,从日志数据里面能提取到有用的数据包括每个用户的ID、浏览次数、月/日浏览频率、访问源、浏览内容等等, 提取这些内容、统计数据分析每个用户行为,从而做出有利的决定。
②本次项目使用MapReduce框架对数据进行处理,HDFS作为底层存储,使用Hive大大加快了项目的进度,Hive自带的数据库并不适用于项目, 用MySql代替,这里用到了Hive但是底层处理计算还是MapReduce,其最突出的地方就是其对MapReduce进行了包装,减少了使用MapReduce需要写大量重复JAVA代码的时间。
③实例分析,客户需要知道浏览过“仙剑奇侠传”的用户还浏览过其他什么内容,我们就利用MapReduce对数据进行处理 得出所有浏览过“仙剑奇侠传”的用户ID,在由ID取出他们除了“仙剑奇侠传”之外的浏览内容,值得一提的是这次任务中很好的利用MapReduce的shuffle阶段的处理将大大减少任务的难度。
④查找到浏览次数大于某值(例如如是10)的用户,同样的通过MapReduce的处理也能解决,我们可以自己去实现Map、Reduce的处理过程, 但本次项目我们用到了Hive,相对直接使用MapReduce要容易些,当然这只是两个例子,通过对数据的处理我们能得到很多有用的信息。
收获:

       学完此阶段能够掌握Hadoop分布式集群的配置、搭建、运维,掌握HDFS分布式文件系统的应用、原理、数据流的读写,掌握MapReduce分布式并行计算框架的应用开发。

阶段四 Hive离线计算

说明:

       离线数据仓库开发,是大数据离线计算的主流方式。 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

模块 目标 知识点
Hive基础
应知应会:
1.理解Hive的基本概念
2.理解Hive简介及安装部署
3.掌握Hive的常用内部命令
4.掌握Hive的数据类型和文件编码
5.掌握Hive的基本数据类型
6.掌握Hive的集合数据类型
7.掌握Hive文本文件数据编码

业务实战:
搭建Hive数据仓库
Tomcat配置和部署
Hive基本概念
Hive简介
Hive安装部署
Hive常用内部命令
Hive数据类型和文件编码
基本数据类型
集合数据类型
文本文件数据编码
Hive数据定义与操作
应知应会:
1.掌握Hive的数据定义语言
2.掌握Hive的数据操作语言
3.掌握Hive的分区表
4.掌握Hive数据仓库数据的灌入
5.掌握Hive数据的导出

业务实战:
利用Hive数据定义与操纵预言操作Hive
HiveQL:数据定义
创建数据库
修改数据库
创建表
分区表、管理表、桶表
删除表
修改表
HiveQL:数据操作
向管理表中装载数据
插入数据
创建表并加载数据
导出数据
Hive数据查询、视图和索引
应知应会:
1.掌握Hive的QL查询
2.掌握Hive中表的连接查询
3.掌握Hive中数据的排序

4.掌握Hive中的视图和索引

业务实战:
使用Hive进行业务数据的查询
HiveQL:查询
SELECT FROM语句
WHERE语句
GROUP BY语句
JOIN语句
ORDER BY和SORT BY语句
HiveQL:查询
DISTRIBUTE BY语句
CLUSTER BY语句
CAST语句
抽样查询
UNION ALL语句
HiveQL:视图和索引
视图的作用
如何使用视图
索引的作用
索引的创建、重建、显示、删除
Hive内置函数和UDF
应知应会:
1.掌握Hive的内置函数和UDF
2.掌握UDF的定义和作用
3.掌握Sqoop的安装和部署
4.熟练Sqoop的案例开发

业务实战:
使用Hive的UDF开发用户自定义函数
自定义MVC框架
Hive内置函数和UDF
UDF定义和作用
UDF、UDAF、UDTF的区别
UDF、UDAF、UDTF的编程案例
Sqoop安装部署
Sqoop使用案例
Azkaban
应知应会:
1.理解Azkaban简介和原理
2.掌握Azkaban的安装和部署
3.掌握Azkaban开发工作流调度
4.掌握Azkaban与Hive的开发
5.掌握Azkaban对Hive任务的检测和统计

业务实战:
使用Azkaban调度Hive中的任务
Azkaban简介
Azkaban与Hive
安装部署Azkaban
配置Azkaban
使用Azkaban
创建工作流
执行工作流
任务页面查看与系统统计
用户管理
Ooize
应知应会:
1.理解Ooize简介和原理
2.掌握Ooize的安装和部署
3.掌握Ooize开发工作流调度
4.掌握Ooize与Hive的开发
5.掌握Ooize对Hive任务的检测和统计

业务实战:
使用Ooize调度Hive中的任务
安装部署Ooize
配置Ooize
使用Ooize
创建Ooize工作流
执行Ooize工作流
Ooize任务页面查看与系统统计
Ooize用户管理
实战项目:微博数据统计分析系统
应知应会:
1.掌握项目的业务需求
2.掌握项目的系统架构
3.掌握项目的需求分析
4.掌握项目的概要设计
5.掌握项目的详细设计
6.掌握项目的系统开发
7.掌握项目的单元测试
8.掌握项目的系统测试
9.掌握项目的上线部署
10.掌握项目的运营测试
11.掌握项目集群环境的搭建测试

业务实战:
Hive开发工程师
自定义MVC框架
项目名称:微博数据分析系统
日均数据体量:3GB+
硬件环境:Hadoop集群 50台
软件环境:MapReduce+HBase0.98.9+Storm0.9.6+Hadoop2.5.2+Kafka2.10+Zookeeper3.4.5+CentOS-6.5-X86
开发工具:Eclipse+jdk1.7
项目团队:10人
项目周期:5个月
项目职责:负责数据的截取和处理计算。
项目描述:
①此次项目我们需要处理微博产生的数据,通过对数据的处理得到所需的数据,微博拥有大量的用户,大量的用户潜在的价值是巨大, 怎么挖掘这些潜在的宝藏就是我们项目最直接的目的,为了能够实时的进行数据处理使用Storm流式计算系统, 和HBase、Zookeeper、Kafka组成框架,对数据进行处理,当然这些都是建立在hadoop集群上实现的,以为他们底层的存储还是HDFS。
②微博生成的数据由Kafak传递给Storm处理,最后的结果存储到HBase里,HBase我是通过JAVA来管理,因为如果直接在HBase上面操作相对使用JAVA来说比较麻烦,这是项目的流程。
③通过处理统计使用iphone端口进行登陆的用户,Storm和MapReduce的处理方式很相似,Storm需要我们用写JAVA代码来实现,通过数据的对比找出异常的微博和用户信息保存在HBase里面,Zookeeper在这里面起到协助通信的作用等。
收获:

       学完此阶段需要掌握Hive数据仓库的环境搭建和配置,熟练使用HiveQL数据查询与项目实战应用开发,熟练使用Hive内置函数及UDF的应用开发。

阶段五 实时计算

说明:

       数据的实时,持续计算,分布式RPC。 随着数据体积的越来越大,实时处理成为了许多机构需要面对的首要挑战。当今世界,公司的日常运营经常会生成TB级别的数据。 数据来源囊括了互联网装置可以捕获的任何类型数据,网站、 社交媒体、交易型商业数据以及其它商业环境中创建的数据。考虑到数据的生成量,实时大数据处理成为了许多机构需要面对的首要挑战。 需要掌握HBase数据库项目实战应用开发,以及掌握Storm流式计算框架项目实战应用开发,还要掌握Flume、Kafka海量日志采集系统应用开发。

模块 目标 知识点
Zookeeper分布式协调系统及HBase安装部署
应知应会:
1.掌握分布式协调系统ZooKeeper的工作原理
2.掌握zookeeper的安装与部署
3.理解zookeeper的选举机制
4.使用zookeeper构建应用
5.理解HBase的基本概念
6.掌握HBase的安装部署

业务实战:
搭建zookeeper分布式协调系统
安装HBase分布式集群
Zookeeper分布式协调系统
安装、运行ZooKeeper
ZooKeeper实例
Zookeeper选举机制
Zookeeper服务
使用ZooKeeper构建应用
HBase分布式数据库
认识HBase
HBase安装、部署
HBase核心功能模块和基本概念
应知应会:
1.理解HBase与Hadoop之间的关系
2.掌握的HBase的核心功能模块
3.掌握HMaster的工作原理
4.掌握HRegionServer的工作原理
5.掌握HBase的数据模型
6.掌握HBase中列式存储的基本概念
7.理解列簇、Rowkey、单元格的概念
8.掌握HBase的表结构设计
9.掌握列簇和Rowkey的设计

业务实战:
构建HBase列式存储的模式设计
HBase与Hadoop的关系
HBase的核心功能模块
客户端
Zookeeper
HMaster
HRegionServer
HBase的使用场景和经典案例
搜索引擎应用
用户内容服务
实时消息系统构建
HBase基本概念
数据模型
表、行键、列族、单元格
版本
事务特性ACID
HBase表结构设计
模式创建
RowKey设计与列族定义
模式设计案例
Hbase客户端
应知应会:
1.掌握HBase的Shell命令
2.掌握HBase的常规命令
3.掌握HBase的DDL、DML命令
4.掌握HBase的工具命令
5.掌握HBase的Java客户端
6.掌握HBase中表的创建、删除、写入等操作
7.掌握HBase中数据的过滤

业务实战:
使用HBase的客户端完成数据的增删改查
Shell命令行工具
命令分类
常规命令
DDL命令
DML命令
工具命令
Java客户端
客户端配置
创建表
删除表
插入数据
查询数据
删除数据
过滤查询
MapReduce批量操作客户端
应知应会:
1.熟练使用MapReduce操作HBase表中的数据
2.掌握HBase作为输入源,输出源及共享源
2.熟练使用Sqoop将数据导入到HBase表中
3.掌握WebUI界面查看HBase的状态
4.掌握HMaster、HRegionServer状态信息分析
5.掌握ZooKeeper状态信息分析

业务实战:
使用MapReduce进行HBase的实战开发
MapReduce批量操作HBase
三种访问模式
实现MapReduce API
HBase作为输入源示例
HBase作为输出源示例
HBase作为共享源示例
使用Sqoop将数据导入HBase
通过WEB UI工具查看HBase状态
HMaster状态界面
HRegionServer状态界面
Zookeeper统计信息界面
HBase核心知识点
应知应会:
1.掌握HBase的核心概念
2.掌握HBase的核心存储结构
3.掌握HBase的底层持久化原理
4.掌握HBase的查询、写入流程
5.掌握HBase的数据压缩及常见的压缩算法
6.掌握HBase的过滤器、计数器及协处理器
7.掌握HBase的布隆过滤器及二级索引
8.掌握HBase的批量加载及负载均衡

业务实战:
HBase底层原理优化型实战开发
核心概念
核心结构
底层持久化
写入流程
查询流程
数据压缩
高级特性
过滤器
计数器
协处理器
二级索引
布隆过滤器
负载均衡
批量加载
Storm基础及Storm应用开发
应知应会:
1.掌握实时流业务开发场景
2.理解Storm基本概念及核心原理
3.掌握Storm的应用开发
4.掌握Topology创建及集群任务的提交
5.掌握Storm的核心概念和数据流模型
6.掌握Spout和Bolt等核心组件
7.掌握Stream和Stream Grouping

业务实战:
Storm实时流计算应用开发
Storm简介
什么是实时流计算
Storm是什么
Storm核心组件
Storm特性
Storm应用于什么场景
Storm应用开发
安装部署Storm集群
创建Topology并向集群提交任务
核心概念和数据流模型
Topology
Spout和Bolt
Stream和Stream Grouping
Task
Worker
Storm综合案例应用开发
Kafaka
应知应会:
1.理解Kafka的安装与部署
2.掌握Kafka的原理与架构
3.掌握Kafka的使用场景
4.掌握Kafka的核心概念

业务实战:
使用Kafka进行文件消费者的应用开发
Kafka介绍
Kafka原理与架构
Kafka使用场景
Kafka的核心概念
Kafka安装、部署
Kafka文件消费者案例
Flume海量日志采集系统
应知应会:
1.掌握Flume的安装部署
2.掌握Flume的内部原理
3.掌握Flume的Source、Channel、Sink等核心组件

业务实战:
Flume海量日志数据的采集应用开发
Flume简介
Flume安装
Flume内部原理
Source、Channel、Sink
Flume应用案例
实战项目:运营商网络流量流向异常账号监测系统
应知应会:
1.掌握项目的业务需求
2.掌握项目的系统架构
3.掌握项目的需求分析
4.掌握项目的概要设计
5.掌握项目的详细设计
6.掌握项目的系统开发
7.掌握项目的单元测试
8.掌握项目的系统测试
9.掌握项目的上线部署
10.掌握项目的运营测试
11.掌握项目集群环境的搭建测试

业务实战:
HBase、Storm开发工程师
项目名称:网络流量流向异常账号统计项目
数据体量:每天1000亿,每秒峰值100 000
硬件环境:Hadoop集群 600台
软件环境:MapReduce+HBase0.98.9+Storm0.9.6+
Hadoop2.5.2+Kafka2.10+Flume1.5.0+
Zookeeper3.4.5+CentOS-6.5-X86
开发工具:Eclipse+jdk1.7
项目团队:20人
项目周期:6个月
1、需求分析
1)运营商骨干网上采集现网流量流向信息,根据这些原始信息检测账号是否存在异常, 如果多个终端使用同一个宽带账号,超过一定阈值则触发报警机制,例如阈值为5时,同一个账号同时连接的终端数量不能超过该值,如果超过则报警。
2)数据量每天1000亿,每秒峰值100 000,l 5分钟是一个周期,每个周期生成一个结果文件,每个周期检测一次共享账号
2、检测方法
5分钟内,同一个账号(UserAccount)下,只要满足下面的任意一个条件,表示出现共享账户问题:
natIP去重求和数 > 5
qqid去重求和数 > 20
cookieValue + devName + osName去重求和数 > 5
收获:

       学完此阶段需要掌握HBase数据库项目实战应用开发,掌握Storm流式计算框架项目实战应用开发,掌握Flume、Kafka海量日志采集系统应用开发。

阶段六 大数据开发平台 Spark 生态

说明:

       生态内处理的数据也可以共享,不同应用之间数据无缝集成 Spark 生态圈是加州大学伯克利分校的 AMP 实验室打造的,是一个力图在算法(Algorithms)、机器(Machines)、人(People)之间通过大规模集成来展现大数据应用的平台。 需要掌握Scala基础语法、数据结构、面向对象编程、函数式编程;Scala应用开发,还要掌握Spark集群的安装、配置、使用; Spark核心概念、基本原理;Spark RDD、Spark SQL、Spark Streaming应用开发。 以及要了解企业大数据应用设计规范和编码规则,掌握大数据应用开发。

模块 目标 知识点
Scala语言基础
SpringBoot/Cloud
Docker
应知应会:
1.掌握IDEA集成开发工具的安装、配置和应用
2.熟悉Scala基本语法、数据类型、面向对象编程
3.掌握Scala函数式编程、模式匹配、隐式转换等高级语法特性

业务实战:
实现决策树、线性回归等机器学习算法
Scala及开发环境搭建
Scala基础语法
数据类型
面向对象
函数式编程
模式匹配、隐式转换等高级语法特性
实现决策树、线性回归等机器学习算法
Spark 核心概念
基本原理
Spark Core应用开发
应知应会:
1.理解Spark系统架构,掌握系统及开发环境的安装、配置
2.掌握Spark的核心概念
3.掌握Spark的基本原理
4.掌握Spark Core的开发

业务实战:
实现KNN、KMeans等机器学习算法
Spark 基本架构、Spark安装、配置及使用
Spark 核心概念(RDD、Job、Stage、Task、Executor、Transformation、Action 等)
Spark 原理解析(RDD 数据缓存机制、进程间RPC通信机制、任务划分机制、任务提交机制、任务运行机制、Task 序列化机制、内存管理机制等)
Spark Core 编程
实现KNN、KMeans等机器学习算法
SparkSQL应用开发
应知应会:
1.掌握SparkSQL基础数据类型、基本原理
2.掌握DSL语法
3.掌握与Hive、MySQL、Parquet文件等数据源的集成
4.掌握复杂SQL的编写

业务实战:
销售数据的统计分析
SpringBoot/Cloud技术使用
SparkSQL核心概念、基本原理
RDD、Dataset、DataFrame的转换
DSL语法
与Hive、MySQL集成
外部数据源(csv、json、parquet)的访问
分析函数等复杂SQL应用
销售数据统计分析
Spark Streaming 应用开发
应知应会:
1.掌握Spark Streaming核心概念、基本原理
2.掌握基本数据源应用
4.掌握与Flume、Kafka等高级数据源的集成
5.掌握无状态和有状态的转换
6.掌握Kafka offset的管理

业务实战:
日志数据实时分析
SpringBoot/Cloud技术使用
Spark Streaming核心概念、基本原理
基础数据源应用:文件、Socket、RDD队列流
高级数据源应用:Flume、Kafka
无状态的转换
有状态的转换
Kafka offset的管理
日志数据实时分析
Spark MLlib
应知应会:
1.掌握MLlib基础数据类型、核心概念
2.掌握机器学习常见算法的原理及实现
3.调用Spark MLlib的计算学习算法完成分析、预测

业务实战:
使用决策树模型预测森林植被
MLlib基础数据类型、核心概念
机器学习常见算法(决策树、线性回归、逻辑回归、KNN、KMeans、朴素贝叶斯、关联算法等)原理及实现
Spark MLlib算法应用
使用决策树模型预测森林植被
Spark提升
应知应会:
1.了解Spark RPC基础原理
2.master、worker启动流程流程分析、源码解读
3.Spark内存管理
4.Spark调优实战
Spark RPC原理
Spark 源码剖析(Master、Worker源码解读)
Spark 内存管理
Spark 调优实战等
项目实战
应知应会:
1.了解企业大数据应用设计规范和编码规则
2.掌握企业大数据应用分析、设计方法
3.熟悉大数据批处理、流式处理应用开发流程

业务实战:
大数据应用需求分析、设计、开发、部署
业务需求分析
系统设计
数据采集
数据预处理
ETL开发
统计分析(PV统计、受访分析、访客分析、访问分析等)
流式处理系统的设计、开发
Python基础
应知应会:
1.应用环境、开发环境配置
2.基础语法、数据结构、IO操作、面向对象编程
3.基础的网络爬虫

业务实战:
豆瓣、今日头条抓取数据
基础概念及开发环境安装
基础语法
数据结构
IO 操作
面向对象
网络爬虫
收获:

       学完此阶段需要掌握Scala基础语法、数据结构、面向对象编程、函数式编程;Scala应用开发, 掌握Spark集群的安装、配置、使用;Spark核心概念、基本原理;Spark RDD、Spark SQL、Spark Streaming应用开发, ,了解企业大数据应用设计规范和编码规则,掌握大数据应用开发;

加群主微信
购买后
拉进交流群
学习交流
¥8192元 立即购买