Hive电商分析项目 Azkaban自动化运行

1. 清空HDFS上所有的文件

bash 复制代码
hdfs dfs -rm -R /user
hdfs dfs -rm -R /tmp
hdfs dfs -rm -R /origin_data

2.移除掉duoduo_baobiao这个database

然后把duoduo_baobiao 这个database里面的所有的表都建立好

sql 复制代码
Drop database duoduo_baobiao;
CREATE DATABASE duoduo_baobiao;
USE duoduo_baobiao;

#每月商品行为表
DROP TABLE IF EXISTS ads_sku_sales_top10; 
CREATE TABLE ads_sku_sales_top10
(
sku_id VARCHAR(255) COMMENT 'sku_id', 
favour_cnts BIGINT COMMENT '收藏次数',
cart_cnts BIGINT COMMENT '加购物车次数',
order_cnts BIGINT COMMENT '下单次数',
pay_cnts BIGINT COMMENT '支付次数'
) 
COMMENT '每月商品行为表' ;

#每月商品分类销量排行表
DROP TABLE IF EXISTS ads_sales_category_top_top10;
CREATE  TABLE ads_sales_category_top_top10
(
category3_name VARCHAR(255) COMMENT '三级分类名称',
cat_num  BIGINT   COMMENT  '分类商品销量'
)
COMMENT '每月商品分类销量排行表';

#每月商品品牌销售排行表
DROP TABLE IF EXISTS ads_sku_num_trademark_top10;
CREATE  TABLE ads_sku_num_trademark_top10
(tm_name VARCHAR(255) COMMENT '品牌名称',
total_num BIGINT COMMENT '销售数量'
)COMMENT '每月商品品牌销售排行表';

#每月省市下单金额排行表
DROP TABLE IF EXISTS ads_sku_amount_province_top10;
CREATE  TABLE ads_sku_amount_province_top10
(province_name VARCHAR(255) COMMENT '省市名称',
total_amount DECIMAL(16,2) COMMENT '下单金额'
)COMMENT '每月省市下单金额排行表';

#每月省市支付金额排行表
DROP TABLE IF EXISTS ads_sku_payamount_province_top10;
CREATE  TABLE ads_sku_payamount_province_top10
(province_name VARCHAR(255) COMMENT '省市名称',
total_payamount DECIMAL(16,2) COMMENT '支付金额'
)COMMENT '每月省市支付金额排行表';

#每月用户支付金额排行表
DROP TABLE IF EXISTS ads_user_payamount_top10;
CREATE  TABLE ads_user_payamount_top10
(user_name VARCHAR(255) COMMENT '用户名称',
total_payamount DECIMAL(16,2) COMMENT '下单金额'
)COMMENT '每月用户支付金额排行表';


#每月用户下单金额排行榜
DROP TABLE IF EXISTS ads_user_order_amount_top10; 
CREATE  TABLE ads_user_order_amount_top10
(
user_name VARCHAR(255) COMMENT '用户名', 
order_amount DECIMAL(20,2) COMMENT '下单金额' 
) 
COMMENT '每月用户下单金额排行榜' ;

#每月商品差评排行榜
DROP TABLE IF EXISTS ads_sku_badcomment_top10;
CREATE  TABLE ads_sku_badcomment_top10
(sku_name VARCHAR(255) COMMENT '商品sku名称',
 bad_cnt BIGINT COMMENT '差评数量'
)COMMENT '每月商品差评排行榜';

#每月商品好评排行榜
DROP TABLE IF EXISTS ads_sku_goodcomment_top10;
CREATE  TABLE ads_sku_goodcomment_top10
(sku_name VARCHAR(255) COMMENT '商品sku名称',
 good_cnt BIGINT COMMENT '好评数量'
)COMMENT '每月商品好评排行榜';

#每月用户给差评排行榜
DROP TABLE IF EXISTS ads_user_badcomment_top10;
CREATE  TABLE ads_user_badcomment_top10
(user_name VARCHAR(255) COMMENT '用户名称',
 bad_cnt BIGINT COMMENT '差评数量'
)COMMENT '每月用户给差评排行榜';

3.九个sh文件传到/duoduo文件夹中

4.赋予九个sh文件可执行权限

bash 复制代码
chmod 777 ./*sh

5.job文件构建

bash 复制代码
#step1.job
type=command
command=/duoduo/mysql_to_hdfs.sh first ${dt}

#step2.job
type=command
command=/duoduo/create.sh

#step3.job
type=command
dependencies=step1,step2
command=/duoduo/ods.sh first ${dt}

#step4.job
type=command
dependencies=step3
command=/duoduo/dwd.sh

#step5.job
type=command
dependencies=step4
command=/duoduo/ods_to_dwd.sh first ${dt}

#step6.job
type=command
dependencies=step5
command=/duoduo/dws.sh ${dt}

#step7.job
type=command
dependencies=step6
command=/duoduo/dwt.sh ${dt}

#step8.job
type=command
dependencies=step7
command=/duoduo/ads.sh

#step9.job
type=command
dependencies=step8
command=/duoduo/ads_to_mysql.sh

6.输入参数,运行脚本

输入的参数 dt 的值 2025-08-11 必须加单引号 '2025-08-11'

相关推荐
志栋智能18 分钟前
超自动化安全:如何降低人为操作失误风险?
运维·安全·自动化
无限进步_1 小时前
【Linux】Makefile:让编译自动化
linux·运维·自动化
User_芊芊君子1 小时前
一条命令搞定 mysql_exporter 部署,Shell 脚本把重复配置这件事自动化了
android·mysql·自动化
qq_196976171 小时前
硬核教程:用Gemini境像站构建端到端自动化办公工作流,告别重复操作(国内免费镜像实测)
运维·自动化
流浪0012 小时前
Linux篇(八) Make 与 Makefile 超详细入门教程|从零基础到手写自动化编译
linux·运维·自动化
柱子jason2 小时前
云端IOT-Tree Server如何最低成本通过DTU对接现场西门子S7-200 Smart
物联网·自动化·plc·iot-tree·s7-200 smart
OidEncoder2 小时前
拉绳位移传感器赋能水利管控:精准测控筑牢闸门开度运行安全防线
安全·自动化·信息与通信
helx822 小时前
Gemini镜像站驱动的运维事件自动复盘:从日志聚类到根因定位的全链路自动化
运维·自动化·聚类
阿坤带你走近大数据2 小时前
Hadoop中的MapReduce介绍
大数据·hadoop·mapreduce
阿坤带你走近大数据2 小时前
HiveSQL常见性能调优策略与经验
hive·sql·调优