项目流程
1、原始数据在mysql存储
2、使用kettle将数据在mysql同步到数据仓库(hive),(同步分为第一次全量+每天的增量=拉链表(目标:既能够保存历史的数据,又不会有数据冗余))
3、hive数仓内结构
Hive内部结构:
ODS: 存储在数据源同步过来的数据
DW:对ODS存储的数据进行过滤、填充,预计算,以及数据的拉宽。(拉宽:就是将业务上需要的字段,但是字段不在一个表中,使用拉宽(join)将这些字段合并到一个表中)
ADS:存储最终计算后的结果
4、使用kylin对hive内的数据进行预计算,提高查询效率(kylin对数据进行预计算)
5、部分数据同步至mysql,使用sqoop/kettle同步
5、使用kettle,Sqoop将计算结果同步到mysql
(需求说明清楚+sql说清楚+回写sql)
项目架构
数据来源:mysql
数据存储到哪里?hive
使用什么同步数据?kettle
计算模型是什么? ODS DW ADS
计算完毕的结构数据存储到哪?
Hive(ADS) :数仓的结果(慢)
MYSQL:(快)同步组件kettle,Sqoop
Kylin:(快速)
使用什么进行查询的加速??Kylin
项目介绍:项目的数据来源mysql,使用kettle把mysql数据同步到hive(全量数据和增量数据),在hive里面进行需求计算,使用hive数据库把数据计算模型分为三层:ODS&