前段时间做过一个大数据离线数仓的项目,前后花了有好几周的时间。一共是6个阶段,想关注阶段细节的朋友可以查看👉大数据实战项目这个专栏。
现在项目结束了,理应对此进行一个总结,好好回顾一下这个项目中遗漏的细节…
项目架构
① 原始数据在mysql中存储
② 使用kettle将数据从mysql同步到数据仓库(hive)
同步分为全量同步+增量同步
增量同步需要使用到拉链表(目标:既能够保存历史数据,又不会有数据冗余)
③ 数据储存到hive
hive数仓内结构:
ODS : 存储着数据源同步过来的数据
DW : 对ODS层数据机型预处理(数据过滤,数据填充),以及数据的拉宽,将业务中需要的字段,但是字段不在一个表里。使用拉宽(join)将这些字段拉到一个表中。
ADS:存储最终结果
④ 使用kylin对hive内的数据进行预计算,提高查询效率
⑤ 部分数据同步至mysql,使用sqoop/kettle同步
技术选型
★ 数据来源: MySQL
★ 数据存储: Hive
★ 数据同步: Kettle</