hadoop的日志怎么导入

发布时间:2021-12-10 09:57:41 作者:iii
来源:亿速云 阅读:146

本篇内容主要讲解“hadoop的日志怎么导入”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“hadoop的日志怎么导入”吧!

事先说明,这次导入的不是原始的系统日志,是我们技术人员自己开发的流量统计系统里的数据,但基本格式与原始数据差不多。

创建数据表:

//创建扩展表,扩展表的好处在于你执行drop table 时只删除原数据,不会删除原始数据
CREATE EXTERNAL TABLE weblog(
id string,

ip string,

url string,
referrer string,
urlflow string,
useragent string,
usercolordepth string,
userlanguages string,
userresolution string,
username string)
PARTITIONED BY (year string, month string) //使用年份和月份作为分区
row format delimited

fields terminated by '\|'//使用“|”作为默认分隔符

STORED AS TEXTFILE  ; 

导入数据:

load data local inpath '/home/hadoop/20130206.txt' overwrite into table weblog partition(year='2013',month='2');

执行查询:select count(*) from weblog;

结果:

hadoop的日志怎么导入

统计访问量最高的前10个URL:

select url,count(url) as num from weblog group by url order by num desc limit 10;

hadoop的日志怎么导入

测试环境,只导入少量数据,结果还是不错的。


函数应用:

  1. parse_url 函数,可以分解url中的域名或查询参数,这使得我们对用户行为统计变得更加简单,比如之前我们统计访问最多的前10个url改成访问最多的前10个域名:


select parse_url(url,'HOST')  ,count( parse_url(url,'HOST') ) as num from weblog group by  parse_url(url,'HOST')   order by num desc limit 10;

hadoop的日志怎么导入

2.编辑kpi分析:

前提我们的数据库里有一个文章和编辑id的对应表,呵呵一般cms系统都会有,如果没有,我只能说,高人~

创建表 

CREATE EXTERNAL TABLE articles(id string,title string,username string) 

row format delimited

fields terminated by '\|'//使用逗号作为默认分隔符

STORED AS TEXTFILE;

导入数据前面已经讲过了,不在赘述。

我们网站的内部咨询的id值是guid,因此只要使用regexp_extract函数,正则匹配出url中的id值即可。

得到当天访问最多的前10个页面的访问数量,标题,及相关编辑:

select nid,num,title,username
from (select nid,count(nid) as num 
from (select regexp_extract(url,'([A-Z0-9]{8}\-[A-Z0-9]{4}\-[A-Z0-9]{4}\-[A-Z0-9]{4}\-[A-Z0-9]{12})',1) as nid from weblog) as t1 group by nid order by num desc) as t2
join articles on (articles.id = concat("{",t2.nid,"}") ) limit 10;

运行结果:

hadoop的日志怎么导入

由于sql语句比之前的相对复杂一点,我们可以看到hive是把它分成了几个map/reduce来进行的。

举一反三,其他的分析和这都差不多,用户在购物车了删除了一个商品,那么url里面肯定有一个商品id,有一个类似delete或remove的动作,那么我们就可以分析出每天最多被用户移除购物车的商品,等等。

到此,相信大家对“hadoop的日志怎么导入”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. hadoop的指标类型和日志
  2. PHPexcel怎么导入日志

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hadoop

上一篇:什么是LakeHouse

下一篇:Apache Hudi中云数据湖的解决方案是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》