-mall-data-warehouse-
项目简介
基于hadoop生态搭建的电商数据仓库,整体功能架构包含数据采集、数仓搭建、数据导出、数据可视化等。
图片加载失败请查看
电商数据仓库项目简介
详情学习攻略请查看
hadoop安装
hive安装
hive常用命令
完善中…
项目踩坑请查看
Linux卸载安装Mysql踩坑
Linux报错只读文件系统(集群非法关机、断电)踩坑
sqoop拒绝连接
kafka manager启动失败解决方案
hive拒绝连接解决方案
系统架构
系统数据流程如下图:

数仓分层如下图:

hive表关系图如下图:

技术架构
名称 |
版本号 |
类型 |
说明 |
hadoop |
2.7.6 |
数据存储 |
|
jdk |
1.8.0 |
依赖 |
|
zookeeper |
3.4.6 |
集群管理 |
|
flume |
1.7.0 |
数据采集传输 |
|
kafka |
2.11-0.11 |
数据采集传输 |
|
kafka manager |
1.3.3 |
可视化管理 |
|
hive |
1.2.1 |
数据计算 |
使用tez 0.9.1作为计算引擎 |
mysql |
5.6.24 |
数据存储 |
|
sqoop |
1.4.6 |
数据采集传输 |
|
azkaban |
2.5.0 |
任务调度 |
|
presto |
0.196 |
数据查询 |
使用yanagishima 18.0作为web页面 |
druid |
2.7.10 |
数据查询 |
imply方式安装 |
hbase |
1.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 |
$1 |
hdfs导入指定mysql表数据,可选:表名、all(全部导入) |
hdfs导入mysql数据脚本 |
$2 |
时间 |
sqoop_export.sh |
$1 |
hive导出指定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 |
文件绝对路径 |
集群分发文件脚本 |
hive 表说明
完善中…
mysql 表说明
完善中…
-mall-data-warehouse-
项目简介
基于hadoop生态搭建的电商数据仓库,整体功能架构包含数据采集、数仓搭建、数据导出、数据可视化等。
图片加载失败请查看
电商数据仓库项目简介
详情学习攻略请查看
hadoop安装
hive安装
hive常用命令
完善中…
项目踩坑请查看
Linux卸载安装Mysql踩坑
Linux报错只读文件系统(集群非法关机、断电)踩坑
sqoop拒绝连接
kafka manager启动失败解决方案
hive拒绝连接解决方案
系统架构
系统数据流程如下图:
数仓分层如下图:
hive表关系图如下图:
技术架构
项目结构说明
集群规划
脚本说明
hive 表说明
完善中…
mysql 表说明
完善中…