课程名称:大数据
课程内容:
一、静态网页基础(HTML+CSS)
1.难易程度:一颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:html常用标签、CSS常见布局、样式、定位等、静态页面的设计制作方式等
4.描述如下:
从技术层面来说,该阶段使用的技术代码很简单、易于学习、方便理解。从后期课程层来说,因为我们重点是大数据,但前期需要锻炼编程技术与思维。经过我们多年开发和授课的项目经理分析,满足这两点,目前市场上好理解和掌握的技术是J2EE,但J2EE又离不开页面技术。所以第一阶段我们的重点是页面技术。采用市场上主流的HTMl+CSS。
二、JavaSE+JavaWeb
1.难易程度:两颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:java基础语法、java面向对象(类、对象、封装、继承、多态、抽象类、接口、常见类、内部类、常见修饰符等)、异常、集合、文件、IO、MYSQL(基本SQL语句操作、多表查询、子查询、存储过程、事务、分布式事务)JDBC、线程、反射、Socket编程、枚举、泛型、设计模式
4.描述如下:
称为Java基础,由浅入深的技术点、真实商业项目模块分析、多种存储方式的设计
与实现。该阶段是前四个阶段重要的阶段,因为后面所有阶段的都要基于此阶段,也是学习大数据紧密度高的阶段。本阶段将第一次接触团队开发、产出具有前后台(第一阶段技术+第二阶段的技术综合应用)的真实项目。
三、前端框架
1.难易程序:两星
2.课时量(技术知识点+阶段项目任务+综合能力):64课时
3.主要技术包括:JavaScript、Jquery、注解反射一起使用,XML以及XML解析、解析dom4j、jxab、jdk8.0新特性、SVN、Maven、easyui
4.描述如下:
前两个阶段的基础上化静为动,可以实现让我们网页内容更加的丰富,当然如果从市场人员层面来说,有专业的前端设计人员,我们设计本阶段的目标在于前端的技术可以更直观的锻炼人的思维和设计能力。同时我们也将第二阶段的高级特性融入到本阶段。使学习者更上一层楼。
四、企业级开发框架
1.难易程序:三颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:Hibernate、Spring、SpringMVC、log4jslf4j整合、myBatis、struts2、Shiro、redis、流程引擎activity,爬虫技术nutch,lucene,webServiceCXF、Tomcat集群和热备、MySQL读写分离
4.描述如下:
如果将整个JAVA课程比作一个糕点店,那前面三个阶段可以做出一个武大郎烧饼(因为是纯手工-太麻烦),而学习框架是可以开一个星巴克(高科技设备-省时省力)。从J2EE开发工程师的任职要求来说,该阶段所用到的技术是必须掌握,而我们所授的课程是高于市场(市场上主流三大框架,我们进行七大框架技术传授)、而且有真实的商业项目驱动。需求文档、概要设计、详细设计、源码测试、部署、安装手册等都会进行讲解。
五、初识大数据
1.难易程度:三颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:大数据前篇(什么是大数据,应用场景,如何学习大数据库,虚拟机概念和安装等)、Linux常见命令(文件管理、系统管理、磁盘管理)、LinuxShell编程(SHELL变量、循环控制、应用)、Hadoop入门(Hadoop组成、单机版环境、目录结构、HDFS界面、MR界面、简单的SHELL、java访问hadoop)、HDFS(简介、SHELL、IDEA开发工具使用、全分布式集群搭建)、MapReduce应用(中间计算过程、Java操作MapReduce、程序运行、日志监控)、Hadoop高级应用(YARN框架介绍、配置项与优化、CDH简介、环境搭建)、扩展(MAP端优化,COMBINER使用方法见,TOPK,SQOOP导出,其它虚拟机VM的快照,权限管理命令,AWK与SED命令)
4.描述如下:
该阶段设计是为了让新人能够对大数据有一个相对的大概念怎么相对呢?在前置课程JAVA的学习过后能够理解程序在单机的电脑上是如何运行的。现在,大数据呢?大数据是将程序运行在大规模机器的集群中处理。大数据当然是要处理数据,所以同样,数据的存储从单机存储变为多机器大规模的集群存储。
(你问我什么是集群?好,我有一大锅饭,我一个人可以吃完,但是要很久,现在我叫大家一起吃。一个人的时候叫人,人多了呢?是不是叫人群啊!)
那么大数据可以初略的分为:大数据存储和大数据处理所以在这个阶段中呢,我们课程设计了大数据的标准:HADOOP大数据的运行呢并不是在咋们经常使用的WINDOWS7或者W10上面,而是现在使用广泛的系统:LINUX。
六、大数据数据库
1.难易程度:四颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:Hive入门(Hive简介、Hive使用场景、环境搭建、架构说明、工作机制)、HiveShell编程(建表、查询语句、分区与分桶、索引管理和视图)、Hive高级应用(DISTINCT实现、groupby、join、sql转化原理、java编程、配置和优化)、hbase入门、HbaseSHELL编程(DDL、DML、Java操作建表、查询、压缩、过滤器)、细说Hbase模块(REGION、HREGIONSERVER、HMASTER、ZOOKEEPER简介、ZOOKEEPER配置、Hbase与Zookeeper集成)、HBASE高级特性(读写流程、数据模型、模式设计读写热点、优化与配置)
4.描述如下:
该阶段设计是为了让大家在理解大数据如何处理大规模的数据的同时。简化咋们的编写程序时间,同时提高读取速度。
怎么简化呢?在第一阶段中,如果需要进行复杂的业务关联与数据挖掘,自行编写MR程序是非常繁杂的。所以在这一阶段中我们引入了HIVE,大数据中的数据仓库。这里有一个关键字,数据仓库。我知道你要问我,所以我先说,数据仓库呢用来做数据挖掘分析的,通常是一个超大的数据中心,存储这些数据的呢,一般为ORACLE,DB2,等大型数据库,这些数据库通常用作实时的在线业务。
总之,要基于数据仓库分析数据呢速度是相对较慢的。但是方便在于只要熟悉SQL,学习起来相对简单,而HIVE呢就是这样一种工具,基于大数据的SQL查询工具,这一阶段呢还包括HBASE,它为大数据里面的数据库。纳闷了,不是学了一种叫做HIVE的数据“仓库”了么?HIVE是基于MR的所以查询起来相当慢,HBASE呢基于大数据可以做到实时的数据查询。一个主分析,另一个主查询
七、实时数据采集
1.难易程序:四颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:Flume日志采集,KAFKA入门(消息队列、应用场景、集群搭建)、KAFKA详解(分区、主题、接受者、发送者、与ZOOKEEPER集成、Shell开发、Shell调试)、KAFKA高级使用(java开发、主要配置、优化项目)、数据可视化(图形与图表介绍、CHARTS工具分类、柱状图与饼图、3D图与地图)、STORM入门(设计思想、应用场景、处理过程、集群安装)、STROM开发(STROMMVN开发、编写STORM本地程序)、STORM进阶(java开发、主要配置、优化项目)、KAFKA异步发送与批量发送时效,KAFKA全局消息有序,STORM多并发优化
4.描述如下:
前面的阶段数据来源是基于已经存在的大规模数据集来做的,数据处理与分析过后的结果是存在一定延时的,通常处理的数据为前一天的数据。
举例场景:网站防盗链,客户账户异常,实时征信,遇到这些场景基于前一天的数据分析出来过后呢?是否太晚了。所以在本阶段中我们引入了实时的数据采集与分析。主要包括了:FLUME实时数据采集,采集的来源支持非常广泛,KAFKA数据数据接收与发送,STORM实时数据处理,数据处理秒级别
八、SPARK数据分析
1.难易程序:五颗星
2.课时量(技术知识点+阶段项目任务+综合能力)
3.主要技术包括:SCALA入门(数据类型、运算符、控制语句、基础函数)、SCALA进阶(数据结构、类、对象、特质、模式匹配、正则表达式)、SCALA高级使用(高阶函数、科里函数、偏函数、尾迭代、自带高阶函数等)、SPARK入门(环境搭建、基础结构、运行模式)、Spark数据集与编程模型、SPARKSQL、SPARK进阶(DATAFRAME、DATASET、SPARKSTREAMING原理、SPARKSTREAMING支持源、集成KAFKA与SOCKET、编程模型)、SPARK高级编程(Spark-GraphX、Spark-Mllib机器学习)、SPARK高级应用(系统架构、主要配置和性能优化、故障与阶段恢复)、SPARKMLKMEANS算法,SCALA隐式转化高级特性
4.描述如下:
同样先说前面的阶段,主要是第一阶段。HADOOP呢在分析速度上基于MR的大规模数据集相对来说还是挺慢的,包括机器学习,人工智能等。而且不适合做迭代计算。SPARK呢在分析上是作为MR的替代产品,怎么替代呢?先说他们的运行机制,HADOOP基于磁盘存储分析,而SPARK基于内存分析。我这么说你可能不懂,再形象一点,就像你要坐火车从北京到上海,MR就是绿皮火车,而SPARK是高铁或者磁悬浮。而SPARK呢是基于SCALA语言开发的,当然对SCALA支持好,所以课程中先学习SCALA开发语言。