项目实现:电商网站日志采集(四。搭建数据仓库)

项目实现:电商网站日志采集(四。搭建数据仓库),第1张

项目实现:电商网站日志采集(四。搭建数据仓库)

四.搭建数据仓库
数仓搭建分为
Ods(数据运营层)数据原始层,最接近数据源中数据的一层
Dwd(数据仓库层)从ODS获得数据建立数据模型
DWB:data warehouse base 数据基础层,存储的是客观数据,一般用作中间层,可以认为是大量指标的数据层。
Dws(服务数据层)整合汇总成分析某一个主题域的服务数据,一般是宽表
Ads(数据服务层)该层主要是提供数据产品和数据分析使用的数据,宽表一般就放在这里
写两个脚本和一个udf函数
(1)创建编辑web_log_import.sh 脚本
文件内容:#!/bin/ bash
HQL ="
CREATE DATAbase IF NOТ EXISTS web _ log;
USE web _ log;
CREATE DATAbase IF NOТ EXISTS web _ log(
path string
)
PARТITIonED BY ( day string,hour string )
ROW FORMAT DELIМITED
FIELDS TERMINATED BY ‘t’;
LOAD DATA INPATH ‘/ web /log /etl/$1/$2’ INТO TABLE ads_web_log PARТITIonED ( day =$1’,hour=‘ 2 ′ ) ; " h i v e − e " 2'); " hive -e " 2′);"hive−e"НQL”
(2)创建编辑web_log analysis.sh 脚本
文件内容如下:
#!/bin/bash
HQL="
USE web_log;
DROp TABLE IF EXISTS dwd_web_log;
CREATE TABLE dwd_web_log AS
SELECT path, day, hour
FROM ods_web_log
WHERe day=’$1’ and hour=' 2 ′ ; A D D J A R / h o m e / h a d o o p / w e b l o g / U D F G e t S h o p . j a r ; C R E A T E T E M P O R A R Y F U N C T I O N G E T S H O P a s ′ l i u . U D F G e t S h o p ′ ; D R O P T A B L E I F E X I S T S d w s w e b l o g ; C R E A T E T A B L E d w s w e b l o g A S S E L E C T G E T S H O P ( p a t h ) s h o p , d a y , h o u r F R O M d w d w e b l o g ; D R O P T A B L E I F E X I S T S a d s w e b l o g ; C R E A T E T A B L E a d s w e b l o g A S S E L E C T s h o p , C O U N T ( ∗ ) c o u n t , d a y , h o u r , D E N S E R A N K ( ) O V E R ( O R D E R B Y C O U N T ( ∗ ) D E S C ) r a n k F R O M d w s w e b l o g g r o u p b y s h o p , d a y , h o u r ; " h i v e − e " 2'; ADD JAR /home/hadoop/web_log/UDFGetShop.jar; CREATE TEMPORARY FUNCTION GET_SHOP as 'liu.UDFGetShop'; DROp TABLE IF EXISTS dws_web_log; CREATE TABLE dws_web_log AS SELECT GET_SHOP(path) shop, day, hour FROM dwd_web_log; DROp TABLE IF EXISTS ads_web_log; CREATE TABLE ads_web_log AS SELECT shop , COUNT(*) count , day , hour , DENSE_RANK() OVER(ORDER BY COUNT(*) DESC) rank FROM dws_web_log group by shop,day,hour; " hive -e " 2′;ADDJAR/home/hadoop/webl​og/UDFGetShop.jar;CREATETEMPORARYFUNCTIONGETS​HOPas′liu.UDFGetShop′;DROPTABLEIFEXISTSdwsw​ebl​og;CREATETABLEdwsw​ebl​ogASSELECTGETS​HOP(path)shop,day,hourFROMdwdw​ebl​og;DROPTABLEIFEXISTSadsw​ebl​og;CREATETABLEadsw​ebl​ogASSELECTshop,COUNT(∗)count,day,hour,DENSER​ANK()OVER(ORDERBYCOUNT(∗)DESC)rankFROMdwsw​ebl​oggroupbyshop,day,hour;"hive−e"HQL"

(3)编写UDF函数
(4)打包上传UDF架包上传到/home/hadoop/web_log
(5)执行脚本文件
执行web_log_import.sh 脚本

执行web_log analysis.sh 脚本

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存