资源描述
.前段时间给大家推荐了大数据之路-阿里巴巴大数据实践,这本书确实内容非常详实,全是干货,值得反复品味。刚刚看完第9章,讲的是数据整合及管理体系,觉得非常好,设计得非常精妙,只看看觉得还不能深刻理解,遂做个读书笔记按照自己理解重构整理一遍,同时补充上自己的解读分享给大家,推荐给准备搭建数据产品或者数据平台的人。传统企业的业务变化相对不快,但使用一般的表格文档来管理数据过程也已经越来越困难,更何况互联网这样迅速变化的业务,做好数据整理及管理的难度可想而知,但阿里的数据团队还是形成了完成的方法体系,并把其工具化。也只有完备方法体系下构建的工具能满足复杂的数据管理需求。阿里大数据建设方法论的核心就是,从业务架构设计到模型设计,从数据研发到数据服务,做到数据可管理、可追溯、可规避重复建设。目标是建设统一的、规范的数据接入层ODS和数据中间层DWD 和 DWS,通过数据服务和数据产品,完成服务于阿里巴巴的大数据系统建设。所以数据管理体系是包含具体的方法论以及相关的产品两个部分,通过产品把方法论固化为标准的流程和操作,达到数据管理的目的。数据体系架构数据管理体系包括了业务板块划分、数据域提炼、业务过程梳理、原子指标/度量定义、派生指标定义及管理,维度分析整理以及数据模型的设计。通过下面的体系架构图来看看数据体系建设的过程、以及每一步做什么和如何做。另外,如何定义每个术语的涵义,准确定义术语非常关键,有时候描述不清楚复杂的流程、场景最根本是因为对其中的一些概念没有非常很好的厘清。业务板块: 根据业务的属性划分出相对独立的业务板块,业务板块间指标和业务重叠性较低,比如电商板块涵盖淘宝、天猫、天猫国际、B2B系,金融板块涵盖支付宝、花呗、蚂蚁微贷等。业务板块非常宏观,可以想象成贾不死的7大生态。规范定义:结合行业的数据仓库建设经验和阿里数据自身的特点,设计出的一套过程方法和数据规范命名体系,规范定义将用于模型设计中。规范定义指以维度建模作为理论基础,构建总线矩阵,划分和定义数据域、业务过程、原子指标/度量、修饰类型、修饰词、时间周期、派生指标规则,下图是它们之间的关系,以及具体实例。规范定义实例模型设计:以建模理论为基础,基于维度建模总线架构,构建一致性的维度和事实,同时设计出一套表命名规范系统。维度建模理论很多书上都讲过,这里就不单独整理了。术语定义及说明我们重点说说数据域、业务过程、修饰词、原子指标、派生指标。数据域:是面向业务分析的,将业务过程或者维度进行抽象组合的集合。其中业务过程是一个个不可拆分的行为事件,在业务过程之下定义指标;维度是指度量的环境,如买家下单事件,买家是维度,订单数量是度量。数据域是抽象提炼出来的,并且不轻易变动,既能涵盖当前所有业务的业务需要,又能在新业务进入时无影响的分配到已有的数据域中,如果所有分类都不合适才会扩展新的数据域。数据域不同于产品的功能模块和业务线,是从分析的角度来组织数据指标、维度,功能模块是面向用户功能和管理功能的分类。从下面的两个表格能很清楚的看出不同,功能模块和业务线是随时扩展的。那么划分数据域有什么作用呢?主要是因为经过抽象后数据域相对功能模块和业务过程来说少很多,是有效归纳、组织业务过程的方式、同时方便定位指标/度量。业务过程:指企业的业务活动事件,如下单、支付、退款都是业务过程,这里要注意,业务过程是一个不可拆分的行为事件。修饰词:指除了统计维度以外的对指标进行限定抽象的业务场景词语,修饰词隶属于一个修饰类型,如在日志域的访问终端类型下,有修饰词PC端、无线端,有点像属性名和具体属性值的意思。修饰类型是为了方便管理、使用修饰词。原子指标:和度量含义相同,基于某一业务时间行为下的度量,不可拆分的指标,具有明确业务含义的名词,如支付金额。原子指标有确定的字段名称中英文、数据类型、算法说明、所属的数据域和业务过程。原子指标名称 = 动作 + 度量, 例如支付金额、注册用户数 。除了这些标准度量值的原子指标,还有些是为了派生指标而建的原子指标,后面讲派生规则时会说到,例如排名型的 top_xxx_xxx 。派生指标:= 一个原子指标 + 多个修饰词 + 时间周期 。可以理解为对原子指标业务统计范围的圈定,说总支付金额是个笼统的高度概括的汇总指标,其业务范围时间并不明确。 加上修饰词后的派生指标如: 最近 1 天北京买家支付金额最近1天是时间周期、北京是修饰词、买家作为维度。派生指标的英文名 = 原子指标英文名 + 时间周期修饰词 + 序号_002;中文名由时间周期修饰词 + 其它修饰词+ 原子指标 。下图是常用的时间周期修饰词,整理的非常详细最后说说派生指标的类型和不同类型指标的生成规则,这里的规则不容易理解,需要结合例子花些时间慢慢体会为什么有的是在原子指标的基础上派生,有的必须新建原子指标然后再派生。其实规则很简单就是没有可用的原子指标或者不是简单增加限定条件的指标,需要先创建原子指标,例如排名型,TOP10并不能作为一个原子指标,其并无实际含义,但 Top_n 搜索关键词有明确的业务涵义就可作为原子指标,然后再扩展最近60天天猫Top_10搜索关键词 。派生指标类型及规则派生指标:分为事务型指标、存量型指标和复合型指标。事务型指标是指对业务活动进行衡量的指标,一般会对应一个事件。例如新发商品数、新增注册会员数、订单支付金额, 订单支付金额对应订单支付事件,这类指标在原子指标上派生。存量型指标是指对实体对象商品、会员某些状态的统计,例如商品总数、注册会员总数,这类指标需维护原子指标及修饰词,在此基础上创建派生指标,对应的时间周期一般为历史截至当前某时间。复合型指标是组合事务型指标和存量型指标而成的,例如浏览UV-下单买家数转换率,有些创建新原子指标,有些在事务型或者存量型指标基础上增加派修饰词派生。这里说的创建新原子指标,书上并没有讲地很清楚,理解起来也非常绕,我理解是无法从已有的原子指标派生时,比如计算方式不同,就需要新建原子指标,然后再派生,也不是直接做成原子指标,因为原子指标是无法使用限定词的。复合型指标按照指标的计算方法又可以分为:比率型、比例型、变化量型、变化率型、统计型、排名型、对象集合型, 有了详细的类型,再来考量如何派生就更容易了,而不是没有规律的没有方法的组合。比率型: 创建原子指标,然后在派生复合指标,先创建CRT,然后再有:最近一天店铺首页CTR,原子指标为CTR点击率,时间周期为最近1天,修饰类型为页面类型,修饰词为店铺首页。比例型:包含百分比、占比的都是比例型,比例型要先创建原子指标,再派生。例如 最近 1 天无线支付金额占比,有原子指标 支付金额,但没有原子指标 支付金额占比 ,支付金额占比 和 支付金额 的算法不同,没法从支付金额扩展,需要新创建。假如说可以扩展,那么在支付金额占比上做二次扩展,就更复杂。变化量型:不创建原子指标,增加修饰词,在此基础上创建派生指标,因为派生没有改变指标的计算规则,只是增加了限定条件。例如:最近 1 天订单支付金额上一天变化量,原子指标为订单金额,时间周期为最近 1 天, 修饰类型为统计方法,修饰词为上 1 天变化量。变化率型:创建原子指标,同比率型和比例型。例如,最近7天海外买家支付金额上7天变化率 。统计型:不创建原子指标,一般可统计的指标都是数量型,所以和变化量型一样,加修饰词派生即可,例如: 最近6月月均订单支付金额 。 常用的统计方法类修饰词:人均、日均、商品平均、月均、90分位数、众数等。排名型:创建原子指标, 一般为top_xxx_xxx , 不同的排名业务涵义不同,需要创建不同的原子指标。创建派生指标时可选择的修饰词有:统计方法降序、升序,排名名次如 TOP10,排名范围如行业、省份、一级来源等,根据什么排序如搜索次数、PV对象集合型:主要是指数据产品和应用需要展现数据时,将一些对象以k-v对的方式存储在一个字段中,方便前端展现。比如趋势图、TOP排名对象。其定义方式是,创建原子指标,一般为xxx串。创建派生指标时可选择的修饰词有:统计方法降序、升序,排名名次如 TOP10,排名范围如行业、省份、一级来源等。对象集合型派生指标为了指标体系不失控,新建原子指标和派生指标需要有专人进行审核,审核通过后才能上线使用,避免重复、定义不合标准、难于理解等问题。良好的指标定义和体系也是后续指标计算、数据报表、数据分析产品化的基础。5 / 5
展开阅读全文