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'

相关推荐
收放扳机6 小时前
PCB收放板设备机械手架构选型参考——三轴/四轴/六轴/蜘蛛手对比
人工智能·科技·架构·自动化·制造·pcb工艺
代码不停7 小时前
自动化测试(java)
java·开发语言·selenium·自动化
西柚不烦恼9 小时前
PyCharm 虚拟环境与 Jenkins 自动化部署实践
pycharm·自动化·jenkins
2302_8057710710 小时前
Day24:DDT+EXCEL数据驱动
功能测试·单元测试·自动化·测试用例·需求分析·web自动化
Dovis(誓平步青云)10 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
看着博客敲代码10 小时前
WorkBuddy 接上 Kali MCP 做自动化渗透:信息收集到初步验证的落地记录
linux·人工智能·安全·网络安全·自动化
志栋智能10 小时前
运维超自动化的知识管理与传承
运维·自动化
jack1868911 小时前
OpenClaw 数据采集与自动化应用场景指南
运维·自动化
奈落2412 小时前
规则引擎还是大模型?AI 工作流与传统自动化的分工边界:确定性流程照旧,‘每次都不太一样‘的知识型工作才交给 AI
运维·人工智能·自动化·大模型·工作流·ai 办公
工业传感笔记12 小时前
自动化产线传感器误报率从 15% 降至 0.3%:现场改造流程、参数调优与适用边界
自动化