1.linux基础和分布式集群技术
学完此阶段可掌握的核心能力:
熟练使用linux,熟练安装linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构;
学完此阶段可解决的现实问题:
搭建负载均衡、高可靠的服务器集群,可以增大网站的并发访问量,保证服务不间断地对外服务;
学完此阶段可拥有的市场价值:
具备初级程序员必要具备的linux服务器运维能力。
1.内容介绍:关注作者:需要大数据学习视频资料可以加我qq群,此文里面连起来的数字,你会找到我的
在大数据领域,使用最多的操作系统就是linux系列,并且几乎都是分布式集群。该课程为大数据的基础课程,主要介绍linux操作系统、linux常用命令、linux常用软件安装、linux网络、防火墙、shell编程等。
2.案例:搭建互联网高并发、高可靠的服务架构。
2.离线计算系统课程阶段
1. 离线计算系统课程阶段
hadoop核心技术框架
学完此阶段可掌握的核心能力:欢迎加入722680258零基础到项目实战
1、通过对大数据技术产生的背景和行业应用案例了解hadoop的作用;2、掌握hadoop底层分布式文件系统hdfs的原理、操作和应用开发;3、掌握mapreduce分布式运算系统的工作原理和分布式分析应用开发;4、掌握hive数据仓库工具的工作原理及应用开发。
学完此阶段可解决的现实问题:
1、熟练搭建海量数据离线计算平台;2、根据具体业务场景设计、实现海量数据存储方案;3、根据具体数据分析需求实现基于mapreduce的分布式运算程序;
学完此阶段可拥有的市场价值:
具备企业数据部初级应用开发人员的能力
1.1 hadoop快速入门
1.1.1 hadoop知识背景
什么是hadoop、hadoop产生背景、hadoop在大数据云计算中的位置和关系、国内hadoop的就业情况分析及课程大纲介绍
国内外hadoop应用案例介绍
分布式系统概述、hadoop生态圈及各组成部分的简介
1.1.2 hive快速入门
hive基本介绍、hive的使用、数据仓库基本知识
1.1.3 数据分析流程案例
web点击流日志数据挖掘的需求分析、数据来源、处理流程、数据分析结果导出、数据展现
1.1.4 hadoop数据分析系统集群搭建
集群简介、服务器介绍、网络环境设置、服务器系统环境设置、jdk环境安装、hadoop集群安装部署、集群启动、集群状态测试
hive的配置安装、hive启动、hive使用测试
1.2 hdfs详解
1.2.1 hdfs的概念和特性
什么是分布式文件系统、hdfs的设计目标、hdfs与其他分布式存储系统的优劣势比较、hdfs的适用场景
1.2.2 hdfs的shell操作
hdfs命令行客户端启动、hdfs命令行客户端的基本操作、命令行客户端支持的常用命令、常用参数介绍
1.2.3 hdfs的工作机制
hdfs系统的模块架构、hdfs写数据流程、hdfs读数据流程
namenode工作机制、元数据存储机制、元数据手动查看、元数据checkpoint机制、namenode故障恢复、datanode工作机制、datanode动态增减、全局数据负载均衡
1.2.4 hdfs的java应用开发
搭建开发环境、获取api中的客户端对象、hdfs的java客户端所具备的常用功能、hdfs客户端对文件的常用操作实现、利用hdfs的java客户端开发数据采集和存储系统
1.3 mapreduce详解
1.3.1 mapreduce快速上手
为什么需要mapreduce、mapreduce程序运行演示、mapreduce编程示例及编程规范、mapreduce程序运行模式、mapreduce程序调试debug的几种方式
1.3.2 mapreduce程序的运行机制
mapreduce程序运行流程解析、maptask并发数的决定机制、mapreduce中的combiner组件应用、mapreduce中的序列化框架及应用、mapreduce中的排序、mapreduce中的自定义分区实现、mapreduce的shuffle机制、mapreduce利用数据压缩进行优化、mapreduce程序与yarn之间的关系、mapreduce参数优化
通过以上各组件的详解,深刻理解mapreduce的核心运行机制,从而具备灵活应对各种复杂应用场景的能力
mapreduce实战编程案例:通过一个实战案例来熟悉复杂mapreduce程序的开发。该程序是从nginx服务器产生的访问服务器中计算出每个访客的访问次数及每次访问的时长。原始数据样例如下:
通过一系列的mapreduce程序——清洗、过滤、访问次数及时间分析,最终计算出需求所要的结果,用于支撑页面展现:
1.4 hive增强
1.4.1 hive基本概念
hive应用场景、hive内部架构、hive与hadoop的关系、hive与传统数据库对比、hive的数据存储机制、hive的运算执行机制
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实战案例--用户访问时长统计
hive实战案例--级联求和报表实例:
离线数据挖掘系统
学完此阶段可掌握的核心能力:
1、通过对数据仓库知识的加强初步掌握数据仓库的核心概念和设计流程;2、通过对hadoop生态圈关键辅助工具的学习掌握hadoop分析系统的整合能力;3、通过电商系统点击流日志数据挖掘系统实战项目,掌握hadoop离线数据挖掘系统从数据采集、入库、分析及报表展现的整套流程
学完此阶段可解决的现实问题:
1、可根据企业具体场景设计海量数据分析系统的通用架构2、根据具体场景的特点有针对性地调整数据分析各环节的技术选型;3、根据具体需求搭建起整套离线数据分析系统;4、简单数据仓库模型的设计和架构5、各环节具体功能模块的开发实现
学完此阶段可拥有的市场价值:
具备企业数据部中高级应用开发和初级架构师能力
2.1 数据仓库增强
2.1.1 数据仓库及数据模型入门
什么是数据仓库、数据仓库的意义、数据仓库核心概念、数据仓库的体系结构
2.1.2 数据仓库设计
建立数据仓库的步骤、数据的抽取、数据的转换、数据的加载、什么是数据模型、数据模型的常见类型、如何设计数据模型、如何选择数据建模的架构
典型数据模型——星型建模实例
2.1.3 数据仓库建模样例
业务建模、领域建模、逻辑建模、物理建模
web点击流日志分析系统数据仓库设计实战:
通过对数据特点和业务需求的分析,关系梳理,设计出一个主题明确、层次合理的数据模型
2.2 离线辅助系统
2.2.1 数据采集系统
数据采集概念介绍
flume日志采集框架介绍、flume工作机制、flume核心组件、flume参数配置说明、flume采集nginx日志实战案例
2.2.2 任务调度系统
任务调度系统概念介绍、常用任务调度工具比较、oozie介绍、oozie核心概念、oozie的配置说明、ooize实现mapreduce/hive等任务调度实战案例
2.2.3 数据导出
数据导出概念介绍、sqoop基础知识、sqoop原理及配置说明、sqoop数据导入实战、sqoop数据导出实战、sqoop批量作业操作
2.3 web点击流日志分析系统实战项目
2.3.1 项目介绍
1. 在pc时代,营销的核心是购买,在移动互联网时代,其核心是如何实现用户个性化互动,对用户传播更为精准化的内容,而实现这一核心的基础就是对数据的管理和分析——数据驱动型商业模型。
2. 各类互联网服务产品(如网站、app)都可以通过前端技术获取用户的详细行为数据(如访问的页面,点击的区域、登陆的频次、注册行为、购买的行为等),将这些点击流日志数据与后台商业数据综合起来,就可以挖掘对公司运营决策意义非凡的商业价值。
3. 本项目则是一个用大数据技术平台实现的点击流日志分析数据挖掘系统,项目内容涵盖一个典型数据挖掘系统中,包括需求分析、数据采集、数据存储管理、数据清洗、数据仓库设计、etl、业务模型统计分析、数据可视化的全部流程。
2.3.2 需求分析
什么是点击流日志、点击流日志的商业价值、点击流日志分析需求
业务模型指标体系设计——流量分析、来源分析、受访分析、访客分析、转化率分析
2.3.3 系统设计及开发
1. 系统架构设计
2. 数据采集设计及开发——数据格式、数据内容分析、数据生成规律、采集系统技术选型解析、flume采集系统实现
3. 数据存储设计及开发——存储技术选型、存储业务流程解析、存储目录规划及文件命名规则、小文件合并实现
4. 数据统计设计及开发——数据预处理、数据加载、原始数据表的创建、数据入库、数据etl
5. 报表统计设计——数据模型设计、事实表设计、维度表梳理
6. 业务指标设计及开发——pv统计(时间维度、终端维度、地域维度)、来访次数统计(时间维度、地域维度、终端维度)、独立访客统计(时间维度、终端维度、地域维度)、受访页面统计(时间维度、栏目维度)、页面热点图、转化率分析、来源关键词分析、来源搜索引擎分析、来源广告推广分析
2.3.4 任务调度系统设计实现
任务调度单元实现、各环节任务运行频次及依赖关系梳理、工作流设计及实现、工作流定义配置上传部署、工作流启动即状态监控
2.3.5 数据可视化——结果报表展现
1. hive分析结果使用sqoop导出到msyql数据库
2. 报表展现系统技术选型:
后台使用spingmvc + spring + mybatis
前端页面使用全静态异步刷新技术jquery + echarts
3. web展现程序架构搭建,使用maven构建项目工程
4. web展现程序页面设计开发:原型页面设计、js代码开发
5. 最终实现以下数据可视化效果:
(1)流量概况可视化效果:
(2)来源地域分析可视化效果:
(3)来源类型分析可视化效果:
3.storm实时计算部分阶段
实时课程分为两个部分:流式计算核心技术和流式计算计算案例实战。
1.流式计算核心技术
流式计算核心技术主要分为两个核心技术点:storm和kafka,学完此阶段能够掌握storm开发及底层原理、kafka的开发及底层原理、kafka与storm集成使用。具备开发基于storm实时计算程序的技术能力。
学完此阶段可掌握的核心能力:
(1)、理解实时计算及应用场景
(2)、掌握storm程序的开发及底层原理、掌握kafka消息队列的开发及底层原理
(3)、具备kafka与storm集成使用的能力
学完此阶段可解决的现实问题:
具备开发基于storm的实时计算程序的能力
学完此阶段可拥有的市场价值:
具备实时计算开发的技术能力、但理解企业业务的能力不足
1.1、流式计算一般结构
2011年在海量数据处理领域,hadoop是人们津津乐道的技术,hadoop不仅可以用来存储海量数据,还以用来计算海量数据。因为其高吞吐、高可靠等特点,很多互联网公司都已经使用hadoop来构建数据仓库,高频使用并促进了hadoop生态圈的各项技术的发展。一般来讲,根据业务需求,数据的处理可以分为离线处理和实时处理,在离线处理方面hadoop提供了很好的解决方案,但是针对海量数据的实时处理却一直没有比较好的解决方案。就在人们翘首以待的时间节点,storm横空出世,与生俱来的分布式、高可靠、高吞吐的特性,横扫市面上的一些流式计算框架,渐渐的成为了流式计算的首选框架。如果庞麦郎在的话,他一定会说,这就是我要的滑板鞋!
上图是流式分析的一般架构图,抽象出四个步骤就是数据采集、数据缓冲、数据处理、数据输出。一般情况下,我们采用flume+kafka+storm+redis的结构来进行流式数据分析。实时部分的课程主要是针对kafka、storm进行学习
1.2、流式计算可以用来干什么
一淘-实时分析系统:实时分析用户的属性,并反馈给搜索引擎。最初,用户属性分析是通过每天在云梯上定时运行的mr job来完成的。为了满足实时性的要求,希望能够实时分析用户的行为日志,将最新的用户属性反馈给搜索引擎,能够为用户展现最贴近其当前需求的结果。
携程-网站性能监控:实时分析系统监控携程网的网站性能。利用html5提供的performance标准获得可用的指标,并记录日志。storm集群实时分析日志和入库。使用drpc聚合成报表,通过历史数据对比等判断规则,触发预警事件。
一个游戏新版本上线,有一个实时分析系统,收集游戏中的数据,运营或者开发者可以在上线后几秒钟得到持续不断更新的游戏监控报告和分析结果,然后马上针对游戏的参数和平衡性进行调整。这样就能够大大缩短游戏迭代周期,加强游戏的生命力。
实时计算在腾讯的运用:精准推荐(广点通广告推荐、新闻推荐、视频推荐、游戏道具推荐);实时分析(微信运营数据门户、效果统计、订单画像分析);实时监控(实时监控平台、游戏内接口调用)
为了更加精准投放广告,阿里妈妈后台计算引擎需要维护每个用户的兴趣点(理想状态是,你对什么感兴趣,就向你投放哪类广告)。用户兴趣主要基于用户的历史行为、用户的实时查�...