Hadoop项目实战-用户行为分析之应用概述(二)
1.概述
本课程的视频教程地址:《项目整体概述》
本节给大家分享的主题如下图所示:

下面我开始为大家分享第二节的内容——《项目整体概述》,下面开始今天的分享内容。
2.内容
从本节开始,我们将进入到Hadoop项目的整体概述一节学习,本节课程为大家介绍的主要知识点有一下内容,如下图所示:

下面,我们首先来看看项目的整体流程,其流程如下图所示:

项目流程可以分为4个模块,他们分别是数据收集,集群存储,分析计算和结果处理。
下面我分别为大家讲解这4个模块的作用。 我们知道,在做统计时,数据源是前提,有了数据源我们才能在此基础上做相应的计算和分析。 收集数据一般都有专门的集群去负责收集这方面的工作。
在完成收集工作后,我们需要将这些文件集中起来,这里存储采用的是分布式文件系统(HDFS)。我们将收集的数据 按一定的规则分类,并存储在指定的HDFS文件系统中。从收集到存储,数据源的准备阶段就算完成了。接着,我们可以对数据源进行相关指标的分析与计算,在Hadoop 2.x 版本后编程模型有了良好的拓展,除了支持MapReduce,还支持其以外的模型,如:Spark。另外,还有Hive,Pig,Tez 等相关技术,来辅助我们完成分析计算这块,所以在分析,计算这块技术选择很多,本课程选用MapReduce和Hive组合来 完成相关工作,其它相关技术大家可以在课下对其做相应的补充学习。
完成分析计算后,我们会得到统计后的结果,这些结果是存放在HDFS文件系统上的,如何去处理这些结果,让这些结果变得 可视化。这就涉及到最后一个模块--结果处理。由于这些结果是存储在HDFS文件系统中的,为了及时响应外界请求,我们需要将HDFS的数据导出到关系型数据库(如:Mysql) 或非关系型数据库(如:HBase)。在导入到关系型数据库时,我们需要借助一个Hadoop组件--Sqoop,这是一款开源的工具, 主要用于在Hadoop与传统的数据库(如:Mysql)间进行数据的传递,可将一个关系型数据库(如:Mysql)中的数据导入到 Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库。在HDFS与HBase之间进行数据传递时,我们可以直接使用 HBase提供的导入与导出工具,这些工具包含在HBase的JAR包中。他们使用MapReduce进行导入导出操作,可以将数据由 HBase导出到HDFS,或者是将HDFS上的数据导出到HBase。最后,我们将数据库中的结果通过Thrift这样的RPC协议,对外提供数据接口。
在项目流程中,我讲过数据收集模块,下面为大家详细讲解这些数据源的获取方式。 如下图所示:

数据源的产生包含:
1.Web日志(如Nginx,JBoss,WebLogic等一些Web容器记录产生的日志信息)
2.SystemLog(系统日志),这部分日志包含服务端应用记录的日志。
3.DB(存于数据库中的数据)
在实际业务中,我们一般采用Flume NG集群来收集分发日志,它是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理, 并写到各种数据接受方(可定制)的能力,如收集Web日志和SystemLog日志,我们可以分别在Web日志节点和SystemLog节点部署Flume的Agent即可,而DB(如:存在于Mysql数据库中的数据),我们可以使用ETL工程抽取清洗后,在由Agent代理发送到Flume,最后Flume将数据存储到HDFS文件系统上。
关于Flume的集群的收集演示过程,大家可以参考视频进行演示——《项目整体概述》
3.结束语
这就是本节的主要内容,主要就对Hadoop项目的整体流程进行概述,对后续学习Hadoop项目实战做一个准备工作。
如果本教程能帮助到您,希望您能点击进去观看一下,谢谢您的支持!
转载请注明出处,谢谢合作!
本课程的视频教程地址:《项目整体概述》
Hadoop项目实战-用户行为分析之应用概述(二)的更多相关文章
- Hadoop项目实战-用户行为分析之应用概述(三)
1.概述 本课程的视频教程地址:<项目工程准备> 本节给大家分享的主题如下图所示: 下面我开始为大家分享今天的第三节的内容——<项目工程准备>,接下来开始分享今天的内容. 2. ...
- Hadoop项目实战-用户行为分析之应用概述(一)
1.概述 本课程的视频教程地址:<Hadoop 回顾> 好的,下面就开始本篇教程的内容分享,本篇教程我为大家介绍我们要做一个什么样的Hadoop项目,并且对Hadoop项目的基本特点和其中 ...
- Hadoop项目实战-用户行为分析之分析与设计
1.概述 本课程的视频教程地址:<用户行为分析之分析与设计> 下面开始本教程的学习,本教程以用户行为分析案例为基础,带着大家对项目的各个指标做详细的分析,对项目的整体设计做合理的规划,让大 ...
- Hadoop项目实战-用户行为分析之编码实践
1.概述 本课程的视频教程地址:<用户行为分析之编码实践> 本课程以用户行为分析案例为基础,带着大家去完成对各个KPI的编码工作,以及应用调度工作,让大家通过本课程掌握Hadoop项目的编 ...
- 【.NET Core项目实战-统一认证平台】第十二章 授权篇-深入理解JWT生成及验证流程
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了基于Ids4密码授权模式,从使用场景.原理分析.自定义帐户体系集成完整的介绍了密码授权模式的内容,并最后给出了三个思考问题,本 ...
- Hadoop项目实战
这个项目是流量经营项目,通过Hadoop的离线数据项目. 运营商通过HTTP日志,分析用户的上网行为数据,进行行为轨迹的增强. HTTP数据格式为: 流程: 系统架构: 技术选型: 这里只针对其中的一 ...
- Hadoop:实战Web日志分析
示例场景 日志说明 有两台Web服务器,日志文件存放在/usr/local/nginx/logs/目录,日志默认为nginx定义格式.如: 123.13.17.13 - - [25/Aug/2016: ...
- hadoop实例-网站用户行为分析
一.数据集 网站用户购物行为数据集2030万条,包括raw_user.csv(2000万条)和small_user.csv(30万条,适合新手) 字段说明: user_id 用户编号,item_id ...
- hadoop项目实战--ETL--(一)项目分析
项目描述 一 项目简介 在远程服务器上的数据库中有两张表,user 和order,现需要对表中的数据做分析,将分析后的结果再存到mysql中.两张表的结构如下图所示 现需要分析每一天user和,ode ...
随机推荐
- 48-Python 安装pyautogui失败解决办法
转载自:https://www.cnblogs.com/SH170706/p/9809830.html Python 安装pyautogui 在Python中使用PyAutoGui模拟键盘和鼠标操作 ...
- Linux驱动之异常处理体系结构简析
异常的概念在单片机中也接触过,它的意思是让CPU可以暂停当前的事情,跳到异常处理程序去执行.以前写单片机裸机程序属于前后台程序,前台指的就是mian函数里的while(1)大循环,后台指的就是产生异常 ...
- goaccess
找了各种工具,最终还是觉得goaccess不仅图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据,站在巨人肩膀上你也会看得更远…先上图: 具体方案如下步骤: 一 ...
- Pivot For和UNPivot For
一.使用PIVOT和UNPIVOT命令的SQL Server版本要求 1.数据库的最低版本要求为SQL Server 2005 或更高. 2.必须将数据库的兼容级别设置为90 或更高. 3.查看我的数 ...
- Linux 6上使用UDEV绑定共享存储
1.硬盘的查看方式 [root@cl6-11gr2-rac1 ~]# ls -ltr /dev/sd* brw-rw----. 1 root disk 8, 48 8月 16 13:34 /dev/s ...
- tf-slim-mnist
谷歌开放TF-Slim:在TensorFlow中定义复杂模型的高层库 使用 TF-Slim 的 GitHbu 代码: README:https://github.com/tensorflow/mode ...
- pip更换国内源
学习Python开发,据说pip是很好用的一个Python包管理工具,于是尝试使用,但源异常慢,于是切换至国内的源(清华源). 在~/.pip/pip.conf (如果没有此文件则自行新建) 内容 [ ...
- Unity3D中播放视频的方法
播放视频其实和贴图非常相像,因为播放视频用到的 MovieTexture 属于贴图 Texture 的子类.Unity3D 支持的视频格式有很多,但是还是建议使用 ogv 格式的视频,使用其他格式依然 ...
- GIS中空间数据和非空间数据
- Spring集合注入
1.集合注入 上一篇博客讲了spring得属性注入,通过value属性来配置基本数据类型,通过<property>标签的 ref 属性来配置对象的引用.如果想注入多个数据,那我们就要用到集 ...