从0-1建设数仓遇到什么问题?怎么解决的?
一 复杂业务梳理
数仓建设初期,需要了解各种业务,有些业务比较复杂,对数据开发人员的要求比较高,这个时候,需要和业务开发多交流沟通,可以看看他们的详细设计文档,ER图和时序图,多方位去了解,最终落成文档共享
二 技术选型困难
技术选型也是需要在数仓建设前就需要考虑的,从数据抽取同步到数据处理再入供需求方使用,需要选择比较合理的技术栈。根据实际需求去选择。
数据同步:sqoop datax
日志采集:flume logstash filebeat
资源调度:yarn
分布式存储:hdfs
数据处理:mr hive sparkcore sparksql flink
数据存储;hbase mysql es
OLAP:kylin clickhouse
接口开发:springboot
三 机器配置
根据数据量及表数量,预估任务数去选机器配置及数量
四 指标定义及指标体系建设
原子指标,派生指标的定义及命名,指标评审,指标体系建设
五 统一维度管理
维度管理,一致性维度的构建
六 口径梳理
开发之前一定要需求评审,需求方提供明确的口径,防止后续频繁返工
七 开发规范(文档)
模型规范
-
项目命名规范
-
表规范
-
测试表规范
-
字段规范
-
时间分区规范
-
任务规范
-
注释规范
-
指标一致性管理
-
词根管理
-
字典管理
任务上线流程
-
模式说明
-
任务开发
-
任务发布
运维
-
关键指标预警
-
报错处理
-
数据补录
八 缓慢变化维处理
九 数仓分层
十 主题划分
十一 模型建设
ER模型
维度模型
Data Vault模型
Anchor模型
其中,维度模型是数据仓库工程领域最流行的数据仓库建模的经典
十二 数据质量管理
十三 元数据管理
十四 统一用户识别
十五 hive调优