当前位置:   article > 正文

基于阿里巴巴-oneData方法论搭建自己的数据中台_onedata 工具

onedata 工具

序言

借鉴阿里巴巴数据整合及管理的方法体系和工具——OneData 为数据建设提供统一的标准方法和工具集。通过这些标准我们可以统一数据指标口径,提高数据资源的质量和可复用性;利用工具集,我们可以快速解读数据,从而高效支撑多个业务,实现数据驱动增长。

一、指标管理

1.0 方法论

借鉴阿里巴巴数据整合及管理的方法体系和工具——OneData 。

  • 核心 :从业务架构设计到模型设计,从数据研发到数据服务,做到数据可管理 、可追溯、可规避重复建设。
  • 实施:建设统一的、规范化的数据接入层(ODS)和数据中间层(DWD和DWS),通过数据服务和数据产品,完成数据公共层建设。
  • 价值:提供标准化的(Standard)、共享的(Shared)、 数据服务( Service)能力,降低数据互通成本,释放计算、存储、人力等资源,以消除业务和技术之痛。

1.0.1 指标定义

在这里插入图片描述
在这里插入图片描述

1、名词解释

**业务域:**面向业务分析,将业务过程或者维度进行抽象的集合。在划分业务域时,既能涵盖当前所有的业务需求,又能在新业务进入时无影响地被包含进已有的业务域中和扩展新的业务域。比如用户日粒度存量分析。

**业务过程:**企业的业务活动事件,如注册、充值、申购;也可以是某个事件的状态,比如当前的持有等。

**时间周期:**包含观测日期和统计周期,观测日期为某一天,如T日观测、T-6日观测;统计周期用来明确统计范围或时间点,如统计T日、统计月初截至T日等。

**修饰类型:**是对修饰词的抽象划分,如性别等。

**修饰词:**除了维度以外的限定词,如性别为男、女等。

**度量/原子指标:**原子指标和度量含义相同,是指不可再拆分的指标,如持有产品金额、注册用户数等指标。

**维度:**度量的环境,常见的维度有地理维度(国家、地区等)、时间维度(年、月、周、日等)。

**维度属性:**如地理维度中的国家名称、ID、省份名称等。

**派生指标:**原子指标+修饰词+时间周期+统计方式就组成了一个派生指标。

**统计方式:**生成派生指标时对原子指标的计算逻辑。

2、命名约定

  • 英文名小写并尽量使用英文简写,其次是英文,当指标英文名太长时,可考虑用汉语拼音首字母命名,如定期到账, 用dqdz;多个英文词之间用"_"连接。
  • 业务过程英文名为事件(动作),如reg、recharge等;中文名则直接描述即可。(不要加其他的英文如"user"、“dim”)。
  • 原子指标英文名为业务过程英文名_度量,如reg_cnt、recharge_amt等;中文名则直接翻译即可。
  • 修饰类型如果为”是否“类型,则英文名以"is"开头,修饰词取1或者0(1代表是,0代表否);中文名直接描述即可。
  • 派生指标中文全称以”观测日_修饰词_统计周期_原子指标"命名(观测日和统计周期一致时省略统计周期、统计方式非”原子指标求和“时在原子指标上增加统计方式描述),如T日_创新拉新_月初截至T日_注册用户数、T日_产邀my_曝光设备数、T日_创新拉新_人均申购金额、T日_创新拉新_申购金额较上1日变化;中文简称以相同的逻辑合理简化即可,如创新拉新当月累计注册用户数、每日产邀my入口曝光量、创新拉新注册用户7日持有用户数。

1.0.2 中台操作对应

1、中台模块功能简介

指标查询:查询派生指标、聚合指标、自定义指标的申请记录及计算完成情况。

指标申请:申请派生指标、聚合指标、自定义指标。

工单状态:记录业务过程、原子指标、修饰词的工单完成情况。

高级申请:申请业务过程、原子指标、修饰词。

系统信息:无法在中台前端申请,只能在后端定义的相关信息。

**指标管理(简易版):**通过场景申请指标,简化指标申请环节(只需要选择或者申请修饰词),保留修饰词工单状态及指标查询功能。

在这里插入图片描述

2、中台操作路径
在这里插入图片描述

1.0.3数仓表对应

在这里插入图片描述

1、数仓表默认设置

  • dim表中统一增加字段is_all,取值为1,该字段存在的目的是为了解决无修饰词时的计算;如果业务过程粒度为日,则dim表中增加附加时间字段snap_month。

  • dwd表中统一增加字段user_cnt,该字段存在的目的是为了计算人均。字段的计算逻辑为:若业务过程的用户标识为”none",则为count(*);否则,为count(distinct 用户标识)。
    2、dwd表拼接逻辑

  • 修饰词分组
    对dim表中申请指标用到的修饰词进行分组,修饰词为空时赋值"-9999"。

示例:

dim表中用到的修饰词:x1,x2,x3

修饰词分组: {x1},{x2},{x3},{x1,x2},{x1,x3},{x2,x3},{x1,x2,x3} n个修饰词就有2^n-1个分组)

数仓取值对应:{x1,-9999,-9999},{-9999,x2,-9999},{-9999,-9999,x3},

{x1,x2,-9999},{x1,-9999,x3},{-9999,x2,x3},

{x1,x2,x3}.

  • dwd度量逻辑
    dwd的度量为原子指标,故算法为原子指标算法,与单位相关(见1.5.7)。

3**、dws表****拼接逻辑(由dwd表生成)**

  • 生成派生指标
    将sql按select拆分,判断dwd表名是否存在拆分后的字符串里;如果存在就在where后拼接以下内容:dwd的除度量字段 - 时间粒度 - (where后的字段 + group by的字段)。

示例:

dwd的字段有:a,b,c,dl(dl是度量)

伪sql :select * from dwd where b=1

(这里的sql即为派生指标_sql拼接,详见1.5.5)

拼接字段:{a,b,c} - {b }= {a,c}

拼接sql:select * from dwd where (b=1) and (a=‘-9999’ and c=‘-9999’)

  • 创建时间序列
    根据dws的粒度生成。

日粒度:时间为2019-01-01至今。

月粒度:时间为2019-01-31至执行日所在月月末。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/1007225
推荐阅读
相关标签
  

闽ICP备14008679号