有赞指标库实践.docxVIP

  • 20
  • 0
  • 约7.67千字
  • 约 15页
  • 2021-11-14 发布于湖南
  • 举报
有赞目标库实践 不晓得大家在日常工作中能否会经常遇到如下类似的问题: 商家:为什么 A 页面上的数据和 B 页面上的数据对不上?开发:我去看看(一段时间后),A 是来自 a 表,B 是来自 b 表,一个包含 XXX 形态的订单,一个不包含 XXX 形态的订单。 数据开发:同样的目标在不同的项目里被用到,开发 A 同学从 a 表里取了数据,开发 B 同学从 b 表里取了数据,我应当从哪里取数据?目标的规律变了2张表都需要做对应的修改? 数据开发和 BI 工程师:没有现成的目标,我要的目标数据怎样来?问数仓同学然后口口相传? ...... 假如大家遇到过上述类似的问题,说明需要目标库这样的一套目标管理工具来规范目标的定义与维护。 问题1体现的可能的一种情况是目标定义不够清楚明确,两个页面上的目标定义其实是不同的,但是呈现给商家看到的可能是同一个中文名称。又或者同样一个含义的目标在不同的界面上呈现的名称却不相同,让人产生歧义。 问题2体现的问题是同一个目标由于由不同的数据开发同学来制造,可能会被反复开发,不但形成资源铺张,还会形成维护困难。 问题3体现的问题是对于需要新开发的目标,不只缺少开发工具简化开发流程,甚至该使用哪些表,不该使用哪些表很大程度上都要凭仗数据开发同学与数仓同学的阅历。假如略微马虎一点或者缺乏阅历,比如使用了某些业务域下特有的表或者不是由数仓供应的统一两头层的表就可能会使用错误的数据,形成后期返工等情况。 随着数据需求越来越多,数据大陆与台湾供应的目标也日益丰富。 但是各种目标定义混乱,描述不清。同样的目标存在于多张物理表内,形成取数混乱。谁也不晓得我们到底有多少个目标,更没有沉淀出目标资产。 制造目标需要人工询问数仓开发,口口相传,没有工具供应支撑。 BI 分析师在传统 BI 系统上分析数据,制造图表也仅仅局限在表,字段的层次,而不是维度,目标的层次。 ...... 为了处理上述问题,目标库应运而生。 1.2 名词术语 1.3 产品定位与功能 目标库赐予每个目标一个精确且独一的定义。通过目标库可以快速且规范的查询,开发和使用目标。 目标库次要供应如下服务: 通过设置目标的组成要从来独一精确定义每个目标(派生目标)。 通过目标在业务域内独一的性质,处理目标反复定义,反复开发,部分数据对不上的问题。 通过将数仓两头层录入目标库为新制造目标供应指点性的 SQL 或库表推举。 打通其他各数据平台: 打通数据开发平台和统一数据服务平台,为目标的定义,调度,在线使用供应一条龙服务,简化开发流程。 打通数据资产管理平台,沉淀目标的资产价值。 打通 BI 平台,供应拖拽维度,目标生成报表的功能。 次要功能和参与用户 1.4 开发流程 第一步:数仓先确定业务域并导入 DW 库统一两头层的表。 要录入的维度目标属于哪个域先确定下来,例如店铺属于店铺域,订单领取金额属于买卖域。只需数仓内部本人有统一的规划即可。然后就可以导入两头层的表到目标库。 其次步:数仓定义原子目标,维度,修饰词。 假如之前没有定义过,就新建维度目标等,并关联到正确的表字段上,在第一步导入表的过程中也可以快速关联到已经存在的维度目标。 第三步:生成派生目标。 有了维度,原子目标等元数据,就可以定义派生目标了。利用目标库的 SQL 生成功能可以快速生成技术口径。同时在目标库上可以快速创建单个派生目标的数据开发平台调度任务。 第四步:应用派生目标选择需要的多个派生目标后可以通过目标库快速创建多个派生目标的数据开发平台调度任务和统一数据服务的在线 API。至此就可以在线上查询一批目标的数据了。当然目标库上也支持临时查询目标的数据。 二、次要功能 2.1 数据源同步 目标库中目标数据的来源一般都是从 DW 库,数仓统一两头层的表中通过计算得来。不是全部的库表都可以进入目标库。试想一下,假如任意业务方 DM 库下的库表都允许添加进目标库,如何保证目标的口径是正确的?甚至各业务方可能会在任意时间修改本人的库表结构。所以目标库最基础的元数据,比如维度信息,原子目标信息等都是使用数仓统一两头层。 数仓可以通过目标库快速添加某一张表,同时将表上的字段关联到目标库推举的维度和原子目标,这也有助于数仓规范库表字段的命名。(如下图,导入一张库表以后检测库表字段,推举关联到已经定义过的原子目标和维度上,当然也可以在维度和原子目标界面上去关联表的字段)。 2.2 维度管理 维度是观看事物的角度,比如店铺维度下近90天领取金额中,店铺是一个维度。在 SQL 中一般是 group by 的部分。数仓定义好维度以后需要设置维度的维度主表和关联的现实表。 2.2.1 维度主表 一般来说每个维度都会有一张主表。维度主表上一般会有三品种型的字段: 维度主表主键:一般都是 ID 这种,比如店铺的 ID

文档评论(0)

1亿VIP精品文档

相关文档