Hive进行网站流量日志分析导出

1. 需求说明

        近年来,随着社会的不断发展,人们对于海量数据的挖掘和运用越来越重视,大数据的统计分析可以为企业决策者提供充实的依据。例如,通过对某网站日志数据统计分析,可以得出网站的日访问量,从而得出网站的欢迎程度;通过对移动APP的下载数据量进行统计分析,可得出应用程序的受欢迎程度,可通过不同维度进行更深层次的数据分析,为运营分析与推广决策提供可靠的数据依据。

        通过Flume采集到HDFS上的网站流量日志信息,通过MapReduce预处理后的结果集,请在完成实验2的基础上生成采集的日志信息。

2. 作业要求

        将采集的日志数据经过预处理后,加载到Hive数据仓库中,从而进行后续的分析过程。先启动Hadoop集群,然后在主节点Hadoop01上启动Hive服务端,再在任意一台从节点使用beeline远程连接至Hive服务端,创建名为“weblog”的数据仓库。具体实现功能如下:

(1)创建ODS层、DWD层数据表,导入数据,查询数据表中的记录。

HQL命令:

create table ods_weblog_origin(
remote_addr string,
time_local string,status string,body_bytes_sent string)
row format delimited fields terminated by ",";

load data  inpath '/data/output/part-r-00000' into table ods_weblog_origin;

create table dwd_weblog_detail
as select owd.*,owd.time_local as daystr,
substring(time_local,5,3) as month,
substring(time_local,2,2) as day
from ods_weblog_origin owd;

查询结果:

(2)使用DW层的表分组聚合查询结果创建ADS层的数据表,查询数据表中的记录。

HQL命令:

create table ads_pvs_everyday

as select dwd.day,count(*) as pvs

from dwd_weblog_detail dwd

group by dwd.day;

查询结果:

(3)使用Sqoop将ADS层的表数据导出到MySQL中。

创建MySQL表:

create database weblog1;

use weblog1;

create table pvs_everyday(day varchar(4),pvs int);

Sqoop导出命令:

sqoop export \

 --connect jdbc:mysql://localhost:3306/weblog1 \

 --username root \

 --password 123456 \

 --table pvs_everyday \

 --columns "day,pvs" \

 --fields-terminated-by '\001' \

 --export-dir /user/hive/warehouse/weblog.db/ads_pvs_everyday

运行结果:

MySQL查询结果:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值