笔记
文章平均质量分 79
江淮杰
这个作者很懒,什么都没留下…
展开
-
数据仓库之DWD层
DWD(Data WareHouse Detail)数据明细层,主要是将从业务数据库中同步过来的ODS层数据进行清洗和整合成相应的事实表。事实表作为数据仓库维度建模的核心,需要紧紧围绕着业务过程来设计。在拿到业务系统的表结构后,进行大概的梳理,再与业务方沟通整个业务过程的流转过程,对业务的整个生命周期进行分析,明确关键的业务步骤,在能满足业务需求的前提下,尽可能设计出更通用的模型。业务方有时只仅仅只是考虑了当下的情况。例如业务想要一个审核通过人员的明细数据,我们设计了一个全量的审核明细表,过了几天,业务原创 2022-01-02 23:17:23 · 7585 阅读 · 2 评论 -
数据倾斜常见原因和解决办法
数据倾斜在MapReduce编程模型中十分常见,多个节点并行计算,如果分配的不均,就会导致长尾问题(大部分节点都完成了任务,一直等待剩下的节点完成任务),本文梳理了常见的发生倾斜的原因以及相应的解决办法。1.map端发生数据倾斜产生原因: 读取数据时,上游文件大小分布不均,存在大量小文件。导致在读入数据时读小文件的maptask很快结束了,而读大文件的maptask进度可能进度才刚开始。 map端做聚合的时候,由于数据存在大量的count distinct,我们通过combin..原创 2021-12-25 16:02:59 · 4251 阅读 · 0 评论 -
数仓cube表的调优策略
cube表调优在数仓当中是经常遇到,这里给出常见的调优方式和策略。其实就是拿sql的复杂度来换时间。如果需要快速响应的OLAP,可以参考Kylin等组件。1. 避免不必要distinct在统计时我们可能需要统计订单数,用户数等等,这个时候我们应该要明确表的最细粒度是什么,例如订单表的最细粒度是订单id,对于以最小粒度为统计目标的指标,我们并不需要加distinct去重。需要注意的是每增加一个distinct,我们的数据量在map阶段就会增加一倍,而这些膨胀的数据后会通过网络传输到reduce,必然会造成原创 2021-12-21 23:45:33 · 399 阅读 · 0 评论