基于hadoop生态搭建的电商数据仓库,整体功能架构包含数据采集、数仓搭建、数据导出、数据可视化

项目简介

基于hadoop生态搭建的电商数据仓库,整体功能架构包含数据采集、数仓搭建、数据导出、数据可视化等。

图片加载失败请查看

电商数据仓库项目简介

详情学习攻略请查看

hadoop安装

hive安装

hive常用命令

完善中…

项目踩坑请查看

Linux卸载安装Mysql踩坑

Linux报错只读文件系统(集群非法关机、断电)踩坑

sqoop拒绝连接

kafka manager启动失败解决方案

hive拒绝连接解决方案

系统架构

系统数据流程如下图: 系统数据流程图.jpeg

数仓分层如下图: 数仓分层图.png

hive表关系图如下图: hive表关系图.jpeg

技术架构

名称版本号类型说明
hadoop2.7.6数据存储
jdk1.8.0依赖
zookeeper3.4.6集群管理
flume1.7.0数据采集传输
kafka2.11-0.11数据采集传输
kafka manager1.3.3可视化管理
hive1.2.1数据计算使用tez 0.9.1作为计算引擎
mysql5.6.24数据存储
sqoop1.4.6数据采集传输
azkaban2.5.0任务调度
presto0.196数据查询使用yanagishima 18.0作为web页面
druid2.7.10数据查询imply方式安装
hbase1.2.1数据存储

项目结构说明

├─azkaban azkaban job文件 
│
├─flume-interceptor  采集flume拦截器,用来区分日志类型与简单数据清洗
│
├─hive
│  └─gmall
│      ├─用户行为数仓 用户行为数仓hive sql
│      │     
│      └─系统业务数仓 系统业务数仓hive sql
│              
├─hive-function hive自定义函数
│              
├─log-collector 生成日志文件项目,打包成jar包后通过命令运行,将标准输出重定向至log文件即可
│             
├─mysql mysql结构、函数
│      
├─shell 数仓中常用脚本
│  ├─ads ads层加载数据脚本
│  │      
│  ├─dwd dwd层加载数据脚本
│  │      
│  ├─dws dws层加载数据脚本
│  │      
│  ├─ods ods层加载数据脚本
│  │      
│  ├─sqoop mysql导入导出数据脚本
│  │     
│  ├─tools 集群公共脚本
│  │      
│  └─utils 通用工具脚本
│          
└─spring-boot-echarts-master 可视化web项目

集群规划

集群规划

脚本说明

名称参数参数说明脚本说明
ods_log.sh$1分区名(时间)行为数仓ods层导入hdfs数据
ods_log.sh$1分区名(时间)行为数仓ods层导入hdfs数据
ods_db.sh$1分区名(时间)业务数仓ods层导入hdfs数据
dwd_start_log.sh$1分区名(时间)行为数仓dwd层启动日志表dwd_start_log自动导入ods层数据
dwd_base_log.sh$1分区名(时间)行为数仓dwd层事件日志表dwd_base_event_log自动导入ods层数据
dwd_event_log.sh$1分区名(时间)行为数仓dwd层各个事件表自动导入数据
dwd_db.sh$1分区名(时间)业务数仓dwd层自动导入数据
dws_uv_log.sh$1分区名(时间)行为数仓DWS层加载活跃用户明细数据脚本
dws_db_wide.sh$1分区名(时间)业务数仓dws层用户行为宽表自动导入数据
dws_sale.sh$1分区名(时间)业务数仓dws层用户购买商品明细宽表自动导入数据
ads_back_log.sh$1分区名(时间)ads层回流用户指标分析数据导入脚本
ads_continuity_log.sh$1分区名(时间)ads层最近七天连续活跃三天用户指标分析数据导入脚本
ads_continuity_wk_log.sh$1分区名(时间)ads层最近三周活跃用户指标分析数据导入脚本
ads_db_gmv.sh$1分区名(时间)ads层GMV指标分析数据导入脚本
ads_slient_log.sh$1分区名(时间)ads层沉默用户指标分析数据导入脚本
ads_wastage_log.sh$1分区名(时间)ads层流失用户指标分析数据导入脚本
ads_uv_log.sh$1分区名(时间)ads层活跃用户指标分析数据导入脚本
sqoop_import.sh$1hdfs导入指定mysql表数据,可选:表名、all(全部导入)hdfs导入mysql数据脚本
$2时间
sqoop_export.sh$1hive导出指定hive表数据,可选:ads_uv_count(日活指标表)、ads_user_action_convert_day(漏斗分析指标表)、ads_gmv_sum_day(GVM指标表)、all(上述三个全部导出)hive导出ads层数据至mysql脚本
lg.sh$1每条日志数据产生的延迟时间(毫秒)生成日志文件脚本,生成数据的时间与当前服务器时间一致
$2生成日志数据条数
zk.sh$1可选:start(启动)、stop(停止)、status(查看状态)群起zookeeper脚本
f1.sh$1可选:start(启动)、stop(停止)群起采集flume脚本
f2.sh$1可选:start(启动)、stop(停止)启动消费flume脚本
kf.sh$1可选:start(启动)、stop(停止)群起kafka脚本
km.sh$1可选:start(启动)、stop(停止)启动Kafka Manager脚本
hv.sh$1可选:start(启动)、stop(停止)启动hive metastore服务脚本,注:当启动卡住可以直接Ctrl+C退出启动界面,再使用jps命令查看进程是否启动,进程启动即可。
cluster.sh$1可选:start(启动)、stop(停止)群起用户行为数据采集架构脚本
xcall.sh$1要执行的命令集群执行统一命令脚本
xsync$1文件绝对路径集群分发文件脚本

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/172345.html

(0)
上一篇 2021年9月27日
下一篇 2021年9月27日

相关推荐

发表回复

登录后才能评论