项目描述
**一
项目简介**
在远程服务器上的数据库中有两张表,user
和
order,
现需要对表中的数据做分析,将分析后的结果再存到
mysql
中。两张表的结构如下图所示
现需要分析每一天user
和
,oder
的新增数量。
在远程的日志服务器上存放有用户浏览网站所留下的apache
日志数据,现在需要对日志文件进行
ETL
处理,并分析用户的行为。
日志文件的格式如下
221.204.14.33 – – [11/Jul/2014:01:23:22 +0800] "GET /static/image/common/pic-next.png HTTP/1.0" 200 1496 "http://www.aboutyun.com/thread-7977-1-1.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
**二
项目分析**
由于这是一个学习项目,没有用户的真实数据,所以我们在本机windows
上安装
mysql
数据,在虚拟机中用
Python
脚本模拟用户注册信息,向数据库中插入数据。然后在写一个
python
脚本,利用
sqoop
工具向虚拟机中的
HIVE
中导入数据,第一导入为全量导入,以后为增量导入。然后利用
HIVE
做大数据分析,分析完成后再利用
sqoop
工具把分析结果存入
mysql
中。
在日志文件处理方面,我们先在网上下载好离线的apache
日志数据,利用
python
脚本每天定时向
HDFS
中导入日志数据,然后利用
mapreduce
对日志数据进行清洗,清洗完以后的数据再导入到
HIVE
中,然后在
HIVE
中对日志文件进行分析。分析完成后利用
sqoop
工具将分析结果导入到
Mysql
中。
这就是这个项目的的主要工作类容及工作流程。
**三
项目流程图**