大数据开发最核心的课程就是Hadoop框架,几乎可以说Hadoop就是大数据开发。这个框架就类似于Java应用开发的SSH/SSM框架,都是Apache基金会或者其他Java开源社区团体的能人牛人开发的贡献给大家使用的一种开源Java框架。
Java语言是王道就是这个道理,Java的核心代码是开源的,是经过全球能人牛人共同学习共同研发共同检验的,所以说Java是最经得住检验的语言,而且任何人都可以学习Java核心技术并且使用核心技术开发出像android一样的系统和Hadoop一样的框架。如果把编程的世界比作一棵树,那么Java是根,SSH和Hadoop这样的框架都是它开得枝散得叶。大数据学习群870097548
由于大数据开发工程师是目前IT培训界最热门的专业,大数据技术人才是引领智能革命的弄潮儿,是智能时代最直接的受益者,这么重要的专业科多一定要给大家讲解的详细透彻,以Hadoop生态圈为主,介绍目前大数据应用级开发工程师在工作当中所用到的全部技术,建议大家在学习大数据开发工程师专业之前,要有一定的Java基本语法和框架的学习经验。
科多大数据的零基础课程包含java+大数据开发两个部分,提高课程针对有java开发经验的朋友只包含大数据部分。因为根据前面的介绍你应该知道了,大数据的学习是需要一定的java基础的。
开源的Hadoop大数据开发平台
hadoop是一个能够对大量数据进行分布式处理的软件框架,hadoop以一种可靠、高效、可伸缩的方式进行数据处理,用户之所以可以轻松的在hadoop上开发和运行处理海量数据的应用数据,是因为hadoop具有高可靠性、高扩展性、高效性、高容错性等优点。
分布式文件系统-HDFS
提起hadoop文件系统,首先想到的是HDFS(Hadoop Distributed File System),HDFS是hadoop主要的文件系统,是Hadoop存储数据的平台,建立在网络上的分布式存储系统。hadoop还集成了其他文件系统,hadoop的文件系统是一个抽象的概念,HDFS只是其中的一种实现。
分布式计算框架-MapReduce
MapReduce是一种编程模型,是Hadoop处理数据的平台。用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”,和它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
分布式开源数据库-Hbase
HBase – Hadoop Database,HBase是一个分布式的、面向列的开源数据库。适合于非结构化数据存储,保留数据多个时间段版本。Hbase极大的方便扩展了Hadoop对于数据的处理和应用。
Hive
Hive是基于Hadoop的一个数据仓库工具,处理结构化SQL查询功能。可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行并提交到集群上去执行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,不用使用Java编程,十分适合数据仓库的统计分析。
学习Hive时,对于Hive QL中的DDL和DML就是必须要掌握的基础;表的定义、数据导出以及常用的查询语句的掌握是完成大数据统计分析的基础。学会针对Hive进行编程:使用Java API开操作Hive、开发Hive UDF函数。掌握好Hive部分高级的特性能大大提升Hive的执行效率。在优化过程中可以很好的借助于执行计划来进行分析,学习Hive时需要注意Hive性能优化是在生产中的最重要的环节,如何解决数据倾斜是关键;梳理清楚Hive元数据各个表之间的关联关系也能提升对Hive的把握能力。
Zookeeper协调Hadoop生态圈各个模块共同工作
从英文含义上来看Hadoop是小象,Hive是蜜蜂,pig是猪,Zookeeper是动物管理员。那么很显然Zookeeper的作用是分布式应用程序协调服务,为各个模块提供一致性服务的。
数据导入导出框架Sqoop
Sqoop是一款开源的工具,英文含义是象夫,就是喂养大象的人,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
学习目标:
1.了解Sqoop是什么、能做什么及架构 ;
2.能够进行Sqoop环境部署 ;
3.掌握Sqoop在生产中的使用 ;
4.能够使用Sqoop进行ETL操作 。
Scala编程开发
Scala是一种函数式面向对象语言,类似于RUBY和GROOVY语言,它无缝结合了许多前所未有的特性形成一门多范式语言,其中高层并发模型适用于大数据开发。而同时又运行于JAVA虚拟机之上。
Spark
Spark是目前最流行的大数据处理框架,以简单、易用、性能卓越著称。丰富的程序接口和库文件也使得Spark成为业内数据快速处理和分布式机器学习的必备工具。
*扩展技能:
python开发基础、数据分析与数据挖掘
学习数据挖掘工具Sklearn,熟悉数据挖掘朴素贝叶斯算法和数据挖掘SVM分类算法,并且最终使用Sklearn实现贝叶斯以及SVM算法 。
Storm大数据分布式实时计算
Storm是分布式数据处理的框架,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比 Hadoop 用于批处理。如果说MapReduce降低了并行批处理复杂性,Storm是降低了进行实时处理的复杂性。
大数据课程大纲 | |||
所处阶段 | 主讲内容 | 技术要点 | 学习目标 |
第一阶段: Linux阶段 |
系统简介及其目录结构 | linux(Redhat)操作系统安装、虚拟机基本操作、终端介绍、linux目录结构及目录简介、linux命令分类、命令格式、常用快捷键和如何使用帮助、linux常用命令 | 此阶段可熟练掌握Linux操作统的安装、配置、相关命令、VIM编辑器、系统管理、服务用和配置,并具有一定的实战能力。对大数据后期课程打下良好基础 要求: 1.熟练掌握企业软件包部署能力,实施工程师必会技能 2.熟练掌握shell编程能力,企业中大数据集群的资源监控必会技能 3熟练掌握计划任务编写能力,企业中自动运行脚本技能,主流大数据平台每日任务数至少过万 |
vim编辑器介绍 | vim常用指令、linux用户用户组介绍及常用管理命令、用户权限、权限身份、文件权限介绍、修改文件权限常用命令 | ||
修改文件权属常用命令 | 权限表示、法linux网络设置,介绍网卡、修改ip、修改主机名、网卡控制、网络诊断工具、ping | ||
linux程序介绍、管理方式介绍 | rpm包软件包介绍、rpm包管理常用命令、源码包介绍、源码包管理常用命令、源码包和rpm包的区别介绍、yum介绍、配置yun源本地yum源和网络yum源、yum安装命令 | ||
磁盘介绍、磁盘分类、磁盘结构 | 系统启动流程、磁盘分区类型、 分区类型及各自作用、常用分区工具、磁盘分区常用命令、文件系统介绍和分类、创建文件系统、挂载和卸载、文件系统使用、开机自动挂载、介绍交换分区、创建交换分区 | ||
介绍ssh服务、搭建ssh | 远程拷贝、介绍计划任务、一次性计划任务常用命令、周期性计划任务管理命令 | ||
apache介绍,搭建论坛 | 介绍nfs网络文件系统、搭建和管理nfs网络文件系统、介绍samba文件共享、搭建samba文件共享服务、文件上传下载 | ||
介绍shell、shell历史记录调用 | shell变量的申明调用和取消、shell有条件的命令链接、shell环境变量、shell实现算术运算、shell标准输入输出、重定向标准错误、管道命令 | ||
编写shell脚本、正则 | 条件分支语句if、开关分支语句switch、循环流程控制语句(while、for、do while)、中断流程控制语句(break)、continue、return |
大数据课程大纲 | |||
所处阶段 | 主讲内容 | 技术要点 | 学习目标 |
第二阶段: Java阶段 |
java简介,安装,基本关键字介绍 | 简单聊聊java、工具安装配置、关键字、变量、常量、转义字符、数据类型、2种类型转换、运算符、运算优先级、语句 | 此课程主要提高学员的开发能力、对从事大数据开发工作打下坚实的基础,需要掌握java语言的语言特性,及面像对象等 要求: 1.熟练掌握Java函数调用、排错、异常 为日后hadoop、spark开发调用打下坚实基础 2.熟练掌握文件流管理,hadoop spark中脚本开发中,数据提取,流式处理不用技能 3.熟练掌握Java线程实现与原理,大数据平台并行技术原理与优化都需要线程基础 |
循环流程控制语句 | 条件分支语句if、开关分支语句switch、循环流程控制语句(while、for、do while)、中断流程控制语句(break)、continue、return | ||
面向对象 | 讲解面向对象、方法、修饰符、继承、聚合、依赖 | ||
多态、构造函数、重写、重载 | 多态、构造函数、重写、重载、this和super、static、final、内部类学习 | ||
抽象类、接口、接口和抽象类 | 区别、异常、try catch和throws、将项目导成jar包及运行jar包、包 | ||
TCP协议 | TCP协议概述、三次握手、四次断开。企业中何时会用到TCP。 | ||
数组,排序 | 一维数组、二维数组、数组初始化、使用数组、常见算法(选择排序\插入排序\昌泡排序\递归)、API帮忙文档使用说明、String 、StringBuffer、StringBuilder、Math、Date、SimpleDateFormat、Calendar | ||
父类声明 子类实现、堆栈讲解 | 父类声明 子类实现、自动装包和自动拆包、List(ArrayList详细讲解、LinkedList了解、Vecto了解r)、泛型、增强FOR、动态参数列表、Set(HashSet、TreeSet)、Iterator器遍历讲解、Map(HashMap详细讲解、TreeMap)、内存结构简单讲解(栈\队列\链表) | ||
数据库、JDBC讲解 | mysql数据库安装、sql基础讲解、JDBC基本操作及相关类讲解 | ||
线程 | 讲解线程、线程同步及异步、多线程好处、单线程的实现、多线程的实现、线程的使用 、线程生命周期、线程同步安全问题、线程锁、死锁、线程常用方法、生产者消费者模型 | ||
设计模式、反射、Web | 讲解设计模式,细说工厂设计模式和单例模式 、反射底层技术解密,实战讲解如何编写通用的代码 、web项目的组成、讲解JSP页面组成、B/S模式、MyEclipse与Tomcat、Tomcat部署项目、测试访问部署的项目、讲解tomcat、讲解jsp、简单介绍9大内置对象、详细讲解request、实战讲解登录功能、EL表达式的使用 |
大数据课程大纲 | |||
所处阶段 | 主讲内容 | 技术要点 | 学习目标 |
第三阶段: Oracle阶段 |
oracle入门及oracleDBA日常基本操作 | 1、主流电商框架讲解 2、一步一步在linux环境安装oracle 3、测试安装结果 4、dba日常的基础操作 5、数据库的开启关闭 6、SQL初中级细讲 7、DDL|DML|DCL 8、各种约束示例 9、高级分析函数及SQL 10、sqlldr数据抽取 11、讲解监听|传输文件 12、第三方客户端安装及使用 13、参数文件故障 14、修改库字符集 15、OEM监控 16、手工建库 |
此阶段完成后能达到大数据平台前端数据库的DBA所需技术,如监控,AWR报告,备份,迁移,热备等技术。同时能具备数据库开发工程师岗位,如复杂sql的编写,存储过程,游标,触发器,分析函数等技术的使用 要求: 1.熟练掌握sql开发能力,数据分析、数据挖掘技术中最主流的语言,主流的平台都支持sql,sql为王的时代 2.详细理解数据仓库设计与原理,为大数据数据仓库设计、建模打下坚实基础,能完成Pb级数据仓库的设计与建设 3.熟练掌握大数据平台前端数据库的管理与排错 |
mysqlDBA日常维护操作 | 1、mysql源码安装 2、mysql日常操作 3、权限控制 4、数据备份 |
||
oracle内存体系结构详解 | 1、oracle体系结构详讲 2、储存 3、高水位 4、oracle体系结构详讲 5、数据库启动、关闭 6、pga 7、进程 8、物理文件文件(控制文件、日志文件、数据文件) 9、表空间 |
||
表的分类详解 | 1、常见的表分类及详解 2、rowid详解 3、rownum 五、mysqlDBA高级进阶 1、mysql高可用集群介绍 2、一步一步搭建mysqlAB复制 3、讲解高可用读写分离架构 4、一步一步搭建高可用读写分离架构 |
||
PL/SQL编程 | 1、PLSQL介绍 2、存储过程 3、触发器 4、序列 5、主键自动增加 6、权限角色 7游标 8、函数 9、程序包 10、oracle hint 11、nohup 12、实战讲解普通表转换成分区表 |
||
oracleDBA实战综合讲解一 | 1、多种手段实现定时任务讲解 2、物化视图 3、sql语句的批量操作 4、spool假脱机操作 5、实战讲解企业的自动抽取数据 6、测试库的表空间整合 7、表空间基本操作 8、sysaux表空间过高 9、实战讲解一线权限控制 10、通过外部表查看alert日志 11、实战讲解远程库备份数据 12、死锁和会话阻塞 13、对比表空间下所有对像增长 14、大表的清理 15、数据库进程过多如何解决 16、实战讲解调优SQL |
||
调优之索引与undo | 1、索引详讲 2、undo详讲 | ||
oracleDBA高级进阶 | 1、实战oracle数据库不同版本升级(10g、11g) 2、solaris搭建并升级库 3、裸设备 4、数据迁移:导出导入、数据泵、数据深沉 5、Windos环境自动备份数据 6、linux环境自动备份数据、 7、实战讲解广西移动数据迁移 8、手工备份与恢复 9、rman备份与恢复 10、容灾环境实施:DataGuard、goldengate 11、闪回详讲 12、实战项目讲解索引的重要性 13、讲解AWR报告 14、ADDM报告 15、如何编写调优报告 16、查找效率低下的SQL 17、细讲RAC、 18、一步一步在linux环境搭建RAC |
大数据课程大纲 | |||
所处阶段 | 主讲内容 | 技术要点 | 学习目标 |
第四阶段: Hadoop阶段 |
初识hadoop | s初识大数据,大数据的起源,GOOGLE的三架马车:GFS、MapReduce、BigTable,了解Hadoop生态圈、实战Hadoop集群环境部署:安装Linux系统虚拟机、安装配置JDK、配置基本参数、引领安装Hadoop集群环境(4学时)、Hadoop框架介绍 | 此阶段课程为大数据最终课程,对于海量数据的处理来说,hadoop处理工具是我们学习过程中的重点课程,学完此部分课程,学生薪资普遍高达15K 要求: 1.掌握分布式文件系统,分布式计算框架map reduce的计算与应用,掌握资源管理器yarn. 2.掌握hadoop生态圈产品的 Flume、Sqoop、zookeeper、Hbases分布式数据库等产品Spark 3.掌握实时计算系统Spark,掌握scala编程语言,公司中主流应用。 |
分布式文件系统HDFS | 分布式系统介绍,讲解分布式文件系统HDFS,HDFS基本角色精讲,特殊角色Secondary NameNode精讲、HDFS读写流程精讲,高可靠的实现(HA)、实战HDFS命令操作、分布式文件系统HDFS JAVA API 操作:本地上传、创建、删除、重命名文件或目录 | ||
分布式计算框架Map Reduce | MapReduce原理精讲、工作流程精讲、combiner精讲、partition精讲、实战MapReduce词频统计WordCount精讲、电商平台用户访问Top排名、求最大值、MapReduce编程模型精讲:MapReduce类型与格式、剖析MapReduce作业运行机制、shuffle和排序、任务执行与作业调度、:平均值计算、partition编程应用、多文件JOIN操作 | ||
数据仓库Hive | Hive基本概念、Hive数据类型和文件编码、HiveQL:数据定义与数据操作、HiveQL:查询、视图和索引、Hive内置函数和UDF | ||
ETL工具Sqoop | Sqoop介绍、安装部署Sqoop、Sqoop使用流程、Sqoop实战案例 | ||
分布式协调系统Zookeeper | 安装、运行ZooKeeper、ZooKeeper实例、Zookeeper选举机制、Zookeeper服务、使用ZooKeeper构建应用 | ||
列式数据库HBase | HBase分布式数据库介绍、HBase的核心功能模块、HBase的使用场景和经典案例、HBase基本概念、HBase表结构设计、Shell命令行工具、Java客户端、核心概念、高级特性 | ||
消息订阅分发系统Kafka | Kafka介绍、Kafka原理与架构、Kafka使用场景、Kafka的核心概念、Kafka安装与部署、Kafka文件消费者案例 | ||
海量日志采集系统Flume | Flume简介、Flume安装、Flume内部原理、Source、Channel、Sink、Flume应用案例 | ||
函数式编程Scala | Scala基础、控制结构和函数、数组、映射和元组、Scala中的类、辅助构造器、主构造器、单例对象、伴生对象、apply方法、包与作用域、继承、抽象类与抽象字段、文件操作、特质、操作符、update方法、提取器、高阶函数、柯里化、集合、模式匹配、偏函数 | ||
交互式计算框架Spark | Spark简介、生态系统、Spark架构、Spark集群安装与部署、Spark开发环境配置、Spark应用案例编程、弹性分布式数据集、Spark工作机制、Spark I/O机制、Spark通信模块、Lineage机制、Shuffler机制、Spark SQL运行架构、Spark SQL应用案例、Spark Streaming实时流、GraphX图计算、MLlib体验 | ||
数据挖掘与R语言 | 数据挖掘算法介绍、分类、聚类、关联规则、决策树、R语言介绍、RStudio安装、常用R包、R语言实现挖掘算法案例 | ||
集群运维与调优 | 规划Hadoop分布式集群、管理Hadoop集群、Hive调优、HBase调优、CDH的安装部署、HDP的安装部署 | ||
项目:实时监测车辆超速项目 | 交通方向的超速频发路段监控系统,该案例将介绍如何根据实时采集当前道路的状况,实时计算当前道路的平均速度,通过对比道路的规定限速值,能够得出某条路段超速的基本情况。这里的监控跟实时路况还不一样,主要监控超速频发路段,而不是全面统计所有路段的交通状况 |