数据说明:经过处理后的网站部分数据。数据格式:IP\t 年\t 月\t 日\t 访问版块。通过本案例,可以实现IP 访问量统计,版块访问统计等,方便网站改善架构设计。
一、数据上传
首先在本地/soft 目录下面创建文件demo.txt 用来放日志数据文件,然后在HDFS创建demo 目录,如图6-15 所示:
图6-15 demo 目录创建
最后将本地的日志数据文件上传到HDFS 上,如图6-16 所示:
图6-16 日志数据上传
二、运行Hive
使用hive 数据库,在里面新建一个demo 表:
create table demo( ip String, year int, month int, day int, visit String )
row format delimited fields terminated by '\t' location '/user/demo';
查看demo 表结构,如图6-17 所示:
图6-17 demo 表结构
然后使用select * from demo;语句,可查询demo 里面的数据信息,如图6-18 所示:
图6-18 demo 数据查看
三、分别统计30,31 号总流量
Select count(*)from demo where day=30;
执行结果如图6-19 所示:
图6-19 30 号总流量统计
Select count(*)from demo where day=31;
执行结果如图6-20 所示:
图6-20 31 号总流量统计
四、分别统计30,31 号所有IP 数(去重)
Select distinct ip from demo where day=30;
执行结果如图6-21 所示:
图6-21 30 号IP 数
Select distinct ip from demo where day=31;
执行结果如图6-22 所示:
图6-22 31 号IP 数
五、分别统计30,31 号IP 访问数为1(www.daowen.com)
先新建一个表demo2 用于存放结果(create table demo2(ip String,ipcount int) row format delimited fields terminated by '\t';)
demo2 表结构图如图6-23 所示:
图6-23 demo2 表结构
将查询的结果(在30 号这天每个IP 的访问次数)放入到demo2 中(insert overwrite table demo2 select ip,count(ip) ipcount from demo where day=30 group by ip ;),执行结果如图6-24 所示:
图6-24 demo2 数据插入
查询一下demo2 里面的数据(select * from demo2;),执行结果如图6-25 所示:
图6-25 demo2 数据查询
然后筛选出IP 访问数为1 的IP(select ip,ipcount from demo2 where ipcount=1;),执行结果如图6-26 所示:
图6-26 30 号IP 访问数为1
同理新建一个表demo3 用于存放结果(create table demo3(ip String,ipcount int)row format delimited fields terminated by '\t';),demo3 表结构如图6-27 所示:
图6-27 demo3 表结构
将查询的结果(在31 号这天每个IP 的访问次数)放入到demo3 中(insert overwrite table demo3 select ip,count(ip) ipcount from demo where day=31 group by ip ;),执行结果如图6-28 所示:
图6-28 demo3 数据插入
查询一下demo3 里面的数据(select * from demo3;)执行结果如图6-29 所示:
图6-29 demo3 数据查询
然后筛选出IP 访问数为1 的IP(select ip,ipcount from demo3 where ipcount=1;),执行结果如图6-30 所示:
图6-30 31 号IP 访问数为1
六、分别统计30,31 号IP 访问量最高
查询刚才放入结果的demo2 里面的最大值即可(select ip, ipcount from demo2 order by ipcount desc limit 1;),执行结果如图6-31 所示:
图6-31 30 号IP 访问量最高
查询刚才放入结果的demo3里面的最大值即可(select ip, ipcount from demo3 order by ipcount desc limit 1;),执行结果如图6-32 所示:
图6-32 31 号IP 访问量最高
七、统计板块访问量最高
select visit,count(visit) vcount from demo group by visit order by vcount desc limit 1;
执行结果如图6-33 所示:
图6-33 板块访问量最高
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。