第一阶段
Java编程基础→oracle/mysql→sql优化→jdbc
第二阶段
JavaScript基础→JavaScript深入→jQuery→jquery easyui→bootstrap
第三阶段
Servlet/jsp→ajax→xml→svn→maven实战项目一
第四阶段
Struts2→hibernate→spring/spring mvc→项目实战二→web serviceshiro→mybatis→项目实战三
第五阶段linux+搜索+hadoop体系
Linux基础→shell编程→高并发架构→lucene,solr搜索→hadoop体系HDFS→mapreduce→hbase→zookeeper→hiveflume→sqoop→项目实战四
第六阶段机器学习
R语言→mahout→项目实战五
第七阶段storm流式计算
kafka→storm→redis→项目实战六
第八阶段spark内存计算
scala编程→spark core→spark sql→spark streaming→spark mllibspark graphx→项目实战七→python机器学习→spark python编程→项目实战八项目实战九
第九阶段云计算平台
docker→kvm→openstack云计算→就业指导
第一阶段:JAVA基础阶段
阶段 技术名称 技术内容
T线 JavaSE JAVA 开发基础知识 | Eclipse 开发环境 | JavaSE 7.0 API | JavaSE 8.0新特性 | 多线程技术 | Socket 网络技术 | Regular Expression | Java反射技术 | Properties技术 | 各种实战设计模式| Java Debug技术 | 面向对象设计原则详解 | 实例解决面向对象设计
实战数据结构 数据结构实战训练 | 数组、链表等常用数据结构实战
反射机制 JAVA的动态性、Reflection技术、JVM类加载器、Class对象、Method等。
GOF23种设计模式 设计模式是开发者向高端职位走的必备技能。对于初学者具备面向对象思维和架构思维有非常大的帮助。
支撑项目
(老师重点选讲一个)
微信和QQ实时聊天交互开发
C线 尚学堂特色就业课程(一)
JAVASE面试题内部详解 | 面试答题技巧详解
第二阶段:数据库阶段
阶段 技术名称 技术内容
T线 ORACLE数据库 Oracle 基础管理;SQL 语言,PL/SQL 语言;触发器、存储过程;
序列、索引、视图对象;数据备份与移植;多表连接难题详解;MySQL数据库的使用;
MYSQL数据库 Mysql5.5/5.6数据库、navigat客户端软件; 业界常见问题设计;数据库表的设计范式;
数据库设计 设计的三大范式;PowerDesigner的使用;
JDBC技术 JDBC基础;Statement、PreparedStatement、ResultSet结果集对象等。
数据库连接池技术 Pool池的思想;连接池技术;C3P0、proxool连接池等;使用设计模式开发连接池;详细扩展与测试池效率;
ORM对象关系映射基本思想 使用反射机制和ORM思想封装JDBC工具
C线 SQL优化
数据库常见笔试题和面试题
支撑项目
(重点选讲一个)
第三阶段:移动前端和web前端阶段
阶段 技术名称 技术内容
T线 HTML5
CSS3
JavaScript HTML5 语言;
CSS 3语言; JavaScript 语言;作用域,闭包,继承,模块化编程,异步加载;
BOM浏览器对象模型; DOM文档对象模型;
JS操作CSS; JS操作DOM; ECMAScript; JS操作DIV;protoype;js基于对象编程;
HTML 5新技术特点;
webSocket,地理定位,canvas;
Firefox和chrome浏览器开发者工具;javascript控制台console;
Bootstrap4.0 前端css框架,不会美工也能做出漂亮的页面
Jquery Jquery基本技术;jquery使用插件;
CommonsJS
Requires.js javascript模块化开发
jqueryUI
jquery easyui
(选讲一个) 教授企业常用jquery ui和jquery easyui组件
AJAX技术 AJAX技术基础; AJAX技术框架; AJAX技术调试技巧;
Echart
fusioncharts
highcharts报表工具
(选讲一个) 报表统计、报表处理;图表处理;
Uediter
Kindeditor
在线编辑器
(选讲一个) uediter,kindeditor等在线编辑器技术、配置;uediter,kindeditor图片和文件上传处理;
WebUpload
上传组件 文件上传组件的使用
第四阶段:JAVAEE阶段
阶段 技术名称 技术内容
T线 Http协议深入 使用chrome/火狐开发者工具,深入理解协议内部机制;
Servlet 和JSP Servlet 技术;JSP 技术; JSTL Tag Library 技术; Filter&Listener技术;
报表系统; FileUploading; Tomcat 服务器技术;servlet 过滤器和AOP编程;servlet监听器;
Servlet3.0 注解方式配置, 异步Servlet编程
JSTL标签库 JSTL核心标签库,JSTL函数标签库、JSTL格式化标签库,JSTL之XML解析标签库、自定义标签技术;
SCM技术 CVS初步;SVN简介;SCM专业理论;
Git版本控制系统 深入学习git版本控制系统,并把自己的项目托管到github或其他git代码托管平台,尝试参与开源软件开发
Java Web实战演练 综合运用所学知识; HTML + CSS + JS; JSP + Servlet + JavaBean; FileUploading; 分页技术; 数据校验; MVC初步; Filter; Listener; HTTPLook调试; 服务器集成技术; 负载均衡与内容分发;
XML 技术 XML + XSL + DTD/Schema;XML数据解析; XML应用详解;
CAST技术(XML数据和对象互转);web service技术;
JDOM/DOM4J解析XML数据;
Tomcat服务器 服务器使用; config配置详解; 高并发访问下的tomcat优化;
Apache服务器 常用配置文件, 基于IP和域名的虚拟主机,代理服务器模块, 实时监控服务器状态
Nginx服务器 灵活简单的配置, 可定制的访问日志,反向代理,负载均衡。
Weblogic服务器 对业内多种标准的全面支持,包括EJB、JSP、JMS、JDBC、XML(标准通用标记语言的子集)和WML,使Web应用系统的实施更为简单,并且保护了投资,同时也使基于标准的解决方案的开发更加简便
Linux课程 Linux的介绍:Linux的发展历史、Linux和Windows的对比和优势、Linux的常见版本
Linux的安装:VMware Workstation虚拟软件安装过程、CentOS虚拟机安装过程
Linux的常用命令:常用命令的介绍、常用命令的使用和练习
VI、VIM编辑器:VI、VIM编辑器的介绍、VI、VIM扥使用和常用快捷键
Linux用户和组账户管理:用户的管理、组管理
Linux系统文件权限管理:文件权限介绍、文件权限的操作
Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
Linux网络:Linux网络的介绍、Linux网络的配置和维护
Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql
linux部署自己的java web实战项目
JSON和JAVA对象互相转化 JSON/GSON等类库
C线 尚学堂特色就业课程(三)
数据库常见笔试面试题
JAVAEE常见笔试面试题
TOMCAT等web服务器优化技巧
支撑项目
(重点选讲一个)
第五阶段:高级框架阶段
阶段 技术名称 技术内容
T线
A线 流行Web 框架简介 Struts2/spring4.x/hibernate4.x/spring mvc / WebWork /Velocity / Freemarker/mybatis等简介
经典设计模式 MVC模式,工厂模式,代理模式,单例模式,策略模式,责任链模式, 享元模式, IOC模式
SPRING MVC框架 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
Mybatis 3 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。
Struts2.x Struts应用开发; MVC理论; Struts 常用标签Taglib;
Struts国际化支持; Struts异常处理; Struts测试详解; Struts的多模块配置;
拦截器;自定义拦截器;
Hibernate4.x Hibernate应用开发基础; ORM基础理论; 关系映射技术; 性能调优技术;
性能优化 一级缓存 二级缓存 查询缓存 事务与并发 悲观锁、乐观锁
Spring4.x Spring IoC技术; Spring AOP技术; Spring 与 Struts / Hibernate结合运用;
Spring 声明事务管理; Spring + Hibernate Spring支持Web
SSH项目实战 综合运用所学知识; Spring + Struts + Hibernate; CVS; Log4J; JUnit;
UML UML技术;UML分析技术;UML设计技术;UML与软件架构; RationalRose / MagicDraw
Ant/maven 项目构建工具
Springsecurity/ Shiro
(选讲一个) 权限管理框架
Jbpm/ Activiti选讲一个 流程引擎框架
Webservice Cxf,wsdl,rest/restful等等
EasyUI 前端富客服端技术。
Log4J日志管理 Logging API;
SLF4J门面日志 SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
Junit单元测试 JUnit单元测试技术;
Jmeter JMeter压力测试;压力测试技术;
C线 尚学堂特色就业课程(三)
高级框架常见笔试题和面试题
支撑项目
(重点选讲一个) 电子商务平台支付系统设计
1、电子商城项目
1.1 系统说明和技术架构 随着社会的发展,网络的逐步大众化,人们的生活节奏的加快,大家的大部分时间都在繁忙的工作中度过。
大部分的上班族都没有时间去商场购物,为了给广大的上班族提供一个方便快捷的购物平台,这是我们开发这个网站的初衷。 我们
商城主要以商城的广大用户为根本,以为广大的商城用户服务为中心,商品设有丰富的商品展销货架,为商城的用户提供商品丰富、
廉价的购物平台。让商城的用户能够方便快捷、用最少的钱购买到用户满意的商品。
北泰银行业务系统
2 企业银行项目
2.1 系统说明和技术架构 在使用企业网上银行时,企业可根据职权分配原则将相关操作人员划分为普通操作员,操作复核员,
操作授权员,企业管理员四种职能. 当前系统包含模块为: 企业网银登录,账户管理, 收付款业务, 存款管理,贷款管理,
国际结算业务申请, 安全中心等模块。 技术架构: bootstrap+jsp+ spring+springMVC+mybatis
速学堂教育平台
3.1 系统说明和技术架构 速学堂在线学习平台,是一个围绕IT行业打造的在线视频学习平台,在这上面可以学习Android、iOS、开发
技术、云计算、大数据、HTML5、Oracle、数据库等各IT领域课程。平台主题功能:视频学习,资料搜索,提问,博客,在线api,在
线文档教程,资源上传下载
技术体系 Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、jQuery plugin、EasyUI、uEditor
(富文本编辑器)、CSS+DIV、freemarker
Redis,memcached(缓存服务器)
Shiro或spring security(权限管理)
Lucene、
Solr(搜索)
httpclient(调用系统服务)
Mysql(关系型数据库)
MyCat mysql分布式集群解决方案
LVS+Nginx(web服务器)
Quartz(定时任务)
1. 速学堂系统采用SOA架构,是目前大型企业经常采用的系统架构技术。
2. 系统前台采用bootstrap,系统后台使用jsp+jquery easyUI作为视图层
3. j2ee架构采用当下企业最流行的ssm架构,spring+spring mvc+mybatis+shiro
4. 系统前台使用freemarker|velocity做静态化页面来提高系统的性能,以应对大规模的用户量的并发
5. 用Lvs+Nginx服务器来处理图片、静态页
面以及系统之间的负载均衡,可以应付大并发的压力
6. Redis集群做缓存服务器,提高系统的响应速度
7. Solr集群提供课程,资料
,博客查询服务,提高系统的查询速度以及准确率,极大提高了用户体验。
系统之间使用rocketmq|activemq消息队列实现消息服务
8. 后台数据库采用mysql数据库,使用mycat作为中间件实现主从复制、
分库分表以实现大数据量的存储、解决数据量大时数据库瓶颈问题
9. 整个项目采用最流行的Maven来管理项目,达到项目的标准化,
易于项目的构建。
10. 使用svn来管理项目的代码和文档
第六阶段:linux+搜索+hadoop体系
Linux大纲 这章是基础课程,帮大家进入大数据领域打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,kvm,openstack等众多课程。因为企业中无一例外的是使用Linux来搭建或部署项目。
1) Linux的介绍,Linux的安装:VMware Workstation虚拟软件安装过程、CentOS虚拟机安装过程
2) 了解机架服务器,采用真实机架服务器部署linux
3) Linux的常用命令:常用命令的介绍、常用命令的使用和练习
4) Linux系统进程管理基本原理及相关管理工具如ps、pkill、top、htop等的使用;
5) Linux启动流程,运行级别详解,chkconfig详解
6) VI、VIM编辑器:VI、VIM编辑器的介绍、VI、VIM扥使用和常用快捷键
7) Linux用户和组账户管理:用户的管理、组管理
8) Linux磁盘管理,lvm逻辑卷,nfs详解
9) Linux系统文件权限管理:文件权限介绍、文件权限的操作
10) Linux的RPM软件包管理:RPM包的介绍、RPM安装、卸载等操作
11) yum命令,yum源搭建
12) Linux网络:Linux网络的介绍、Linux网络的配置和维护
13) Shell编程:Shell的介绍、Shell脚本的编写
14) Linux上常见软件的安装:安装JDK、安装Tomcat、安装mysql,web项目部署
大型网站
高并发处理 通过本章的学习大家将会了解大数据的源头,数据从何而来,继而更好的了解大数据。并且通过学习何果处理大型网站高并发问题反向更深入的学习了Linux,同时站在了更高的角度去触探了架构。
1) 第四层负载均衡
a) Lvs负载均衡
i. 负载算法,NAT模式,直接路由模式(DR),隧道模式(TUN)
b) F5负载均衡器介绍
2) 第七层负载均衡
a) Nginx b) Apache
3) Tomcat、jvm优化提高并发量
4) 缓存优化
a) Java缓存框架
i. Oscache,ehcache
b) 缓存数据库
i. Redis,Memcached
5) Lvs+nginx+tomcat+redis|memcache构建二层负载均衡千万并发处理
6) Haproxy
7) Fastdfs小文件独立存储管理
8) Redis缓存系统
a) Redis基本使用 b) Redis sentinel高可用 c) Redis好友推荐算法
Lucene课程 在大数据里面文本数据的搜索是很重要的一块,特别是里面的分词技术,是后面机器学习里面文本挖掘的基石,我们需要深入学习java领域里面的搜索核心技术lucene,同时也可以了解到百度 google这样的搜索系统是怎么架构实现的。
1) Lucene介绍2) Lucene 倒排索引原理> 3) 建索引 IndexWriter 4) 搜索 IndexSearcher 5) Query 6) Sort和 过滤 (filter) 7) 索引优化和高亮
Solr课程 接着前面lucene技术搜索,如果把lucene技术比如为发动机,那solr就是一两成型的汽车了。学习完solr可以帮助你在企业里面快速的架构搜索系统。首先Solr是基于Lucene做的,Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了飘红、facet等搜索引擎常见功能的支持。
1) 什么是solr2) 为什么工程中要使用solr3) Solr的原理4) 如何在tomcat中运行solr5) 如何利用solr进行索引与搜索6) solr的各种查询7) solr的Filter8) solr的排序9) solr的高亮10) solr的某个域统计11) solr的范围统计12) solrcloud集群搭建
Hadoop
离线计算大纲
一、初识hadoop
听过大数据,必听过hadoop,此部分带领大家了解hadoop的用途,在大数据中的用途,以及快速搭建一个hadoop的实验环境,在本过程中不仅将用到前面的Linux知识,而且会对hadoop的架构有深入的理解,并为你以后架构大数据项目打下坚实基础。
1) Hadoop生态环境介绍2) Hadoop云计算中的位置和关系3) 国内外Hadoop应用案例介绍4) Hadoop 概念、版本、历史5) Hadoop 核心组成介绍及hdfs、mapreduce 体系结构6) Hadoop 的集群结构7) Hadoop 伪分布的详细安装步骤8) 通过命令行和浏览器观察hadoop
二、 HDFS体系结构和shell以及java操作
详细剖析HDFS,从知晓原理到开发网盘的项目让大家打好学习大数据的基础,大数据之于分布式,分布式学习从学习分布式文件系统(HDFS)开始。
1) HDFS底层工作原理2) HDFS datanode,namenode详解3) Hdfs shell4) Hdfs java api
三、 详细讲解Mapreduce
Mapreduce可以说是任何一家大数据公司都会用到的计算框架,也是每个大数据工程师应该熟练掌握的,此处的学习除了老师详细的讲解理论外,会通过大量的案例让大家彻底掌握。
1) Mapreduce四个阶段介绍2) Writable3) InputSplit和OutputSplit4) Maptask5) Shuffle:Sort,Partitioner,Group,Combiner6) Reducer
四、 Mapreduce案例案例
1) 二次排序2) 倒排序索引3) 最优路径
4) 电信数据挖掘之—–移动轨迹预测分析(中国棱镜计划)
5) 社交好友推荐算法6) 互联网精准广告推送 算法7) 阿里巴巴天池大数据竞赛 《天猫推荐算法》案例8) Mapreduce实战pagerank算法
五、 Hadoop2.x集群搭建
前面带领大家开发了大量的MapReduce程序,此部分将带来大家让开发的程序运行在分布式集群中,并且运行在健壮高可用的集群中。
1) Hadoop2.x集群结构体系介绍2) Hadoop2.x集群搭建3) NameNode的高可用性(HA)4) HDFS Federation5) ResourceManager 的高可用性(HA)6) Hadoop集群常见问题和解决方法 7) Hadoop集群管理
分布式数据库
Hbase 大数据中使用Hbase的案例多的举不胜举,也可凸显大家学习的必要性。即使工作多年的大数据工程师Hbase的优化也是需要好好学习的重点。
1) HBase定义2) HBase与RDBMS的对比3) 数据模型4) 系统架构5) HBase上的MapReduce6) 表的设计7) 集群的搭建过程讲解8) 集群的监控9) 集群的管理10) HBase Shell以及演示11) Hbase 树形表设计12) Hbase 一对多 和 多对多 表设计13) Hbase 微博 案例14) Hbase 订单案例15) Hbase表级优化16) Hbase 写数据优化17) Hbase 读数据优化
数据仓库Hive Hive是使用sql进行计算的hadoop框架,工作中最常用到的部分,也是面试的重点,此部分大家将从方方面面来学习Hive的应用,任何细节都将给大家涉及到。
1) 数据仓库基础知识2) Hive定义3) Hive体系结构简介4) Hive集群5) 客户端简介6) HiveQL定义7) HiveQL与SQL的比较8) 数据类型9) 外部表和分区表10) ddl与CLI客户端演示11) dml与CLI客户端演示12) select与CLI客户端演示13) Operators 和 functions与CLI客户端演示14) Hive server2 与jdbc15) 用户自定义函数(UDF 和 UDAF)的开发与演示16) Hive 优化
数据迁移工具Sqoop sqoop适用于关系型数据库和HDFS分布式数据系统之间进行数据转换,在企业中,是构建数据仓库的一大工具。
1) 介绍 和 配置Sqoop
2) Sqoop shell使用
3) Sqoop-import
a) DBMS-hdfs b) DBMS-hive c) DBMS-hbase
4) Sqoop-export
Flume分布式
日志框架 Flume最早是Cloudera提供的日志收集系统,目前是Apache下的一个孵化项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。大家学习完此节后不但可以掌握Flume的使用,而且可以进行对于Flume的开发。
1) flume简介-基础知识2) flume安装与测试3) flume部署方式4) flume source相关配置及测试5) flume sink相关配置及测试6) flume selector 相关配置与案例分析7) flume Sink Processors相关配置和案例分析8) flume Interceptors相关配置和案例分析9) flume AVRO Client开发10) flume 和kafka 的整合
Zookeeper
开发 Zookeeper在分布式集群(Hadoop生态圈)中的地位越来越突出,对分布式应用的开发也提供了极大便利,这也是这里我们带领大家深入学习 Zookeeper的原因。本课程主要内容包括Zookeeper深入、客户端开发(Java编程,案例开发)、日常运维、Web界面监控。大家这里学好Zookeeper,对后面学习其他技术至关重要。
1) Zookeeper java api开发2) Zookeeper rmi高可用分布式集群开发3) Zookeeper redis高可用监控实现4) Netty 异步io通信框架 5) Zookeeper实现netty分布式架构的高可用
项目实战
某大型电商日志分析和订单管理
在实战中学习,技术点非常多,怎么样实际运用这些点是我们在自学过程中体验不到的。电商日志分析包括:pv、uv,跳出率,二跳率、广告转化率、搜索引擎优化等,订单模块有:产品推荐,商家排名,历史订单查询,订单报表统计等。
项目技术架构体系:
a) Web项目和云计算项目的整合 b) Flume通过avro实时收集web项目中的日志 c) 数据的ETL d) Hive 批量 sql执行 e) Hive 自定义函数 f) Hive和hbase整合。 g) Hbase 数据支持 sql查询分析 h) Mapreduce数据挖掘 i) Hbase dao处理 j) Sqoop 在项目中的使用。 k) Mapreduce 定时调用和监控
第七阶段:机器学习
R语言
机器学习 R本身是一款十分优秀的数据分析和数据可视化软件,同时作为第一代机器学习的工具,其中包括大量用于机器学习的添加包。此部分带领大家学习R语言更是带领大家进入机器学习的领域,机器学习算法为主线的同时,通过案例学习将会让大家对内容脉络掌握的更加清晰。
1) R语言介绍,基本函数,数据类型2) 线性回归3) 朴素贝叶斯聚类4) 决策树分类5) k均值聚类 a) 离群点检测6) 关联规则探索 7) 神经网络
Mahout
机器学习 Mahout提供一些可扩展的机器学习领域经典算法的实现,很多公司会使用Mahout方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。Mahout通过使用 Apache Hadoop,可以有效地扩展到云中。被业界奉为第二代机器学习工具。此部分过后大家不仅会学习到mahout的组件而且会有项目让大家真正把它应用到工作中。
1) 介绍为什么使用它,它的前景
a) 简单介绍Mahout b) 简单介绍机器学习 c) 实例演示Mahout单机推荐程序
2) 配置安装(hadoop2.x版本的)编译安装步骤说明
a) 命令行中测试运行协同过滤概念
3) 推荐
a) 讲解基于用户的协同过滤 b) 讲解基于物品的协同过滤
4) 分类
a) 分类概念 b) 分类的应用及Mahout分类优势 c) 分类和聚类、推荐的区别 d) 分类工作原理
e) 分类中概念术语 f) 分类项目工作流 g) 如何定义预测变量 h) 线性分类器的介绍,及贝叶斯分类器
i) 决策树分类器的介绍,及随机森林分类器 j) 如何使用贝叶斯分类器和随机森林分类器的代码展示
5) 聚类
a) 聚类概念 b) 聚类步骤流程 c) 聚类中的距离测度 d) 讲解K-means聚类 e) K-means聚类算法展示
f) 聚类其他算法 g) 介绍TF-IDF h) 归一化 i) 微博聚类案例
项目实战
微博营销数据挖掘项目
使用数据来自微博平台,项目目标通过机器学习所学知识挖掘目标客户群体,找到代言人进行微博营销广告投放。
项目技术架构体系:
a) 分布式平台 Hadoop,MapReduce b) 数据采集 Flume c) 数据清洗 ETL d) 数据库 Hbase,Redis e) 机器学习 Mahout
第八阶段:storm流式计算
redis缓存
系统课程大纲
1) redis特点、与其他数据库的比较2) 如何安装redis3) 如何使用命令行客户端4) redis的字符串类型5) redis的散列类型6) redis的列表类型7) redis的集合类型
8) 如何使用java访问redis【a.python访问redis,scala访问redis】
9) redis的事务(transaction)10) redis的管道(pipeline)11) redis持久化(AOF+RDB)12) redis优化13) redis的主从复制14) redis的sentinel高可用15) twemproxy,codis实战16) redis3.x集群安装配置
Kafka课程 Kafka是当下流行的队列,可以说是从数据采集到大数据计算承上启下的重要环节,大家在此部分将会详细学习它的架构,kafka在大家大数据的项目中几乎都会涉及到。
1) kafka是什么2) kafka体系结构3) kafka配置详解4) kafka的安装5) kafka的存储策略6) kafka分区特点7) kafka的发布与订阅8) zookeeper协调管理9) java编程操作kafka10) scala编程操作kafka11) flume 和kafka 的整合12) Kafka 和storm 的整合
Storm
实时数据处理 本部分学习过后,大家将全面掌握Storm内部机制和原理,通过大量项目实战,让大家拥有完整项目开发思路和架构设计,掌握从数据采集到实时计算到数据存储再到前台展示,所有工作一个人搞定!譬如可以一个人搞定淘宝双11大屏幕项目!不光从项目的开发的层次去实现,并可以从架构的层次站在架构师的角度去完成一个项目。
项目技术架构体系:
1) Storm的基本概念 2) Storm的应用场景 3) Storm和Hadoop的对比 4) Storm集群的安装的linux环境准备 5) zookeeper集群搭建 6) Storm集群搭建
7) Storm配置文件配置项讲解
8) 集群搭建常见问题解决
9) Storm常用组件和编程API:Topology、 Spout、Bolt
10) Storm分组策略(stream groupings)
11) 使用Strom开发一个WordCount例子
12) Storm程序本地模式debug、Storm程序远程debug
13) Storm事物处理
14) Storm消息可靠性及容错原理
15) Storm结合消息队列Kafka:消息队列基本概念(Producer、Consumer、Topic、Broker等)、消息队列Kafka使用场景、Storm结合Kafka编程API
16) Storm Trident概念17) Trident state 原理18) Trident开发实例19) Storm DRPC(分布式远程调用)介绍20) Storm DRPC实战讲解21) Storm和Hadoop 2.x的整合:Storm on YarnStorm开发实战: Kafka+Storm+Hbase+redis项目实战,以及多个案例
项目实战
中国移动基站保障平台
一个市级移动公司,每天的产生海量话务数据(一线城市更高),通过大数实时分析,监控每个基站的掉话率,基站通话总数,基站掉话总数,基站告警,3g/4g上网流量实时监控。对以上维度进行实时分析以达到对基站工作情况的监控。
项目技术架构体系:
Storm+hbase+kafka+flume+echarts
a) flume实时采集日志 b) kafka缓冲队列 c) storm实时处理 d) Hbase dao存储处理结果 e) 前端Web实时展示报表
第九阶段:spark内存计算
Python课程 Python语言的部分大家在学习后可以完全掌握Python的精髓,并通过这部分的学习给大家打好一个基础,在其他计算框架中多语言的使用上都会涉及到Python这门流行的语言。同时课程里会通过机器学习的案例让大家学习Python的同时去更好的理解机器学习。
1) 介绍Python以及特点2) Python的安装3) Python基本操作(注释、逻辑、字符串使用等)4) Python数据结构(元组、列表、字典)5) 使用Python进行批量重命名小例子6) Python常见内建函数7) 更多Python函数及使用常见技巧8) 异常9) Python函数的参数讲解10) Python模块的导入11) Python中的类与继承12) 网络爬虫案例13) 数据库连接,以及pip安装模块14) Mongodb基础入门15) 讲解如何连接mongodb16) Python的机器学习案例
Scala课程 在此部分内,将更注重scala的各种语言规则与简单直接的应用,而不在于其是如何具体实现,通过学习本课程能具备初步的Scala语言实际编程能力。本部分课程也可以视为大家下面学习Spark课程的铺垫,供大家扫盲熟悉Scala,提前进行热身运动。
1) scala解释器、变量、常用数据类型等2) scala的条件表达式、输入输出、循环等控制结构3) scala的函数、默认参数、变长参数等4) scala的数组、变长数组、多维数组等5) scala的映射、元组等操作6) scala的类,包括bean属性、辅助构造器、主构造器等
7) scala的对象、单例对象、伴生对象、扩展类、apply方法等
8) scala的包、引入、继承等概念9) scala的特质10) scala的操作符11) scala的高阶函数12) scala的集合13) scala数据库连接
Spark
大数据处理 本部分内容全面涵盖了Spark生态系统的概述及其编程模型,深入内核的研究,Spark on Yarn,Spark Streaming流式计算原理与实践,Spark SQL,Spark的多语言编程以及SparkR的原理和运行。不仅面向项目开发人员,甚至对于研究Spark的学员,此部分都是非常有学习指引意义的课程。
1) Spark介绍2) Spark应用场景
3) Spark和Hadoop MR、Storm的比较和优势
4) RDD 5) Transformation6) Action7) Spark计算PageRank8) Lineage9) Spark模型简介10) Spark缓存策略和容错处理11) 宽依赖与窄依赖12) Spark配置讲解13) Spark集群搭建14) 集群搭建常见问题解决15) Spark原理核心组件和常用RDD16) 数据本地性17) 任务调度18) DAGScheduler19) TaskScheduler20) Spark源码解读21) 性能调优22) Spark和Hadoop2.x整合:Spark on Yarn原理
Spark Streaming
实时计算
1) Spark Streaming:数据源和DStream2) 无状态transformation与有状态transformation3) Streaming Window的操作4) sparksql 编程实战5) spark的多语言操作6) spark最新版本的新特性
Spark MLlib
机器学习 前面课程大家已经掌握第一代机器学习工具R,而后又学习了第二代机器学习工具Mahout,这里大家将会学习第三代机器学习工具MLlib,大家不仅将会了解MLlib的组件及其调用,而且会通过Spark的项目深入了解MLlib的现实使用。通过此部分大家也可以看出课程不仅着眼于现在,更是着眼于大家的未来在行业中的发展。
1) 介绍
a) Spark MLlib组件介绍 b) 基本数据类型
2) 回归算法
c) 广义线性模型 d) 逻辑回归
3) 分类算法
e) 朴素贝叶斯 f) 决策树 g) 随机森林
4) 第四章 推荐系统
5) 第五章 聚类
h) Kmeans i) Sparse kmeans j) Kmeans++ k) Kmeans II
l) Streaming kmeans m) Gaussian Mixture Model
Sparkt GraphX
图计算
a) 二分图b) 概述 c) 构造图 d) 属性图 e) PageRank
项目实战
智慧城市大数据分析项目
城市中每时每刻都会产生海量数据,应用数据挖掘、机器学习和可视化技术,分析出的数据可以改进城市规划,缓解交通拥堵,抓捕罪犯。项目会使用真实的数据。 涉及到所学知识如下:
项目技术架构体系:
a) 实时流处理 Kafka,Spark Streaming b) 分布式运算 Hadoop,Spark c) 数据库 Hbase,Redis d) 机器学习 Spark Mllib e) 前台web展示数据 Struts2,echart
手机软件推荐系统项目
使用数据来自某互联网平台手机助手,项目目标通过机器学习所学知识挖掘平台手机用户喜好,给用户准确推荐手机软件,类似360手机助手、华为手机助手、百度手机助手推荐功能。
项目技术架构体系:
a) 分布式平台 Hadoop,Spark
b) 数据清洗 Hive c) 数据分析 R RStudiod) 推荐服务 Dubboxe) 规则过滤 Droolsf) 机器学习 MLlib
网络流量异常检测项目
项目目标通过机器学习所学知识检测出异常,包括检测欺诈,网络攻击,服务器传感器故障灯(本项目用户现在热门的电商网站的流量分析检测,比如京东,天猫,淘宝等)。项目功能应用于各大互联网平台中,各大互联网平台均需要网络安全予以重视和预防以及检测。
项目技术架构体系:
a) 数据存储 Hadoop b) 数据准备 Spark c) 数据分析 R RStudio d) 机器学习 MLlib e) 数据评价及调参
第十阶段:云计算平台
Docker 课程 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
1) 基本介绍2) vm docker 对比3) docker基本架构介绍4) unfs cgroup namespace5) 进程虚拟化 轻量级虚拟化6) docker 安装7) docker 镜像制作8) docker 常用命令9) docker 镜像迁移10) docker pipework【i.openvswitch】11) docker weave
虚拟化KVM 云计算算平台,比如openstack,cloudstack 底层采用的技术都是虚拟化方案,现在以kvm市场占有率最高,我们要深入的去学习这些原生的虚拟化,才能深入了解和架构openstack这样的云计算的平台,也才更有能力去开发自己的云计算平台。
1) 虚拟化介绍,虚拟化适用场景等等2) Qemu Libvirt & KVM3) 安装KVM, Qemu, Libvirt4) QEMU-KVM: 安装第一个能上网的虚拟机5) Kvm虚拟机 nat,网桥基本原理6) kvm虚拟机克隆7) kvm虚拟机vnc配置8) kvm虚拟机扩展磁盘空间9) Kvm快照10) Kvm 迁移11) Java,python,c语言编程控制kvm12) 构建自己的虚拟云平台
云平台OpenStack 在实战中学习,课程绝不纸上谈兵,通过搭建和调试一个真实的openstack平台,深入浅出, 详细讲解openstack的各个组成模块:keystone, glance, nova, cinder, neutron, horizen。课程中遇到的各种实际问题,不仅演示了如何解决,更是要教会大家学会去找到解决问题的方法。难点问题全面讲解。在云计算的各种技术当中,网络部分是最难,也是最复杂多样的。课程中针对虚拟网络进行了详细的讲解,包括基本原理,以及实际环境搭建,问题的跟踪和解决。讲师拥有丰富的移动集团工作经验,负责云平台的各方面工作,讲课内容完全贴近企业需求,绝不纸上谈兵。
1) openstack介绍和模块基本原理分析2) openstack多节点安装部署【a.采用centos6.x系统】3) Keystone基本原理4) glance5) Cinder6) Swift7) Neutron8) Openstack api 二次开发