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 ...
随机推荐
- kalman滤波(三)---各种滤波的方法汇总+优化的方法
大神解答 一.前提 最一般的状态估计问题,我们会根据系统是否线性,把它们分为线性/非线性系统.同时,对于噪声,根据它们是否为高斯分布,分为高斯/非高斯噪声系统.现实中最常见的,也是最困难的问题,是非线 ...
- 3R - 单词数
lily的好朋友xiaoou333最近很空,他想了一件没有什么意义的事情,就是统计一篇文章里不同单词的总数.下面你的任务是帮助xiaoou333解决这个问题. Input 有多组数据,每组一行,每组就 ...
- CSS的六大选择器
选择器:选择器是一种模式,用于选择需要添加样式的元素. 首先简述六大选择器 基本选择器 标签选择器 类选择器 ID选择器 高级选择器 层次选择器 结构伪类选择器 属性选择器 其中基本选择器与层次选择器 ...
- downLoad
String root= ServletActionContext.getServletContext().getRealPath(File.separator).replace("\\&q ...
- rapidjson 的练习
// JsonCpp.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #include < ...
- java 组件开发中的日志记录问题
今天帮别人写封装几个url 请求,打成jar 包,可以以java接口的方式提供给外部访问. 遇到两个问题: 1. 是否把依赖的jar包也 打入 我要生成的jar包中,如果你不打入,别人直接调用接口会报 ...
- Python基础(六)
- 73.解决Xcode10 library not found for -lstdc++ 找不到问题
Xcode10 彻底废除了libstdc++,相关文件libstdc++.6.0.9.dylib.libstdc++.6.dylib.libstdc++.dylib.libstdc++.6.0.9.t ...
- webpack Cannot find module 'webpack/schemas/WebpackOptions.json'
webpack-dev-server版本的问题 一直在解决这个问题,最后竟然发现...安装2.9.1版本就可以了 npm install webpack-dev-server@2.9.1
- FPGA的发展史及FPGA 的基础架构
通过了解早期FPGA的发展,理解FPGA究竟是干什么的,FPGA到底在电子设计领域起到了什么样的作用,下面是一张早期的设计过程 早期的设计流程过程中,只有当硬件完成了才能够得到功能的验证,随着集成电路 ...