股票做T网站,网站(建设)安全自查报告,市场调研公司是做什么的,创网络用语是什么意思4) 累积快照事实表 多个业务过程联合分析而构建的事实表#xff0c;如采购单的流转环节。用于分析事件时间和时间之间的间隔周期。少量的且当前事务型不支持的#xff0c;如关闭、发货等相关的统计。 4. DWS公共汇总层设计规范 数据仓库的性能是数据仓库建设是否成功的重要标…4) 累积快照事实表 多个业务过程联合分析而构建的事实表如采购单的流转环节。用于分析事件时间和时间之间的间隔周期。少量的且当前事务型不支持的如关闭、发货等相关的统计。 4. DWS公共汇总层设计规范 数据仓库的性能是数据仓库建设是否成功的重要标准之一。聚集主要是通过汇总明细粒度数据来获得改进查询性能的效果。通过访问聚集数据可以减少数据库在响应查询时必须执行的工作量能够快速响应用户的查询同时有利于减少不同用访问明细数据带来的结果不一致问题。 1) 聚集的基本原则 一致性。聚集表必须提供与查询明细粒度数据一致的查询结果。避免单一表设计。不要在同一个表中存储不同层次的聚集数据。聚集粒度可不同。聚集并不需要保持与原始明细粒度数据一样的粒度聚集只关心所需要查询的维度。 2) 聚集的基本步骤 第一步确定聚集维度 在原始明细模型中会存在多个描述事实的维度如日期、商品类别、卖家等这时候需要确定根据什么维度聚集如果只关心商品的交易额情况那么就可以根据商品维度聚集数据。 第二步确定一致性上钻 这时候要关心是按月汇总还是按天汇总是按照商品汇总还是按照类目汇总如果按照类目汇总还需要关心是按照大类汇总还是小类汇总。当然我们要做的只是了解用户需要什么然后按照他们想要的进行聚集。 第三步确定聚集事实 在原始明细模型中可能会有多个事实的度量比如在交易中有交易额、交易数量等这时候要明确是按照交易额汇总还是按照成交数量汇总。 3) 公共汇总层设计原则 除了聚集基本的原则外公共汇总层还必须遵循以下原则 数据公用性。汇总的聚集会有第三者使用吗基于某个维度的聚集是不是经常用于数据分析中如果答案是肯定的那么就有必要把明细数据经过汇总沉淀到聚集表中。不跨数据域。数据域是在较高层次上对数据进行分类聚集的抽象。如以业务区分统计周期。在表的命名上要能说明数据的统计周期如 _Id 表示最近1天_td 表示截至当天_nd 表示最近N天。 四、数仓命名规范 1. 词根设计规范 词根属于数仓建设中的规范属于元数据管理的范畴现在把这个划到数据治理的一部分。完整的数仓建设是包含数据治理的只是现在谈到数仓偏向于数据建模 而谈到数据治理更多的是关于数据规范、数据管理。 表命名其实在很大程度上是对元数据描述的一种体现表命名规范越完善我 们能从表名获取到的信息就越多。比如一部分业务是关于货架的英文名是rack rack 就是一个词根那我们就在所有的表、字段等用到的地方都叫 rack不要叫成 别的什么。 这就是词根的作用用来统一命名表达同一个含义。 指标体系中有很多“率”的指标都可以拆解成 XXX率率可以叫 rate那我 们所有的指标都叫做 XXXrate。 词根可以用来统一表名、字段名、主题域名等等。 举例 以流程图的方式来展示更加直观和易懂本图侧重 dwm 层表的命名 规范其余命名是类似的道理 第一个判断条件是该表的用途是中间表、原始日志还是业务展示用的表 如果该表被判断为中间表就会走入下一个判断条件表是否有 group 操作 通过是否有 group 操作来判断该表该划分在 dwd 层还是 dwm 和 dws 层 如果不是 dwd 层则需要判断该表是否是多个行为的汇总表即宽表 最后再分别填上事业群、部门、业务线、自定义名称和更新频率等信息即可。 分层表的使用范围
事业群和部门生产该表或者该数据的团队
业务线表明该数据是哪个产品或者业务线相关
主题域分析问题的角度对象实体
自定义一般会尽可能多描述该表的信息比如活跃表、留存表等
更新周期比如说天级还是月级更新 数仓表的命名规范如下 1. 数仓层次:
公用维度dim
DM层dm
ODS层ods
DWD层dwd
DWS层dws 2. 周期/数据范围
日快照d
增量i
全量f
周w
拉链表l
非分区全量表a 2. 表命名规范 1) 常规表 常规表是我们需要固化的表是正式使用的表是目前一段时间内需要去维护去 完善的表。 规范分层前缀[dwd|dws|ads]_部门_业务域_主题域_XXX_更新周期|数据范围 业务域、主题域我们都可以用词根的方式枚举清楚不断完善。 更新周期主要的是时间粒度、日、月、年、周等。 2) 中间表 中间表一般出现在 Job 中是 Job 中临时存储的中间数据的表中间表的作 用域只限于当前 Job 执行过程中Job 一旦执行完成该中间表的使命就完 成了是可以删除的按照自己公司的场景自由选择以前公司会保留几天 的中间表数据用来排查问题。 规范mid_table_name_[0~9|dim] table_name 是我们任务中目标表的名字通常来说一个任务只有一个目标表。 这里加上表名是为了防止自由发挥的时候表名冲突而末尾大家可以选择自由发挥起一些有意义的名字或者简单粗暴使用数字代替各有优劣吧谨慎选择。 通常会遇到需要补全维度的表这里使用 dim 结尾。 如果要保留历史的中间表可以加上日期或者时间戳。 3) 临时表 临时表是临时测试的表是临时使用一次的表就是暂时保存下数据看看后续一般不再使用的表是可以随时删除的表。 规范tmp_xxx 只要加上 tmp 开头即可其他名字随意注意 tmp 开头的表不要用来实际使用只是测试验证而已。 4) 维度表 维度表是基于底层数据抽象出来的描述类的表。维度表可以自动从底层表抽象出来也可以手工来维护。 规范dim_xxx 维度表统一以 dim 开头后面加上对该指标的描述。 5) 手工表 手工表是手工维护的表手工初始化一次之后一般不会自动改变后面变更也是手工来维护。 一般来说手工的数据粒度是偏细的所以暂时统一放在 dwd 层后面如果有目标值或者其他类型手工数据再根据实际情况分层。 规范dwd_业务域_manual_xxx 手工表增加特殊的主题域manual表示手工维护表。 3. 指标命名规范 1) 公共规则 所有单词小写单词之间下划线分割反例appName 或 AppName可读性优于长度 (词根避免出现同一个指标命名一致性)禁止使用 sql 关键字如字段名与关键字冲突时 col数量字段后缀 _cnt 等标识...金额字段后缀 _price 标识天分区使用字段 dt格式统一yyyymmdd 或 yyyy-mm-dd小时分区使用字段 hh范围00-23分钟分区使用字段 mi范围00-59布尔类型标识is_{业务}不允许出现空值 2) 指标命名规范 结合指标的特性以及词根管理规范将指标进行结构化处理。 基础指标词根即所有指标必须包含以下基础词根 业务修饰词用于描述业务场景的词汇例如trade-交易。 3.日期修饰词用于修饰业务发生的时间区间。 4.聚合修饰词对结果进行聚集操作。 5.基础指标单一的业务修饰词基础指标词根构建基础指标 例如交易金额-trade_amt。 6.派生指标多修饰词基础指标词根构建派生指标。派生指标继承基础指标的特性例如安装门店数量-install_poi_cnt。 7.普通指标命名规范与字段命名规范一致由词汇转换即可以。 参考 本文档规范依据来源参考 《大数据之路阿里巴巴大数据实践》《数仓工具箱维度建模权威指南》最强最全面的数仓建设规范指南美团数据平台及数仓建设实践超十万字总结