Hadoop笔记之十——利用hive统计uv、pv的简单思路

这篇笔记写的时间久了,具体的东西找不到,但是一下内容提供的流程可以供各位小白参考

0、统计每个时段网站的PV和UV
hive (db_track)> select date,hour,count(url) pv,count(distinct guid) uv from track_log group by date,hour ;
date    hour    pv    uv
20160624    18    64972    23938
20160624    19    61162    22330
    
1、Hive中创建结果表:
create table db_track.daily_hour_visit(
date string,
hour string,
pv string,
uv string
)
row format delimited fields terminated by "\t" ;

2、结果写入Hive表(这里最好使用shell脚本去做):
hive (db_track)> insert overwrite table db_track.daily_hour_visit select date,hour,count(url) pv,count(distinct guid) uv from track_log group by date,hour ;

3、创建crontab命令,每天定时调度shell脚本

4、mysql中创建一张表,永久存储分析结果
mysql> create table visit(
    -> date int,
    -> hour int,
    -> pv bigint,
    -> uv bigint
    -> ) ;


5、利用sqoop导入数据到Mysql(这条执行语句也可以放到crontab里面每天自动执行)
$ bin/sqoop --options-file job1/visit.opt 

mysql> select * from visit ;
+----------+------+-------+-------+
| date     | hour | pv    | uv    |
+----------+------+-------+-------+
| 20160624 |   18 | 64972 | 23938 |
| 20160624 |   19 | 61162 | 22330 |
+----------+------+-------+-------+
 

猜你喜欢

转载自blog.csdn.net/qq_35946969/article/details/83654369
今日推荐