組合pig和hive來進行資料分析

2021-06-29 11:59:07 字數 1326 閱讀 9250

接到產品乙個任務,需要對使用產品的使用者作業系統來個分析。對清洗後的hive資料進行分析,發現,資料恰恰把作業系統資料

進行了過濾,只有到rawlog裡去進行資料分析了。但由於rawlog沒有和資料庫進行關聯,就只有先對rawlog進行初步手工清洗,

不清洗掉作業系統資料,再建hive臨時表來解決了。

第一步,用pig進行資料初步清洗,上**

register 'elephant-bird-core-3.0.8.jar';

register 'elephant-bird-pig-3.0.8.jar';

set default_parallel 6;

org = load '/rawlog/vv/201503/*' using pigstorage('"') as(ip,get,stat,x1,x2,agent,x3,x4);

ff = foreach org generate get ,'#',agent;

store ff into '/tmp/vv-tmp/' ;

第二步,建立hive表。

create external table tmp_vv(url string, os string) 

row format delimited

fields terminated by '#'

location '/tmp/vv-tmp';

由於在日誌裡,看到作業系統是如下表示。

(compatible; msie 6.0; windows nt 5.1; sv1)

查詢了下,整理出乙個相對應的需求。

microsoft windows xp (windows nt 5.1) 

microsoft windows 7 (windows nt 6.1)

microsoft windows 8 (windows nt 6.2)

第四步,對hive資料進行資料統計。

分別如下

hive> select count(*)  from tmp_vv where os  like '%windows nt x.x%' limit 10;
其中x.x就是對應的作業系統版本。

總結:本專案是乙個很簡單的組合pig和hive的專案。在這個專案裡,進一步體會到pig在清洗資料方面的強大性,並且處理後的資料進入資料倉儲後,用hive

能很方便的進行相關的統計。同時輔以自動化的查詢介面,能讓業務人員更方便的進行資料查詢。

使用hive進行資料開發

3 1 hive環境搭建 啟動 hive 3 2 hive helloworld 檢視所有資料庫 show databases 進入default資料庫 use default 檢視資料庫中所有表 show tables 檢視表結構 desc table name 刪除表 drop table db...

Hive進行資料抽樣 隨機抽取

3.hive隨機抽取 4.mysql隨機抽樣 原來的50 select from liyang tablesample 50percent 30m select from liyang tablesample 30m 200行 每個map200行 select from liyang tablesa...

從Hive表中進行資料抽樣 Sampling

在hive中提供了資料取樣 sampling 的功能,用來從hive表中根據一定的規則進行資料取樣,hive中的資料取樣支援分桶表取樣和資料塊取樣。根據輸入的inputsize,取樣n 比如 輸入大小為1g,tablesample 50 percent 將會取樣512m的資料 看例子 表lxw1總大...