項目描述
一 項目簡介
在遠程服務器上的數據庫中有兩張表,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中。
這就是這個項目的的主要工作類容及工作流程。
三 項目流程圖