Hadoop學(xué)習(xí)筆記—20.網(wǎng)站日志分析項(xiàng)目案例(三)統(tǒng)計(jì)分析
http://www.tuicool.com/m/articles/nABN3yI
一、借助Hive進(jìn)行統(tǒng)計(jì)
1.1 準(zhǔn)備工作:建立分區(qū)表
為了能夠借助Hive進(jìn)行統(tǒng)計(jì)分析条舔,首先我們需要將清洗后的數(shù)據(jù)存入Hive中获枝,那么我們需要先建立一張表。這里我們選擇分區(qū)表奋救,以日期作為分區(qū)的指標(biāo),建表語句如下:(這里關(guān)鍵之處就在于確定映射的HDFS位置,我這里是/project/techbbs/cleaned即清洗后的數(shù)據(jù)存放的位置)
hive>CREATE EXTERNAL TABLE techbbs(ip string, atime string, url string) PARTITIONED BY (logdate string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LOCATION '/project/techbbs/cleaned';
建立了分區(qū)表之后航厚,就需要增加一個(gè)分區(qū),增加分區(qū)的語句如下:(這里主要針對(duì)20150425這一天的日志進(jìn)行分區(qū))
hive>ALTER TABLE techbbs ADD PARTITION(logdate='2015_04_25') LOCATION '/project/techbbs/cleaned/2015_04_25';
(5)將所有關(guān)鍵指標(biāo)放入一張匯總表中以便于通過Sqoop導(dǎo)出到MySQL
為了方便通過Sqoop統(tǒng)一導(dǎo)出到MySQL锰蓬,這里我們借助一張匯總表將剛剛統(tǒng)計(jì)到的結(jié)果整合起來幔睬,通過表連接結(jié)合,HQL代碼如下:
hive>CREATE TABLE techbbs_2015_04_25 AS SELECT '2015_04_25', a.pv, b.reguser, c.ip, d.jumper FROM techbbs_pv_2015_04_25 a JOIN techbbs_reguser_2015_04_25 b ON 1=1 JOIN techbbs_ip_2015_04_25 c ON 1=1 JOIN techbbs_jumper_2015_04_25 d ON 1=1;