为什么要做数据分层
尽量用20%的表满足80%的需求!!!
- 清晰数据结构
- 减少重复开发
- 统一数据口径
- 复杂问题简单化
常用的分层结构层次
ODS层->DW层->APP层
我米的分层:ODS层->DWM层->DWS层->ADS层
ODS层
面向主题的,各个数据源最粗粒度的etl
DWM层
对源数据层的数据进行ETL,合乎规范的数据表将被存放在该层中。数据表包含事实表和维表,事实表用于记录业务过程的事实数据,而维表则记录维度关系。事实表和维表都需要遵循严格的命名与操作规范。
DWS层
在DWS层,我们整合汇总成分析某一个主题域或者业务的服务数据,将具有核心价值的宽表放入DWS层。我们提供面向公司所有业务的公司级宽表,面向业务部门的业务级宽表,以及行为序列数据服务
ADS层
结合DWM和DWS层的数据(甚至规范严格的ODS层数据),数据平台对于数据仓库中的数据提供定制化的数据能力或数据工具,提供业务级及公司级服务。并对于公司各种业务需求,数据平台提供例如点查询(Elasticsearch)、聚合不同数据引擎(Kylin、ES、Spark)的一站式OLAP数据查询服务UnionSQL,数据可视化Superset、用户画像、在线API、反馈定向等多种服务能力用以满足各种业务场景。
质量监控
数据质量主要从四个方面进行评估,完整性、准确性、及时性、一致性
通用的数据质量监控
- 实时数据监控,每个环节设置对账,对量级对账
- 关键指标监控,设置阈值,对比同比、环比。异常则出发报警
我的数据质量监控
1、spark streaming
维度表-temp
事件维度表、用户维度表、时间维度表
今日份瞎想#
大多数算法的作用是想你所想,甚至想你未所想,在你毫无感知的情况下服务于你。现在的影响可能是一个感兴趣的新闻,中午点的外卖,你的新裙子,以后也可能会是,为你筛选你的丈夫你的朋友你的专业。虽然是你做选择,但是人工智能够预测你的每一个选择,然后基于自己的目标(让你购买/点击/选择等等),为你提供一些引导性内容,这种情况你的选择还是完全基于自己的意愿吗?人工智能预测的究竟是你的下一次选择还是你的人生呢?完成的是谁的目标,到底谁是谁的工具呢?
网友评论