今日进度
Result文件数据说明:
Ip:106.39.41.166,(城市)
Date:10/Nov/2016:00:01:02 +0800,(日期)
Day:10,(天数)
Traffic: 54 ,(流量)
Type: video,(类型:视频video或文章article)
Id: 8701(视频或者文章的id)
测试要求:
1、 数据清洗:按照进行数据清洗,并将清洗后的数据导入MongDB数据库中。
两阶段数据清洗:
(1)第一阶段:把需要的信息从原始日志中提取出来
ip: 199.30.25.88
time: 10/Nov/2016:00:01:03 +0800
traffic: 62
文章: article/11325
视频: video/3235
create database data;
CREATE TABLE `data_01` ( `ip` string ,
`date` string,
`day` string,
`traffic` string,
`type` string ,
`id` string
) row format delimited fields terminated by ',' STORED AS TEXTFILE;
load data local inpath '/kkb/data/hive-import/result.txt' into table data_01;
(2)第二阶段:根据提取出来的信息做精细化操作
ip--->城市 city(IP)
date--> time:2016-11-10 00:01:03
day: 10
traffic:62
type:article/video
id:11325
(3)MongDB数据库表结构:
create table data( ip string, time string , day string, traffic bigint,
type string, id string )
2、数据处理:
·统计最受欢迎的视频/文章的Top10访问次数 (video/article)
CREATE TABLE `id_01` ( `id` string ,
`id_count` string
) row format delimited fields terminated by ',' STORED AS TEXTFILE;
insert into id_01 (select id,count(id) from data_02 group by id order by count(id) desc limit 10);
·按照地市统计最受欢迎的Top10课程 (ip)
CREATE TABLE `ip_01` ( `ip` string ,
`ip_count` string
) row format delimited fields terminated by ',' STORED AS TEXTFILE;
insert into ip_01 (select ip,count(ip) from data_02 group by ip order by count(ip) desc limit 10);
·按照流量统计最受欢迎的Top10课程 (traffic)
CREATE TABLE `traffic_01` ( `id` string ,
`traffic_sum` string
) row format delimited fields terminated by ',' STORED AS TEXTFILE;
insert into traffic_01(
select id,sum(traffic) from data_02 group by id order by sum(traffic) desc limit 10
);
3、数据可视化:将统计结果倒入MySql数据库中,通过图形化展示的方式展现出来。
导入到mysql:
bin/sqoop export \
--connect jdbc:mysql://node01:3306/data \
--username root \
--password hadoop \
--table id_01 \
--num-mappers 1 \
--export-dir /user/hive/warehouse/data.db/id_01 \
--input-fields-terminated-by ","
bin/sqoop export \
--connect jdbc:mysql://node01:3306/data \
--username root \
--password hadoop \
--table ip_01 \
--num-mappers 1 \
--export-dir /user/hive/warehouse/data.db/ip_01 \
--input-fields-terminated-by ","
bin/sqoop export \
--connect jdbc:mysql://node01:3306/data \
--username root \
--password hadoop \
--table traffic_01 \
--num-mappers 1 \
--export-dir /user/hive/warehouse/data.db/traffic_01 \
--input-fields-terminated-by ","
最受欢迎的视频/文章的Top10访问次数 (video/article):
按照地市统计最受欢迎的Top10课程 (ip)
按照流量统计最受欢迎的Top10课程 (traffic)