真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

hadoop的日志怎么導入

本篇內容主要講解“hadoop的日志怎么導入”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“hadoop的日志怎么導入”吧!

創(chuàng)新互聯(lián)是一家專業(yè)提供桓臺企業(yè)網(wǎng)站建設,專注與網(wǎng)站制作、網(wǎng)站建設H5開發(fā)、小程序制作等業(yè)務。10年已為桓臺眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

事先說明,這次導入的不是原始的系統(tǒng)日志,是我們技術人員自己開發(fā)的流量統(tǒng)計系統(tǒng)里的數(shù)據(jù),但基本格式與原始數(shù)據(jù)差不多。

創(chuàng)建數(shù)據(jù)表:

//創(chuàng)建擴展表,擴展表的好處在于你執(zhí)行drop table 時只刪除原數(shù)據(jù),不會刪除原始數(shù)據(jù)
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) //使用年份和月份作為分區(qū)
row format delimited

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

STORED AS TEXTFILE  ; 

導入數(shù)據(jù):

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

執(zhí)行查詢:select count(*) from weblog;

結果:

hadoop的日志怎么導入

統(tǒng)計訪問量最高的前10個URL:

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

hadoop的日志怎么導入

測試環(huán)境,只導入少量數(shù)據(jù),結果還是不錯的。

函數(shù)應用:

  1. parse_url 函數(shù),可以分解url中的域名或查詢參數(shù),這使得我們對用戶行為統(tǒng)計變得更加簡單,比如之前我們統(tǒng)計訪問最多的前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分析:

前提我們的數(shù)據(jù)庫里有一個文章和編輯id的對應表,呵呵一般cms系統(tǒng)都會有,如果沒有,我只能說,高人~

創(chuàng)建表 

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

row format delimited

fields terminated by '\|'//使用逗號作為默認分隔符

STORED AS TEXTFILE;

導入數(shù)據(jù)前面已經(jīng)講過了,不在贅述。

我們網(wǎng)站的內部咨詢的id值是guid,因此只要使用regexp_extract函數(shù),正則匹配出url中的id值即可。

得到當天訪問最多的前10個頁面的訪問數(shù)量,標題,及相關編輯:

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的日志怎么導入”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


分享文章:hadoop的日志怎么導入
網(wǎng)站鏈接:http://weahome.cn/article/pjsgdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部