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

本文档详细介绍了如何搭建大数据仓库,从Ods(数据运营层)开始,经过DWD(数据仓库层)、DWB(数据基础层),构建DWS(服务数据层)并最终在ADS(数据服务层)提供分析服务。通过编写两个shell脚本和一个UDF函数,实现数据加载、数据模型建立、UDF函数应用以及数据统计分析。整个过程涵盖了数据仓库的核心操作,包括数据分区、数据加载、表的创建和删除,以及数据聚合和排名。
摘要由CSDN通过智能技术生成

本篇为项目第4步,详情请移步主页
四.搭建数据仓库
数仓搭建分为
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');
"
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';
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 "$HQL"

(3)编写UDF函数
在这里插入图片描述(4)打包上传UDF架包上传到/home/hadoop/web_log
在这里插入图片描述(5)执行脚本文件
执行web_log_import.sh 脚本

在这里插入图片描述执行web_log analysis.sh 脚本
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Heartworm

你的鼓励就是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值