www.9778.com 42

www.9778.com:大数据学习计划、是时候开始学习了

背景

近年来大数据BigData、人工智能AI、物联网Iot等行业发展迅猛,很多人都想要从事大数据技术开发工作,但是,请问要怎么做路线是什么?从哪里开始学?学哪些?这是一个大问题。对于我自己来说,最近也在学一些大数据开发相关的技术,所以之前整理了一份《大数据技术学习路线》,希望对你有所帮助。

推荐一个大数据学习群
119599574晚上20:10都有一节【免费的】大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,

www.9778.com 1

—恢复内容开始—

1.Linux基础和分布式集群技术

学习规划

总共分为五大部分,分别是:

  • 大数据技术基础
  • 离线计算Hadoop
  • 流式计算Storm
  • 内存计算Spark
  • 机器学习算法

目前我学完了约60%的内容,但还有很多需要多实践、和深研的地方,我也在继续学习,和摸索当中。希望你早日能成为大数据技术开发中的一员,然后大家一起学习,和技术交流。

看看大数据技术学习路线——

云计算&大数据实战课程列表

学完此阶段可掌握的核心能力:

技术说明

这里我只列举了技术点,给你提供了一个学习方向,具体实现内容可以借助网络去学习了,相信这方面你应该懂得了如何借助网络力量,然后进行自我学习了。

背景

first.课程说明:

  本系列课程适合有一点编程基础的人员学习(比如java,python,c/c++),最好是java编程人员,特别是从事过j2ee开发的人员。学习完本套课程,可以帮助你成为大型项目架构师,特别是数据量大,并发量高的大型项目架构师,当然也能很大程度上提高你的薪资待遇。

熟练使用linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构;

大数据技术基础

近年来大数据BigData、人工智能AI、物联网Iot等行业发展迅猛,很多人都想要从事大数据技术开发工作,但是,请问要怎么做,路线是什么?从哪里开始学?学哪些?这是一个大问题。对于我自己来说,最近也在学一些大数据开发相关的技术,所以之前整理了一份《大数据技术学习路线》,希望对你有所帮助。

second.课程路线

www.9778.com 2

学完此阶段可解决的现实问题:

linux操作基础

  • linux系统简介与安装
  • linux常用命令–文件操作
  • linux常用命令–用户管理与权限
  • linux常用命令–系统管理
  • linux常用命令–免密登陆配置与网络管理
  • linux上常用软件安装
  • linux本地yum源配置及yum软件安装
  • linux防火墙配置
  • linux高级文本处理命令cut、sed、awk
  • linux定时任务crontab

很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系

third.Linux大纲

这章是基础课程,帮大家进入大数据领域打好Linux基础,以便更好地学习Hadoop,NoSQL,Oracle,MySQL,Spark,Storm等众多课程。因为企业中无一例外的是使用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项目部署

搭建负载均衡、高可靠的服务器集群,可以增大网站的并发访问量,保证服务不间断地对外服务;

shell编程

  • shell编程–基本语法
  • shell编程–流程控制
  • shell编程–函数
  • shell编程–综合案例–自动化部署脚本

学习规划

fourth.大型网站高并发处理

通过本章的学习大家将会了解大数据的源头,数据从何而来,继而更好的了解大数据。并且通过学习如果处理大型网站高并发问题反向更深入的学习了Linux,同时站在了更高的角度去触探了架构。

1) 第四层负载均衡

a) Lvs负载均衡

  1. 负载算法,NAT模式,直接路由模式(DR),隧道模式(TUN)

b) Haproxy

2) 第七层负载均衡

a) Nginx/tengine

3) Tomcat、jvm优化提高并发量

4) 缓存优化

a) Java缓存框架

  1. Oscache,ehcache

b) 缓存数据库

  1. Redis,Memcached

5) Lvs+nginx+tomcat+redis|memcache构建二层负载均衡千万并发处理

6) Fastdfs小文件独立存储管理

学完此阶段可拥有的市场价值:

内存数据库redis

  • redis和nosql简介
  • redis客户端连接
  • redis的string类型数据结构操作及应用-对象缓存
  • redis的list类型数据结构操作及应用案例-任务调度队列
  • redis的hash及set数据结构操作及应用案例-购物车
  • redis的sortedset数据结构操作及应用案例-排行榜

总共分为五大部分,分别是:

fifth.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 shell

4) Hdfs java api

三、 详细讲解Mapreduce

Mapreduce可以说是任何一家大数据公司都会用到的计算框架,也是每个大数据工程师应该熟练掌握的,此处的学习除了老师详细的讲解理论外,会通过大量的案例让大家彻底掌握。

1) Mapreduce四个阶段介绍

2) Writable

3) InputSplit和OutputSplit

4) Maptask

5) Shuffle:Sort,Partitioner,Group,Combiner

6) 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 Federation

5) ResourceManager 的高可用性(HA)

6) Hadoop集群常见问题和解决方法

7) Hadoop集群管理

具备初级程序员必要具备的Linux服务器运维能力。

布式协调服务zookeeper

  • zookeeper简介及应用场景
  • zookeeper集群安装部署
  • zookeeper的数据节点与命令行操作
  • zookeeper的java客户端基本操作及事件监听
  • zookeeper核心机制及数据节点
  • zookeeper应用案例–分布式共享资源锁
  • zookeeper应用案例–服务器上下线动态感知
  • zookeeper的数据一致性原理及leader选举机制

大数据技术基础

sixth.分布式数据库Hbase

分享之前我还是要推荐下我自己创建的大数据学习交流Qun531629188无论是大牛还是想转行想学习的大学生小编我都挺欢迎,今天的已经资讯上传到群文件,不定期分享干货,包括我自己整理的一份最新的适合2018年学习的大数据教程,欢迎初学和进阶中的小伙伴。

java高级特性增强

  • Java多线程基本知识
  • Java同步关键词详解
  • java并发包线程池及在开源软件中的应用
  • Java并发包消息队里及在开源软件中的应用
  • Java JMS技术
  • Java动态代理反射

离线计算Hadoop

大数据中使用Hbase的案例多的举不胜举,也可凸显大家学习的必要性。及时工作多年的大数据工程师Hbase的优化也是需要好好学习的重点。

1) HBase定义

2) HBase与RDBMS的对比

3) 数据模型

4) 系统架构

5) HBase上的MapReduce

6) 表的设计

7) 集群的搭建过程讲解

8) 集群的监控

9) 集群的管理

10) HBase
Shell以及演示

11) Hbase
树形表设计

12) Hbase 一对多 和
多对多 表设计

13) Hbase 微博
案例

14) Hbase 订单案例

15) Hbase表级优化

16) Hbase 写数据优化

17) Hbase
读数据优化

1.内容介绍:

轻量级RPC框架开发

  • RPC原理学习
  • Nio原理学习
  • Netty常用API学习
  • 轻量级RPC框架需求分析及原理分析
  • 轻量级RPC框架开发

流式计算Storm

seventh.数据仓库Hive

在大数据领域,使用最多的操作系统就是Linux系列,并且几乎都是分布式集群。该课程为大数据的基础课程,主要介绍Linux操作系统、Linux常用命令、Linux常用软件安装、Linux网络、防火墙、Shell编程等。

离线计算Hadoop

内存计算Spark

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
与jdbc

15) 用户自定义函数(UDF 和
UDAF)的开发与演示

16) Hive 优化

2.案例:搭建互联网高并发、高可靠的服务架构。

hadoop快速入门

  • hadoop背景介绍
  • 分布式系统概述
  • 离线数据分析流程介绍
  • 集群搭建
  • 集群使用初步

机器学习算法

eighth.Lucene课程

在大数据里面文本数据的搜索是很重要的一块,特别是里面的分词技术,是后面机器学习里面文本挖掘的基石,我们需要深入学习java领域里面的搜索核心技术lucene,同时也可以了解到百度 google这样的搜索系统是怎么架构实现的。

1) Lucene介绍

2) Lucene
倒排索引原理

3) 建索引 IndexWriter

4) 搜索 IndexSearcher

5) Query

6) Sort和 过滤
(filter)

7) 索引优化和高亮

www.9778.com 3

HDFS增强

  • HDFS的概念和特性
  • HDFS的shell(命令行客户端)操作
  • HDFS的工作机制
  • NAMENODE的工作机制
  • java的api操作
  • 案例1:开发shell采集脚本

目前我学完了约60%的内容,但还有很多需要多实践、和深研的地方,我也在继续学习,和摸索当中。希望你早日能成为大数据技术开发中的一员,然后大家一起学习,和技术交流。

ninth.Solr/solrcloud课程

接着前面lucene技术搜索,如果把lucene技术比如为发动机,那solr就是一两成型的汽车了。学习完solr可以帮助你在企业里面快速的架构搜索系统。首先Solr是基于Lucene做的,Lucene是一套信息检索工具包,但并不包含搜索引擎系统,它包含了索引结构、读写索引工具、相关性工具、排序等功能,因此在使用Lucene时你仍需要关注搜索引擎系统,例如数据获取、解析、分词等方面的东西。而Solr的目标是打造一款企业级的搜索引擎系统,因此它更接近于我们认识到的搜索引擎系统,它是一个搜索引擎服务,通过各种API可以让你的应用使用搜索服务,而不需要将搜索逻辑耦合在应用中。而且Solr可以根据配置文件定义数据解析的方式,更像是一个搜索框架,它也支持主从、热换库等操作。还添加了飘红、facet等搜索引擎常见功能的支持。

1) 什么是solr

2) 为什么工程中要使用solr

3) Solr的原理

4) 如何在tomcat中运行solr

5) 如何利用solr进行索引与搜索

6) solr的各种查询

7) solr的Filter

8) solr的排序

9) solr的高亮

10) solr的某个域统计

11) solr的范围统计

12) solrcloud集群搜索详解

13) solr+hbase大型搜索系统架构

2.离线计算系统课程阶段

MAPREDUCE详解

  • 自定义hadoop的RPC框架
  • Mapreduce编程规范及示例编写
  • Mapreduce程序运行模式及debug方法
  • mapreduce程序运行模式的内在机理
  • mapreduce运算框架的主体工作流程
  • 自定义对象的序列化方法
  • MapReduce编程案例

技术说明

ten.elasticsearch分布式搜索

  Elastic
Search
是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。

1) elasticsearch简介

2) elasticsearch和solr的对比

3) elasticsearch安装部署

4) elasticsearch
service wrapper启动插件

5) 使用curl操作elasticsearch索引库

6) elasticsearch
DSL查询

7) elasticsearch批量查询meet

8) elasticsearch批量操作bulk

9) elasticsearch插件介绍

10) elasticsearch配置文件详解

11) java操作elasticsearch

12) elasticsearch的分页查询

13) elasticsearch中文分词工具的集成

14) elasticsearch优化

15) elasticsearch集群部署

16) elasticsearch+hbase大型搜索系统架构

1. 离线计算系统课程阶段

MAPREDUCE增强

  • Mapreduce排序
  • 自定义partitioner
  • Mapreduce的combiner
  • mapreduce工作机制详解

这里我只列举了技术点,给你提供了一个学习方向,具体实现内容可以借助网络去学习了,相信这方面你应该懂得了如何借助网络力量,然后进行自我学习了。

eleventh.CM+CDH集群管理课程

 

Cloudera  的定位在于 Bringing Big Data to
the Enterprise with Hadoop

 

Cloudera为了让Hadoop的配置标准化,可以帮助企业安装,配置,运行hadoop以达到大规模企业数据的处理和分析。由cloudera公司开发的集群web管理工具cloudera
manager(简称CM)和CDH目前在企业中使用的比重很大,掌握CM+CDH集群管理和使用
不仅简化了集群安装、配置、调优等工作,而且对任务监控、集群预警、快速定位问题都有很大的帮助。

 

1) CM + CDH集群的安装

 

2) 基于CM主机及各种服务组件的管理

 

3) CDH集群的配置和参数调优

 

4) CDH集群HA配置及集群升级

 

5) CM的监控管理

 

6) 集群管理的注意事项

 

7) HUE实战详解

 

Hadoop核心技术框架

MAPREDUCE实战

  • maptask并行度机制-文件切片
  • maptask并行度设置
  • 倒排索引
  • 共同好友

大数据技术基础

twelfth.Impala课程

 

Impala是Cloudera公司参照 Google
Dreme系统进行设计并主导开发的新型查询系统,它提供复杂SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。

 

1) Impala介绍和架构

 

2) Impala实战安装,架构,外部shell

www.9778.com:大数据学习计划、是时候开始学习了。 

3) Impala内部shell,存储分区,SQL

 

4) Impala SQL、hbase整合,JDBC、性能优化

 

5) Impala配置及其调优

 

6) Impala项目应用

学完此阶段可掌握的核心能力:

federation介绍和hive使用

  • Hadoop的HA机制
  • HA集群的安装部署
  • 集群运维测试之Datanode动态上下线
  • 集群运维测试之Namenode状态切换管理
  • 集群运维测试之数据块的balance
  • HA下HDFS-API变化
  • hive简介
  • hive架构
  • hive安装部署
  • hvie初使用

linux操作基础

thirteenth.Oozie课程

oozie是Hadoop生态系统中比较重要的框架,在系统中扮演的角色是工作流引擎服务器,用于运行Hadoop
Map/Reduce任务工作流(包括MR、Hive、Pig、Sqoop等),企业中多由于整个项目流程任务调度。

1) Oozie入门介绍

2) Oozie安装配置及其简单操作

3) hPDL语言学习及流程定义

4) oozie工作流配置及元数据库定义

5) oozie定时任务调度和oozie API操作

1、通过对大数据技术产生的背景和行业应用案例了解hadoop的作用;2、掌握hadoop底层分布式文件系统HDFS的原理、操作和应用开发;3、掌握MAPREDUCE分布式运算系统的工作原理和分布式分析应用开发;4、掌握Hive数据仓库工具的工作原理及应用开发。

hive增强和flume介绍

  • HQL-DDL基本语法
  • HQL-DML基本语法
  • HIVE的join
  • HIVE 参数配置
  • HIVE 自定义函数和Transform
  • HIVE 执行HQL的实例分析
  • HIVE最佳实践注意点
  • HIVE优化策略
  • HIVE实战案例
  • Flume介绍
  • Flume的安装部署
  • 案例:采集目录到HDFS
  • 案例:采集文件到HDFS

linux系统简介与安装

 forth.数据迁移工具Sqoop

sqoop适用于关系型数据库和HDFS分布式数据系统之间进行数据转换,在企业中,是构建数据仓库的一大工具。

1) 介绍 和 配置Sqoop

2) Sqoop shell使用

3) Sqoop-import

a) DBMS  à hdfs

b) DBMS  à hive

c) DBMS  à hbase

4) Sqoop-export

学完此阶段可解决的现实问题:

流式计算Storm

linux常用命令–文件操作

 fifteenth.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 的整合

1、熟练搭建海量数据离线计算平台;2、根据具体业务场景设计、实现海量数据存储方案;3、根据具体数据分析需求实现基于mapreduce的分布式运算程序;

Storm从入门到精通

  • Storm是什么
  • Storm架构分析
  • Storm架构分析
  • Storm编程模型、Tuple源码、并发度分析
  • Storm WordCount案例及常用Api分析
  • Storm集群部署实战
  • Storm+Kafka+Redis业务指标计算
  • Storm源码下载编译
  • Strom集群启动及源码分析
  • Storm任务提交及源码分析
  • Storm数据发送流程分析
  • Storm通信机制分析
  • Storm消息容错机制及源码分析
  • Storm多stream项目分析
  • 编写自己的流式任务执行框架

linux常用命令–用户管理与权限

sixteenth.Zookeeper 开发

 
Zookeeper在分布式集群(Hadoop生态圈)中的地位越来越突出,对分布式应用的开发也提供了极大便利,这也是这里我们带领大家深入学习
Zookeeper的原因。本课程主要内容包括Zookeeper深入、客户端开发(Java编程,案例开发)、日常运维、Web界面监控。大家这里学好Zookeeper,对后面学习其他技术至关重要。

1) zookeeper架构

2) zookeeper实战环境

3) zookeeper内部算法详解

4) Zookeeper  java api开发

5) Zookeeper rmi高可用分布式集群开发

6) Zookeeper实现SOA高可用架构框架

7) Netty 异步io通信框架

8) Zookeeper实现netty分布式架构的高可用

9) Zookeeper分布式锁实现

学完此阶段可拥有的市场价值:

Storm上下游及架构集成

  • 消息队列是什么
  • Kakfa核心组件
  • Kafka集群部署实战及常用命令
  • Kafka配置文件梳理
  • Kakfa JavaApi学习
  • Kafka文件存储机制分析
  • Redis基础及单机环境部署
  • Redis数据结构及典型案例
  • Flume快速入门
  • Flume+Kafka+Storm+Redis整合

linux常用命令–系统管理

seventeenth.R语言机器学习

R本身是一款十分优秀的数据分析和数据可视化软件,同时作为第一代机器学习的工具,其中包括大量用于机器学习的添加包。此部分带领大家学习R语言更是带领大家进入机器学习的领域,机器学习算法为主线的同时,通过案例学习将会让大家对内容脉络掌握的更加清晰。

1) R语言介绍,基本函数,数据类型

2) 线性回归

3) 朴素贝叶斯分类

4) 决策树分类

5) k均值聚类

a) 离群点检测

6) 关联规则探索

7) 神经网络

具备企业数据部初级应用开发人员的能力

内存计算Spark

linux常用命令–免密登陆配置与网络管理

Eighteenth.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) 微博聚类案例

1.1 HADOOP快速入门

scala编程

  • scala编程介绍
  • scala相关软件安装
  • scala基础语法
  • scala方法和函数
  • scala函数式编程特点
  • scala数组和集合
  • scala编程练习(单机版WordCount)
  • scala面向对象
    • scala模式匹配
    • actor编程介绍
    • option和偏函数
    • 实战:actor的并发WordCount
    • 柯里化
    • 隐式转换

    #### AKKA与RPC

    • Akka并发编程框架
    • 实战:RPC编程实战

    #### Spark快速入门

    • spark介绍
    • spark环境搭建
    • RDD简介
    • RDD的转换和动作
    • 实战:RDD综合练习
    • RDD高级算子
    • 自定义Partitioner
    • 实战:网站访问次数
    • 广播变量
    • 实战:根据IP计算归属地
    • 自定义排序
    • 利用JDBC RDD实现数据导入导出
    • WorldCount执行流程详解

    #### RDD详解

    • RDD依赖关系
    • RDD缓存机制
    • RDD的Checkpoint检查点机制
    • Spark任务执行过程分析
    • RDD的Stage划分

    #### Spark-Sql应用

    • Spark-SQL
    • Spark结合Hive
    • DataFrame
    • 实战:Spark-SQL和DataFrame案例

    #### SparkStreaming应用实战

    • Spark-Streaming简介
    • Spark-Streaming编程
    • 实战:StageFulWordCount
    • Flume结合Spark Streaming
    • Kafka结合Spark Streaming
    • 窗口函数
    • ELK技术栈介绍
    • ElasticSearch安装和使用
    • Storm架构分析
    • Storm编程模型、Tuple源码、并发度分析
    • Storm WordCount案例及常用Api分析

    #### Spark核心源码解析

    • Spark源码编译
    • Spark远程debug
    • Spark任务提交行流程源码分析
    • Spark通信流程源码分析
    • SparkContext创建过程源码分析
    • DriverActor和ClientActor通信过程源码分析
    • Worker启动Executor过程源码分析
    • Executor向DriverActor注册过程源码分析
    • Executor向Driver注册过程源码分析
    • DAGScheduler和TaskScheduler源码分析
    • Shuffle过程源码分析
    • Task执行过程源码分析

    ### 机器学习算法

    #### python及numpy库

    • 机器学习简介
    • 机器学习与python
    • python语言–快速入门
    • python语言–数据类型详解
    • python语言–流程控制语句
    • python语言–函数使用
    • python语言–模块和包
    • phthon语言–面向对象
    • python机器学习算法库–numpy
    • 机器学习必备数学知识–概率论

    #### 常用算法实现

    • knn分类算法–算法原理
    • knn分类算法–代码实现
    • knn分类算法–手写字识别案例
    • lineage回归分类算法–算法原理
    • lineage回归分类算法–算法实现及demo
    • 朴素贝叶斯分类算法–算法原理
    • 朴素贝叶斯分类算法–算法实现
    • 朴素贝叶斯分类算法–垃圾邮件识别应用案例
    • kmeans聚类算法–算法原理
    • kmeans聚类算法–算法实现
    • kmeans聚类算法–地理位置聚类应用
    • 决策树分类算法–算法原理
    • 决策树分类算法–算法实现

    尾记

    看完有信心能坚持学习吗?如果你的答案是肯定的,那就当下开始行动吧!Fighting~

       

linux上常用软件安装

nineteenth.Redis缓存数据库

  1. redis特点、与其他数据库的比较
  2. 如何安装redis
  3. 如何使用命令行客户端
  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集群安装配置

1.1.1 hadoop知识背景

linux本地yum源配置及yum软件安装

twentieth.Kafka分布式队列系统课程

Kafka是当下流行的队列,可以说是从数据采集到大数据计算承上启下的重要环节,大家在此部分将会详细学习它的架构,kafka在大家大数据的项目中几乎都会涉及到。

1) kafka是什么

2) kafka体系结构

3) kafka配置详解

4) kafka的安装

5) kafka的存储策略

6) kafka分区特点

7) kafka的发布与订阅

8) zookeeper协调管理

9) java编程操作kafka

10) scala编程操作kafka

11) flume 和kafka 的整合

12) Kafka 和storm 的整合

 

什么是hadoop、hadoop产生背景、hadoop在大数据云计算中的位置和关系、国内hadoop的就业情况分析及课程大纲介绍

linux防火墙配置

twenty-first.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 Yarn

22) 淘宝核心架构套件

a) Jstorm+rocket详解

Storm开发实战: flume+Kafka+Storm+Hbase+redis项目实战,以及多个案例

www.9778.com 4

linux高级文本处理命令cut、sed、awk

twenty-second.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) 讲解如何连接mongodb

16) Python的机器学习案例

国内外hadoop应用案例介绍

linux定时任务crontab

twenty-third.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数据库连接

www.9778.com 5

shell编程

twenty-fourth.Spark core大数据编程

本部分内容全面涵盖了Spark生态系统的概述及其编程模型,深入内核的研究,Spark
on Yarn,Spark Streaming流式计算原理与实践,Spark
SQL,Spark的多语言编程以及SparkR的原理和运行。不仅面向项目开发人员,甚至对于研究Spark的学员,此部分都是非常有学习指引意义的课程。

1) Spark介绍

2) Spark应用场景

3) Spark和Hadoop MR、Storm的比较和优势

4) RDD

5) Transformation

6) Action

7) Spark计算PageRank

8) Lineage

9) Spark模型简介

10) Spark缓存策略和容错处理

11) 宽依赖与窄依赖

12) Spark配置讲解

13) Spark集群搭建

14) 集群搭建常见问题解决

15) Spark原理核心组件和常用RDD

16) 数据本地性

17) 任务调度

18) DAGScheduler

19) TaskScheduler

20) Spark源码解读

21) 性能调优

22) Spark和Hadoop2.x整合:Spark on Yarn原理

23)  Spark Core核心编程

24) RDD内核架构概览

25) RDD的不同数据来源的创建方式详解

26) RDD的操作算子综述与本质分析(转换算子、行动算子)

27) 常用操作算子的案例实战

28) RDD持久化实战以及Checkpoint

29) RDD共享变量以及累加器的使用实战

30) RDD简单排序功能(优化之前WordCount程序)以及二次排序的实战

31) Spark实战Top N功能详解

32) Spark任务调度流程整体架构分析详解

33) Spark任务划分流程整体架构分析详解(宽依赖与窄依赖、DAGScheduler源码分析)

34) Spark执行任务相关原理以及源码分析(TaskScheduler、Executor、Task、Shuffle)

35) Spark实战之PageRank

36) 性能优化与调优的分析

 

分布式系统概述、hadoop生态圈及各组成部分的简介

shell编程–基本语法

twenty-fifth.Spark SQL 

  1. Spark RDD应用SQL实战
  2. RDD转化为DataFrame数据框的方式详解
  3. Spark DataFrame数据框操作实战
  4. 加载和保存数据操作(load与save)
  5. JSON数据源实战案例
  6. JDBC数据源实战案例
  7. Hive数据源实战案例
  8. Parquets数据源实战加载数据、自动分区推断、合并元数据
  9. 内置函数的实战案例
  10. 开窗函数的实战案例
  11. Spark SQL UDF自定义函数实战
  12. Spark SQL UDAF自定义聚合函数实战
  13. Spark SQL 工作原理详解以及Spark SQL 的源码分析
  14. Hive on Spark

 

www.9778.com 6

shell编程–流程控制

twenty-sixth.Spark Streaming实时计算

1) Spark Streaming和Storm对比讲解

2) Spark Streaming本质原理分析

3) Wordcount程序的实时版本开发

4) Spark Streaming和Spark Core里面context的不同

5) 输入DStream和Receiver的讲解

6) 不同输入源(Kafka、HDFS)的DStream操作实战

7) 基于DStream的window滑动窗口实战案例

8) 基于DStream的updateStateByKey实战案例

9) 基于DStream的transform实战案例

10) DStream的输出存储操作以及核心函数foreachRDD实战

11) Spark Streaming的持久化实战以及Checkpoint

12) 与Spark
SQL结合使用实战案例

13) 架构原理分析与性能优化

1.1.2hive快速入门

shell编程–函数

twenty-seventh.Spark MLlib机器学习

前面课程大家已经掌握第一代机器学习工具R,而后又学习了第二代机器学习工具Mahout,这里大家将会学习第三代机器学习工具MLlib,大家不仅将会了解MLlib的组件及其调用,而且会通过Spark的项目深入了解MLlib的现实使用。通过此部分大家也可以看出课程不仅着眼于现在,更是着眼于大家的未来在行业中的发展。

1) 介绍  

a) Spark MLlib组件介绍

b) 基本数据类型  

2) 回归算法  

c) 广义线性模型  

d) 逻辑回归  

3) 分类算法

e) 朴素贝叶斯  

f) 决策树  

g) 随机森林  

4) 第四章 推荐系统

a) 协同过滤

5) 第五章 聚类  

h) Kmeans  

i) Sparse kmeans  

j) Kmeans++  

k) Kmeans II  

l) Streaming kmeans  

m) Gaussian Mixture Model  

hive基本介绍、hive的使用、数据仓库基本知识

shell编程–综合案例–自动化部署脚本

twenty-eighth.Sparkt GraphX 图计算

n) 二分图  

  • o) 概述  

p) 构造图  

q) 属性图  

r) PageRank

1.1.3 数据分析流程案例

内存数据库redis

twenty-ninth.Tachyon 内存分布式文件系统

1) Tachyon带来的好处以及特性详解

2) Tachyon架构原理分析

3) Tachyon的安装部署实战

4) Tachyon命令行操作实战

5) 整合Spark以Tachyon为输入输出源的实战

6) 整合Spark以Tachyon作为持久化RDD的实战

 

web点击流日志数据挖掘的需求分析、数据来源、处理流程、数据分析结果导出、数据展现

redis和nosql简介

thirtieth.Docker 课程

  Docker
是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的
Linux
机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似
iPhone 的
app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

1) 基本介绍

2) vm docker 对比

3) docker基本架构介绍

4) unfs cgroup namespace

5) 进程虚拟化 轻量级虚拟化

6) docker 安装

7) docker 镜像制作

8) docker 常用命令

9) docker 镜像迁移

10) docker pipework【i.openvswitch】

11) docker weave

1.1.4 hadoop数据分析系统集群搭建

redis客户端连接

thirty-first.虚拟化KVM

  云计算算平台,比如openstack,cloudstack
底层采用的技术都是虚拟化方案,现在以kvm市场占有率最高,我们要深入的去学习这些原生的虚拟化,才能深入了解和架构openstack这样的云计算的平台,也才更有能力去开发自己的云计算平台。

1) 虚拟化介绍,虚拟化适用场景等等

2) Qemu Libvirt & KVM

3) 安装KVM, Qemu, Libvirt

4) QEMU-KVM: 安装第一个能上网的虚拟机

5) Kvm虚拟机 nat,网桥基本原理

6) kvm虚拟机克隆

7) kvm虚拟机vnc配置

8) kvm虚拟机扩展磁盘空间

9) Kvm快照

10) Kvm 迁移

11) Java,python,c语言编程控制kvm

12) 构建自己的虚拟云平台

集群简介、服务器介绍、网络环境设置、服务器系统环境设置、JDK环境安装、hadoop集群安装部署、集群启动、集群状态测试

redis的string类型数据结构操作及应用-对象缓存

thirty-second.云平台OpenStack

  在实战中学习,课程绝不纸上谈兵,通过搭建和调试一个真实的openstack平台,深入浅出,
详细讲解openstack的各个组成模块:keystone, glance, nova, cinder,
neutron,
horizen。课程中遇到的各种实际问题,不仅演示了如何解决,更是要教会大家学会去找到解决问题的方法。难点问题全面讲解。在云计算的各种技术当中,网络部分是最难,也是最复杂多样的。课程中针对虚拟网络进行了详细的讲解,包括基本原理,以及实际环境搭建,问题的跟踪和解决。讲师拥有丰富的移动集团工作经验,负责云平台的各方面工作,讲课内容完全贴近企业需求,绝不纸上谈兵。

1) openstack介绍和模块基本原理分析

2) openstack多节点安装部署【a.采用centos6.x系统】

3) Keystone基本原理

4) glance

5) Cinder

6) Swift

7) Neutron

8) Openstack api 二次开发

HIVE的配置安装、HIVE启动、HIVE使用测试

redis的list类型数据结构操作及应用案例-任务调度队列

大型企业项目实战

www.9778.com 7

redis的hash及set数据结构操作及应用案例-购物车

项目一某大型电商日志分析和订单管理

  架构技术:CDH,flume、sqoop、HDFS,Mapreduce,hive,hbase,zookeeper,mysql,oozie等等)。在实战中学习,技术点非常多,怎么样实际运用这些点是我们在自学过程中体验不到的。电商日志分析包括: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 定时调用和监控

l) Flume通过avro实时收集web项目中的日志

m) Hive批量sql执行

n) Hive自定义函数

  • o) HBase数据支持sql查询分析

p) MapReduce数据挖掘

q) Mapreduce定时调用和监控

r) IP流量分析

s) 会话分析

t) 浏览器pv分析

u) 地域信息分析

v) 订单分析

w) 事件分析

x) MR,hive,impala任务oozie部署

 

1.2 HDFS详解

redis的sortedset数据结构操作及应用案例-排行榜

项目二某运营商基站保障平台

  一个市级运营商公司,每天的产生海量话务数据(一线城市更高),通过大数实时分析,监控每个基站的掉话率,基站通话总数,基站掉话总数,基站告警,3g/4g上网流量实时监控。对以上维度进行实时分析以达到对基站工作情况的监控。

技术架构:Storm+hbase+kafka+flume+echarts

a) flume实时采集日志

b) kafka缓冲队列

c) storm实时处理

d) Hbase dao存储处理结果

e) 前端Web实时展示报表

1.2.1 HDFS的概念和特性

布式协调服务zookeeper

项目三微博营销数据挖掘项目

使用数据来自微博平台,项目目标通过机器学习所学知识挖掘目标客户群体,找到代言人进行微博营销广告投放。

a) 分布式平台 Hadoop,MapReduce

b) 数据采集 Flume

c) 数据清洗 ETL

d) 数据库 Hbase,Redis

e) 机器学习 Mahout

什么是分布式文件系统、HDFS的设计目标、HDFS与其他分布式存储系统的优劣势比较、HDFS的适用场景

zookeeper简介及应用场景

项目四智慧城市大数据分析项目

城市中每时每刻都会产生海量数据,应用数据挖掘、机器学习和可视化技术,分析出的数据可以改进城市规划,缓解交通拥堵,抓捕罪犯。项目会使用真实的数据。

涉及到所学知识如下:

a) 实时流处理 Kafka,Spark Streaming

b) 分布式运算 Hadoop,Spark

c) 数据库 Hbase,Redis

d) 机器学习 Spark Mllib

e) 前台web展示数据
Struts2,echart

www.9778.com 8

zookeeper集群安装部署

项目五手机软件推荐系统项目

使用数据来自某互联网平台手机助手,项目目标通过机器学习所学知识挖掘平台手机用户喜好,给用户准确推荐手机软件,类似360手机助手、华为手机助手、百度手机助手推荐功能。

a) 分布式平台 Hadoop,Spark

b) 数据清洗    Hive

c) 数据分析    R  RStudio

d) 推荐服务 Dubbox

e) 规则过滤    Drools

f) 机器学习 MLlib

1.2.2 HDFS的shell操作

zookeeper的数据节点与命令行操作

项目六网络流量异常检测项目

项目目标通过机器学习所学知识检测出异常,包括检测欺诈,网络攻击,服务器传感器故障灯(本项目用户现在热门的电商网站的流量分析检测,比如京东,天猫,淘宝等)。项目功能应用于各大互联网平台中,各大互联网平台均需要网络安全予以重视和预防以及检测。

a) 数据存储 Hadoop

b) 数据准备   Spark

c) 数据分析 R  RStudio

d) 机器学习 MLlib

e) 数据评价及调参

 

 

HDFS命令行客户端启动、HDFS命令行客户端的基本操作、命令行客户端支持的常用命令、常用参数介绍

zookeeper的java客户端基本操作及事件监听

1.2.3 HDFS的工作机制

zookeeper核心机制及数据节点

HDFS系统的模块架构、HDFS写数据流程、HDFS读数据流程

zookeeper应用案例–分布式共享资源锁

NAMENODE工作机制、元数据存储机制、元数据手动查看、元数据checkpoint机制、NAMENODE故障恢复、DATANODE工作机制、DATANODE动态增减、全局数据负载均衡

zookeeper应用案例–服务器上下线动态感知

www.9778.com 9

zookeeper的数据一致性原理及leader选举机制

1.2.4 HDFS的Java应用开发

java高级特性增强

搭建开发环境、获取api中的客户端对象、HDFS的java客户端所具备的常用功能、HDFS客户端对文件的常用操作实现、利用HDFS的JAVA客户端开发数据采集和存储系统

Java多线程基本知识

1.3 MAPREDUCE详解

Java同步关键词详解

1.3.1 MAPREDUCE快速上手

java并发包线程池及在开源软件中的应用

为什么需要MAPREDUCE、MAPREDUCE程序运行演示、MAPREDUCE编程示例及编程规范、MAPREDUCE程序运行模式、MAPREDUCE程序调试debug的几种方式

Java并发包消息队里及在开源软件中的应用

1.3.2 MAPREDUCE程序的运行机制

Java JMS技术

MAPREDUCE程序运行流程解析、MAPTASK并发数的决定机制、MAPREDUCE中的combiner组件应用、MAPREDUCE中的序列化框架及应用、MAPREDUCE中的排序、MAPREDUCE中的自定义分区实现、MAPREDUCE的shuffle机制、MAPREDUCE利用数据压缩进行优化、MAPREDUCE程序与YARN之间的关系、MAPREDUCE参数优化

Java动态代理反射

通过以上各组件的详解,深刻理解MAPREDUCE的核心运行机制,从而具备灵活应对各种复杂应用场景的能力

轻量级RPC框架开发

www.9778.com 10

RPC原理学习

MAPREDUCE实战编程案例:通过一个实战案例来熟悉复杂MAPREDUCE程序的开发。该程序是从nginx服务器产生的访问服务器中计算出每个访客的访问次数及每次访问的时长。原始数据样例如下:

Nio原理学习

www.9778.com 11

Netty常用API学习

通过一系列的MAPREDUCE程序——清洗、过滤、访问次数及时间分析,最终计算出需求所要的结果,用于支撑页面展现:

轻量级RPC框架需求分析及原理分析

www.9778.com 12

轻量级RPC框架开发

1.4 HIVE增强

离线计算Hadoop

1.4.1 HIVE基本概念

hadoop快速入门

HIVE应用场景、HIVE内部架构、HIVE与hadoop的关系、HIVE与传统数据库对比、HIVE的数据存储机制、HIVE的运算执行机制

hadoop背景介绍

www.9778.com 13

分布式系统概述

1.4.2 HIVE基本操作

离线数据分析流程介绍

HIVE中的DDL操作、HIVE中的DML操作、在HIVE中如何实现高效的JOIN查询、HIVE的内置函数应用、HIVE
shell的高级使用方式、HIVE常用参数配置、HIVE自定义函数和TRANSFORM的使用技巧、HIVE
UDF开发实例

集群搭建

1.4.3 HIVE高级应用

集群使用初步

HIVE执行过程分析及优化策略、HIVE在实战中的最佳实践案例、HIVE优化分类详解、HIVE实战案例–数据ETL、HIVE实战案例–用户访问时长统计

HDFS增强

HIVE实战案例–级联求和报表实例:

HDFS的概念和特性

www.9778.com 14

HDFS的shell操作

离线数据挖掘系统

HDFS的工作机制

学完此阶段可掌握的核心能力:

NAMENODE的工作机制

1、通过对数据仓库知识的加强初步掌握数据仓库的核心概念和设计流程;2、通过对HADOOP生态圈关键辅助工具的学习掌握hadoop分析系统的整合能力;3、通过电商系统点击流日志数据挖掘系统实战项目,掌握hadoop离线数据挖掘系统从数据采集、入库、分析及报表展现的整套流程

java的api操作

学完此阶段可解决的现实问题:

案例1:开发shell采集脚本

1、可根据企业具体场景设计海量数据分析系统的通用架构2、根据具体场景的特点有针对性地调整数据分析各环节的技术选型;3、根据具体需求搭建起整套离线数据分析系统;4、简单数据仓库模型的设计和架构5、各环节具体功能模块的开发实现

MAPREDUCE详解

学完此阶段可拥有的市场价值:

自定义hadoop的RPC框架

具备企业数据部中高级应用开发和初级架构师能力

Mapreduce编程规范及示例编写

2.1 数据仓库增强

Mapreduce程序运行模式及debug方法

2.1.1 数据仓库及数据模型入门

mapreduce程序运行模式的内在机理

什么是数据仓库、数据仓库的意义、数据仓库核心概念、数据仓库的体系结构

mapreduce运算框架的主体工作流程

2.1.2 数据仓库设计

自定义对象的序列化方法

建立数据仓库的步骤、数据的抽取、数据的转换、数据的加载、什么是数据模型、数据模型的常见类型、如何设计数据模型、如何选择数据建模的架构

MapReduce编程案例

典型数据模型——星型建模实例

MAPREDUCE增强

2.1.3 数据仓库建模样例

Mapreduce排序

业务建模、领域建模、逻辑建模、物理建模

自定义partitioner

web点击流日志分析系统数据仓库设计实战:

Mapreduce的combiner

通过对数据特点和业务需求的分析,关系梳理,设计出一个主题明确、层次合理的数据模型

mapreduce工作机制详解

www.9778.com 15

MAPREDUCE实战

2.2 离线辅助系统

maptask并行度机制-文件切片

2.2.1 数据采集系统

maptask并行度设置

数据采集概念介绍

倒排索引

FLUME日志采集框架介绍、FLUME工作机制、FLUME核心组件、FLUME参数配置说明、FLUME采集nginx日志实战案例

共同好友

www.9778.com 16

federation介绍和hive使用

2.2.2 任务调度系统

Hadoop的HA机制

任务调度系统概念介绍、常用任务调度工具比较、OOZIE介绍、OOZIE核心概念、OOZIE的配置说明、OOIZE实现mapreduce/hive等任务调度实战案例

HA集群的安装部署

www.9778.com 17

集群运维测试之Datanode动态上下线

2.2.3 数据导出

集群运维测试之Namenode状态切换管理

数据导出概念介绍、SQOOP基础知识、SQOOP原理及配置说明、SQOOP数据导入实战、SQOOP数据导出实战、SQOOP批量作业操作

集群运维测试之数据块的balance

www.9778.com 18

HA下HDFS-API变化

2.3 web点击流日志分析系统实战项目

hive简介

2.3.1 项目介绍

hive架构

1.
在PC时代,营销的核心是购买,在移动互联网时代,其核心是如何实现用户个性化互动,对用户传播更为精准化的内容,而实现这一核心的基础就是对数据的管理和分析——数据驱动型商业模型。

hive安装部署

2.
各类互联网服务产品都可以通过前端技术获取用户的详细行为数据(如访问的页面,点击的区域、登陆的频次、注册行为、购买的行为等),将这些点击流日志数据与后台商业数据综合起来,就可以挖掘对公司运营决策意义非凡的商业价值。

hvie初使用

3.
本项目则是一个用大数据技术平台实现的点击流日志分析数据挖掘系统,项目内容涵盖一个典型数据挖掘系统中,包括需求分析、数据采集、数据存储管理、数据清洗、数据仓库设计、ETL、业务模型统计分析、数据可视化的全部流程。

hive增强和flume介绍

2.3.2 需求分析

HQL-DDL基本语法

什么是点击流日志、点击流日志的商业价值、点击流日志分析需求

HQL-DML基本语法

业务模型指标体系设计——流量分析、来源分析、受访分析、访客分析、转化率分析

HIVE的join

2.3.3 系统设计及开发

HIVE 参数配置

  1. 系统架构设计

HIVE 自定义函数和Transform

www.9778.com 19

HIVE 执行HQL的实例分析

2.
数据采集设计及开发——数据格式、数据内容分析、数据生成规律、采集系统技术选型解析、FLUME采集系统实现

HIVE最佳实践注意点

3.
数据存储设计及开发——存储技术选型、存储业务流程解析、存储目录规划及文件命名规则、小文件合并实现

HIVE优化策略

4.
数据统计设计及开发——数据预处理、数据加载、原始数据表的创建、数据入库、数据ETL

HIVE实战案例

  1. 报表统计设计——数据模型设计、事实表设计、维度表梳理

Flume介绍

6.
业务指标设计及开发——PV统计(时间维度、终端维度、地域维度)、来访次数统计(时间维度、地域维度、终端维度)、独立访客统计(时间维度、终端维度、地域维度)、受访页面统计(时间维度、栏目维度)、页面热点图、转化率分析、来源关键词分析、来源搜索引擎分析、来源广告推广分析

Flume的安装部署

2.3.4 任务调度系统设计实现

案例:采集目录到HDFS

任务调度单元实现、各环节任务运行频次及依赖关系梳理、工作流设计及实现、工作流定义配置上传部署、工作流启动即状态监控

案例:采集文件到HDFS

www.9778.com 20

流式计算Storm

2.3.5 数据可视化——结果报表展现

Storm从入门到精通

  1. hive分析结果使用sqoop导出到msyql数据库

  2. 报表展现系统技术选型:

Storm是什么

后台使用spingmvc +spring+ mybatis

Storm架构分析

前端页面使用全静态异步刷新技术jQuery+ Echarts

Storm架构分析

  1. web展现程序架构搭建,使用maven构建项目工程

  2. web展现程序页面设计开发:原型页面设计、js代码开发

  3. 最终实现以下数据可视化效果:

Storm编程模型、Tuple源码、并发度分析

流量概况可视化效果:

Storm WordCount案例及常用Api分析

www.9778.com 21

Storm集群部署实战

来源地域分析可视化效果:

Storm+Kafka+Redis业务指标计算

www.9778.com 22

Storm源码编译

来源类型分析可视化效果:

Strom集群启动及源码分析

www.9778.com 23

Storm任务提交及源码分析

3.Storm实时计算部分阶段

Storm数据发送流程分析

实时课程分为两个部分:流式计算核心技术和流式计算计算案例实战。

Storm通信机制分析

1.流式计算核心技术

Storm消息容错机制及源码分析

流式计算核心技术主要分为两个核心技术点:Storm和Kafka,学完此阶段能够掌握Storm开发及底层原理、Kafka的开发及底层原理、Kafka与Storm集成使用。具备开发基于storm实时计算程序的技术能力。

Storm多stream项目分析

学完此阶段可掌握的核心能力:

编写自己的流式任务执行框架

、理解实时计算及应用场景

Storm上下游及架构集成

、掌握Storm程序的开发及底层原理、掌握Kafka消息队列的开发及底层原理

消息队列是什么

、具备Kafka与Storm集成使用的能力

Kakfa核心组件

学完此阶段可解决的现实问题:

Kafka集群部署实战及常用命令

具备开发基于storm的实时计算程序的能力

Kafka配置文件梳理

学完此阶段可拥有的市场价值:

Kakfa JavaApi学习

具备实时计算开发的技术能力、但理解企业业务的能力不足

Kafka文件存储机制分析

1.1、流式计算一般结构

Redis基础及单机环境部署

2011年在海量数据处理领域,Hadoop是人们津津乐道的技术,Hadoop不仅可以用来存储海量数据,还以用来计算海量数据。因为其高吞吐、高可靠等特点,很多互联网公司都已经使用Hadoop来构建数据仓库,高频使用并促进了Hadoop生态圈的各项技术的发展。一般来讲,根据业务需求,数据的处理可以分为离线处理和实时处理,在离线处理方面Hadoop提供了很好的解决方案,但是针对海量数据的实时处理却一直没有比较好的解决方案。就在人们翘首以待的时间节点,storm横空出世,与生俱来的分布式、高可靠、高吞吐的特性,横扫市面上的一些流式计算框架,渐渐的成为了流式计算的首选框架。如果庞麦郎在的话,他一定会说,这就是我要的滑板鞋!

Redis数据结构及典型案例

www.9778.com 24

Flume快速入门

上图是流式分析的一般架构图,抽象出四个步骤就是数据采集、数据缓冲、数据处理、数据输出。一般情况下,我们采用Flume+kafka+Storm+Redis的结构来进行流式数据分析。实时部分的课程主要是针对Kafka、Storm进行学习

Flume+Kafka+Storm+Redis整合

1.2、流式计算可以用来干什么

内存计算Spark

一淘-实时分析系统:实时分析用户的属性,并反馈给搜索引擎。最初,用户属性分析是通过每天在云梯上定时运行的MR
job来完成的。为了满足实时性的要求,希望能够实时分析用户的行为日志,将最新的用户属性反馈给搜索引擎,能够为用户展现最贴近其当前需求的结果。

scala编程

携程-网站性能监控:实时分析系统监控携程网的网站性能。利用HTML5提供的performance标准获得可用的指标,并记录日志。Storm集群实时分析日志和入库。使用DRPC聚合成报表,通过历史数据对比等判断规则,触发预警事件。

scala编程介绍

一个游戏新版本上线,有一个实时分析系统,收集游戏中的数据,运营或者开发者可以在上线后几秒钟得到持续不断更新的游戏监控报告和分析结果,然后马上针对游戏的参数和平衡性进行调整。这样就能够大大缩短游戏迭代周期,加强游戏的生命力。

scala相关软件安装

实时计算在腾讯的运用:精准推荐(广点通广告推荐、新闻推荐、视频推荐、游戏道具推荐);实时分析(微信运营数据门户、效果统计、订单画像分析);实时监控(实时监控平台、游戏内接口调用)

scala基础语法

为了更加精准投放广告,阿里妈妈后台计算引擎需要维护每个用户的兴趣点(理想状态是,你对什么感兴趣,就向你投放哪类广告)。用户兴趣主要基于用户的历史行为、用户的实时查询、用户的实时点击、用户的地理信息而得,其中实时查询、实时点击等用户行为都是实时数据。考虑到系统的实时性,阿里妈妈使用Storm维护用户兴趣数据,并在此基础上进行受众定向的广告投放。

scala方法和函数

1.3、Storm核心技术点

scala函数式编程特点

基础技术点

scala数组和集合

linux环境准备、zookeeper集群搭建、Storm集群搭建、Storm配置文件配置项讲解、集群搭建常见问题解决。

scala编程练习(单机版WordCount)

www.9778.com 25

scala面向对象

Storm练习案例

scala模式匹配

根据蚂蚁金服提供的最新数据,今年双十一的交易峰值为8.59万笔/秒,是去年3.85万笔/秒的2.23倍。这一数据也超过了6万笔/秒的预估。如何实时的计算订单金额,让公司领导层看到呢?

actor编程介绍

www.9778.com 26

option和偏函数

(图为双十一支付宝成交金额)

实战:actor的并发WordCount

Storm基础及原理

柯里化

Storm常用组件和编程API:Topology、 Spout、Bolt、Storm分组策略(stream
groupings)、Storm项目maven环境搭建、使用Strom开发一个WordCount例子、Storm程序本地模式debug、Storm消息可靠性及容错原理、Storm任务提交流程、Strom消息容错机制。

隐式转换

www.9778.com 27

AKKA与RPC

(图为storm组件)

Akka并发编程框架

1.4、Kafka核心技术点

实战:RPC编程实战

Storm结合消息队列Kafka:消息队列基本概念(Producer、Consumer、Topic、Broker等)、消息队列Kafka使用场景、Storm结合Kafka编程API、Kafka负载均衡、Kafka消息存储原理等。

Spark快速入门

www.9778.com 28

spark介绍

(图为Kafka消息队列原理)

spark环境搭建

2.流式计算案例实战

RDD简介

实战案例部分主要有三个企业实战案列,分别是基于点击流的日志分析系统、基于系统日志的监控告警系统、基于订单系统的交易风控系统,三个案列是企业中的典型项目。学完此阶段能够独立根据企业的业务性质开发相关的storm程序。

RDD的转换和动作

学完此阶段可掌握的核心能力:

实战:RDD综合练习

1、掌握企业核心业务需求

RDD高级算子

2、掌握实时系统常见的开发流程及运营经验

自定义Partitioner

学完此阶段可解决的现实问题:

实战:网站访问次数

可以独立开发storm程序来满足业务需求

广播变量

学完此阶段可拥有的市场价值:

实战:根据IP计算归属地

熟练学习和掌握后,可满足企业开发的初级需求,根据市场反馈数据看,薪资普遍在15000-18000元/月。

自定义排序

2.1、案例:流量日志分析

利用JDBC RDD实现数据导入导出

流量日志分析之漏斗模型:大型电商网站,上亿规模的用户,千万级别的活跃用户,如何评估一个商品专题页面的效果好不好呢?比如:浏览次数、加入购物车次数、下单次数、支付次数、完成。

WorldCount执行流程详解

www.9778.com 29

RDD详解

(图为日志分析漏斗模型-数据部必备)

RDD依赖关系

流量日志分析之基础数据分析:电商网上商品数量在千万级别,店铺数量在百万级别,如何实时的计算一个每个商品页的访问数、用户数、来源信息等基础信息呢?如何实时的计算每个店铺的访问数、用户数、来源信息等基础数据呢?

RDD缓存机制

www.9778.com 30

RDD的Checkpoint检查点机制

(图为页面浏览分析-数据部必备)

Spark任务执行过程分析

2.2、案例:统一监控告警系统

RDD的Stage划分

随着公司业务发展,支撑公司业务的各种系统越来越多,为了保证公司的业务正常发展,急需要对这些线上系统的运行进行监控,做到问题的及时发现和处理,最大程度减少对业务的影响。不同业务的会有几十上百台服务器去支撑,大型企业可能是成千上万台服务器,那么每台服务器的硬件状态、业务应用状态如何实时的监控,做到及时发现,快速解决问题呢?

Spark-Sql应用

www.9778.com 31

Spark-SQL

(图为企业产生日志的系统清单)

Spark结合Hive

统一监控系统触发的短信告警

DataFrame

www.9778.com 32

实战:Spark-SQL和DataFrame案例

统一监控系统触发的邮件告警

SparkStreaming应用实战

www.9778.com 33

Spark-Streaming简介

2.3、案例:交易风控系统

Spark-Streaming编程

电子商务是以互联网络为平台的贸易新模式,它的一个最大特点是强调参加交易的各方和所合作的伙伴都要通过Internet密切结合起来,共同从事在网络环境下的商业电子化应用。用户信息容易受到计算机病毒、黑客的攻击,商业信息和数据易于搭截侦听、口令试探和窃取,为了防止用户信息异常给商家和用户带来不必要的损失,企业期望针对用户的订单进行分析,对触发规则的订单进行风险预警,在必要情况下进行拦截及锁定订单。

实战:StageFulWordCount

www.9778.com 34

Flume结合Spark Streaming

4.Spark内存计算阶段

Kafka结合Spark Streaming

学完此阶段可掌握的核心能力:

窗口函数

1.掌握Scala函数式编程特性,熟练使用scala开发程序,可以看懂其他用Scala编写源码。

ELK技术栈介绍

2.搭建Spark集群、使用Scala编写Spark计算程序,熟练掌握Spark原理,可以阅读Spark源码。

ElasticSearch安装和使用

3.理解DataFrame和RDD之间的关系,熟练使用DataFrame的API,熟练使用Spark
SQL处理结构化数据,通过Spark
SQL对接各种数据源,并将处理后结果写回到存储介质中。

Storm架构分析

4.理解Spark
Streaming的核心DStream,掌握DStream的编程API并编写实时计算程序。

Storm编程模型、Tuple源码、并发度分析

学完此阶段可解决的现实问题:

Storm WordCount案例及常用Api分析

熟练使用Scala快速开发Spark大数据应用,通过计算分析大量数据,挖掘出其中有价值的数据,为企业提供决策依据。

Spark核心源码解析

学完此阶段可拥有的市场价值:

Spark源码编译

学习完spark并掌握其内容,将具备中级大数据工程师能力,薪水可以达到20K~25K。

Spark远程debug

1.Scala函数式编程

Spark任务提交行流程源码分析

介绍:Scala是一门集面向对象和函数式编程与一身的编程语言,其强大的表达能力、优雅的API、高效的性能等优点受到越来越多程序员的青睐。Spark底层就是用Scala语言编写,如果想彻底掌握Spark,就必须学好Scala。

Spark通信流程源码分析

案例:Scala编程实战,基于Akka框架,编写一个简单的分布式RPC通信框架

SparkContext创建过程源码分析

www.9778.com 35

DriverActor和ClientActor通信过程源码分析

2.使用Spark处理离线数据

Worker启动Executor过程源码分析

介绍:Spark是基于内存计算的大数据并行计算框架,具有高容错性和高可伸缩性,可以在大量廉价硬件之上部署大规模集群,在同等条件下要比Hadoop快10到100倍。

Executor向DriverActor注册过程源码分析

www.9778.com 36

Executor向Driver注册过程源码分析

3.使用Spark SQL处理结构化数据

DAGScheduler和TaskScheduler源码分析

介绍:Spark
SQL的前身是Shark,专门用来处理结构化的数据,类似Hive,是将SQL转换成一系列RDD任务提交到Spark集群中运行,由于是在内存中完成计算,要比hive的性能高很多,并且简化了开发Spark程序的难度同时提高了开发效率。

Shuffle过程源码分析

www.9778.com 37

Task执行过程源码分析

4.使用Spark Streaming完成实时计算

机器学习算法

介绍:Spark Streaming类似于Apache
Storm,用于流式数据的处理。根据其官方文档介绍,Spark
Streaming有高吞吐量和容错能力强等特点。Spark
Streaming支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如:map、reduce、join、window等进行运算。而结果也能保存在很多地方,如HDFS,数据库等。另外Spark
Streaming也能和MLlib以及Graphx完美融合

python及numpy库

www.9778.com 38

机器学习简介

5.Spark综合项目:

机器学习与python

介绍:该项目使用了Spark SQL和Spark
Streaming对游戏整个生命周期产生的数据进行了分析,从玩家第一次登录游戏到每天产生的游戏日志,通过大量的数据来分析该游戏的运营情况和玩家的各种行为:如活跃用户、用户留存、充值比例、游戏收人、外挂分析等。

python语言–快速入门

通过玩家登录游戏产生的数据分析一天之内各个时间段进入游戏的情况

python语言–数据类型详解

www.9778.com 39

python语言–流程控制语句

通过玩家登陆游戏产生的数据分析玩家在全国地区的分步情况,调整广告投放策略

python语言–函数使用

www.9778.com 40

python语言–模块和包

用户留存指标可以分析游戏对玩家的吸引力,分析用户流失原因

phthon语言–面向对象

www.9778.com 41

python机器学习算法库–numpy

用户等级信息可以分析玩家等等级分布情况、调整装备爆率和游戏难度

机器学习必备数学知识–概率论

www.9778.com 42

常用算法实现

通过上面游戏各个数据指标的分析,可以让游戏运维者了解游戏的运维情况,为运维者提供各种个性化的调整策略,从而保证游戏健康、稳定的运营。

knn分类算法–算法原理

knn分类算法–代码实现

knn分类算法–手写字识别案例

lineage回归分类算法–算法原理

lineage回归分类算法–算法实现及demo

朴素贝叶斯分类算法–算法原理

朴素贝叶斯分类算法–算法实现

朴素贝叶斯分类算法–垃圾邮件识别应用案例

kmeans聚类算法–算法原理

kmeans聚类算法–算法实现

kmeans聚类算法–地理位置聚类应用

决策树分类算法–算法原理

决策树分类算法–算法实现