1 项目使用工具概述:
数据仓库工具:hive
计算引擎:spark
采集数据工具:flume
抽取数据工具:sqoop
数据存储:hdfs
元数据管理工具:atlas
资源调度工具:azkaban
资源调度平台:yarn
2 项目整体概况
项目为数据仓库分为流量域和业务域两个部分。又分别将每个部分分为ODS层,DWD层,DWS层,ADS层,DIM层。
分层的原因为了数据管理更明晰,运算复用度更高以及需求开发更有效率,便于解耦。
2.1 ODS层:存放原始数据
分为流量域ODS层和业务域ODS层。
流量域ODS层:通过微信,app,web端的用户行为日志,通过日志服务器将日志生产到kafka中,然后通过Flume消费kafka
中的数据,将采集到的数据存储到Hdfs中,在hive中将采集到的数据存储到OhiavDS层的hive表中,
业务域的ODS层:通过Sqoop从mysql中抽取数据,将mysql中的数据存储到hdfs中,再从hive中将数据加载到ODS层相应的表中。
2.2 DWD层:细节数据层,是业务层与数据仓库的隔离层
DWD层一般进行数据清洗,数据明细详情,去除空值,脏数据,超过极限范围的明细解析具体表。
流量域DWD层:在ODS层的基础上通过ETL操作来对数据进行清洗处理过滤,存储到DWD层。
业务域DWD层:抽取ODS层每天的增量数据,再与DWD层每天的增量数据进行合并&