| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 天险之路(下) -> 正文阅读 |
|
[大数据]天险之路(下) |
?有时候迈出一步,需要勇气。 维度设计维度设计基础????????维度使用主键标识其唯一性,主键也是确保与之相连的任何事实表之间存在引用完整性的基础。主键有两种:代理键和自然键,它们都是用于标识某维度的具体值。 维度设计方法
维度的层次结构????????维度中的一些描述属性以层次方式或一对多的方式相互关联,可以被理解为包含连续主从关系的属性层次。层次的最底层代表维度中描述最低级别的详细信息,最高层代表最高级别的概要信息。 规范化和反规范化????????采用雪花模式,除了可以节约一部分存储外,对于 OLAP 系统来说没有其他效用 。而现阶段存储的成本非常低。出于易用性和性能的考虑,维表一般是很不规范化的 。 在实际应用中,几乎总是使用维表的空间来换取简明性和查询性能。 一致性维度和交叉探查
维度设计高级主题维度整合
表整合
水平拆分方法一:将维度的不同分类实例化为不同的维度,同时在主维度中保存公共属性。 方法二:是维护单一维度,包含所有可能的属性。 考虑原则:
依据: 依据1:维度的不同分类的属性差异情况。当维度属性随类型变化较大时,将不能将所有可能的属性建立在一个表中。 依据2:是业务的关联程度。两个相关性较低的业务,稠合在一起弊大于利,对模型的稳定性和易用性影响较大。 垂直拆分在进行维度设计时,依据维度设计的原则,尽可能丰富维度属性,同时进行反规范化处理。 历史归档在数据仓库中,可以借用前台数据库的归档策略 , 定期将历史数据归档至历史维表。 策略 归档策略1:同前台归档策略,在数据仓库中实现前台归档算法,定期对历史数据进行归档。但存在一些问题,一是前台归档策略复杂,实现成本较高 ; 二是前台归档策略可能会经常变化 , 导致数据仓库归档算法也要随之变化,维护和沟通成本较高。此方式适用于前台归档策略逻辑较为简单,且变更不频繁的情况。 归档策略2:用的数据抽取策略一般是通过数据库binlog 日志解析获取每日增量,通过增量 merge 全量的方式获取最新的全量数据。可以使用增量日志的删除标志, 作为前台数据归档的标志。通过此标志对数据仓库的数据进行归档。 归档策略3:数据仓库自定义归档策略。可以将归档算法用简单、直接的方式实现,但原则是尽量比前台应用晚归档、少归档。避免出现数据仓库中已经归档的数据再次更新的情况。 维度变化缓慢变化维
快照维表数据仓库的计算周期一般是每天一次,基于此周期,处理维度变化的方式就是每天保留一份全量快照数据。 极限存储
底层的数据还是历史拉链存储,但是上层做一个视图操作或者在Hive 里做一个 hook,通过分析语句的语法树,把对极限存储前的表的查询转换成对极限存储表的查询。
?微型维度通过将一部分不稳定的属性从主维度中移出,并将它们放置到拥有自己代理键的新表中来实现。 以淘宝为例: ?缺点:
特殊维度递归层级按照层级是否固定分为均衡层次结构和非均衡层次结构。 比如类目,有固定数量的级别,分别是叶子类目、五级类 目、四级类目、三级类目、二级类目、 一级类目。 层次结构扁平化通过建立维度的固定数量级别的属性来实现,可以在一定程度上解决上钻和下钻的问题。对于均衡层次结构,采用扁平化最有效。 层次桥接表行为维度
原则:
多值维度
多值属性
?????????3.维度主键发生变化, 一个维度值存放多条记录。 杂项维度????????将这些字段建立到一个维表中,在事实表中只需保存一个外键即可。多个字段的不同取值组成一条记录,生成代理键,存人维表中,并将该代理键保存到相应的事实表字段下。建议不要直接使用所有的组合生成完整的杂项维表,在抽取遇到新的组合时生成相应的记录即可。杂项维度的 ETL 过程比一般的维度略微复杂些。 事实表设计粒度:一种是维度属性组合所表示的细节程度;一种是所表示的具体业务含义。 事实表设计设计原则
事实表设计方法????????1.选择业务过程及确定事实表类型 ????????2.声明粒度(尽量选择最细级别的原子粒度,以确保事实表的应用具有最大的灵活性。) ????????3.确定维度 ????????4.确定事实 ????????5.冗余维度 事务事实表设计过程????????事务事实表, 即针对这些过程构建的一类事实表,用以跟踪定义业务过程的个体行为,提供丰富的分析能力,作为数据仓库原子的明细数据。 单事务事实表????????单事务事实表,顾名思义,即针对每个业务过程设计一个事实表。这样设计的优点不言而喻,可以方便地对每个业务过程进行独立的分析研究。 多事务事实表????????多事务事实表 , 将不同的事实放到同一个事实表中,即同一个事实表包含不同的业务过程。多事务事实表在设计时有两种方法进行事实的处理: ①不同业务过程的事实使用不同的事实字段进行存放:①不同业务过程的事实使用同一个事实字段进行存放,但增加一个业务过程标签。 两种事实表对比计算存储成本 ????????
事实表包含与其描述的过程有关的所有事实,即尽可能多地获取所有的度量。
在确定事务事实表的事实时,明确存储每一个事实以确保度量的一致性。
????????事实表确定事实时,往往会遇到非可加性度量,比如分摊比例、 利润率等,虽然它们也是下游分析的关键点,但往往在事务事实表中关注更多的是可加性事实,下游用户在聚合统计时更加方便。 周期快照事实表????????快照事实表的设计有一些区别于事务事实表设计的性质。事务事实表的粒度能以多种方式表达,但快照事实表的粒度通常以维度形式声明$事务事实表是稀疏的,但快照事实表是稠密的; 事务事实表中的事实是完全可加的,但快照模型将至少包含一个用来展示半可加性质的事实。 特性 ????????1.用快照采样状态 ?????????2.快照粒度 ????????事务事实表的粒度可以通过业务过程中所涉及的细节程度来描述,但快照事实表的粒度通常总是被多维声明,可以简单地理解为快照需要采样的周期以及什么将被采样。 ????????3.密度与稀疏性 ????????快照事实表和事务事实表的一个关键区别在密度上。事务事实表是稀疏的,只有当天发生的业务过程,事实表才会记录该业务过程的事实,如下单、支付等;而快照事实表是稠密的,无论当天是否有业务过程发生,都会记录一行。 ? ? ? ? 4.半可加性 ????????在快照事实表中收集到的状态度量都是半可加的。 实例????????由于通过事务事实表聚集效率较低,而采用周期快照事实表则是可行的方案。
????????例:淘宝卖家信用分和 DSR快照事实表 ????????是直接采用操作型系统数据进行设计加工,采样周期是每天,针对卖家维度的统计,状态度量就是卖家信用分和 DSR评分。
注意事项
数据仓库维度建模时,对于事务事实表和快照事实表往往都是成对设计的,互相补充,以满足更多的下游统计分析需求,特别是在事务事实表的基础上可以加工快照事实表。
快照事实表在确定状态度量时, 一般都是保存采样周期结束时的状态度量。
因此在确定周期快照事实表的度量时,也要考虑类似的度量值,以满足更多的统计分析需求。数据仓库在设计周期快照事实表时,就需针对多种周期到日期的度量设计了不同的快照事实表。 累积快照事实表????????对于类似于研究事件之间时间间隔的需求,采用累积快照事实表可以很好地解决。
特点
特殊处理
????????针对多业务过程建模时,业务过程可能来自于不同的系统或者来源于不同的表,其对于累积快照事实表的模型设计没有影响,但会影响ETL 开发的复杂程度。
????????当拥有大量的业务过程时,模型的实现复杂度会增加,特别是对于多源业务过程,模型的精合度过高,此时需要根据商业用户需求,选取关键的里程碑。 实现
三种事实表的比较????????事务事实表记录的事务层面的事实,用于跟踪业务过程的行为,并支持几种描述行为的事实,保存的是最原子的数据,也称为“原子事实表”。事务事实表中的数据在事务事件发生后产生,数据的粒度通常是每个事务一条记录。 一旦事务被提交,事实表数据被插人,数据就不能更改,其更新方式为增量更新。 无事实的事实表????????在维度模型中,事实表用事实来度量业务过程,不包含事实或度的事实表称为“无事实的事实表”虽然没有明确的事实,但可以用来支持业务过程的度量。 ????????有两种情况: ????????1.事件类的,记录事件的发生. ????????2.是条件、范围或资格类. 聚集型事实表????????聚集主要是通过汇总明细粒度数据来获得改进查询性能的效果。通过访问聚集数据,可以减少数据库在响应查询时必须执行的工作量,能够快速响应用户的查询,同时有利于减少不同用户访问明细数据带来的结果不一致问题。尽管聚集能带来良好的收益,但需要事先对其进行加载和维护 ,这将会对给 ETL 带来更多的挑战。 聚集的基本原则
聚集的基本步骤
公共汇总层基本原则
交易汇总表设计
聚集的其它事项
聚集是针对原始星形模型进行的汇总,为了获取和查询与原始模型一致的结果,聚集的维度和度量必须与原始模型保持一致,因此聚集是不跨越事实的。
聚集会带来查询性能的提升,但聚集也会增加 ETL 维护的难度。当子类目对应的一级类目发生变更时,先前存在的、已经被汇总到聚集表中的数据需要被重新调整。 元数据元数据概述元数据定义????????元数据( Metadata)是关于数据的数据。元数据打通了源数据、数据仓库、数据应用,记录了数据从产生到消费的全过程。元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及 ETL 的任务运行状态。 ????????根据用途可分为两类:技术元数据( TechnicalMetadata) 和业务元数据( Business Metadata) 阿里巴巴中常见的的技术元数据:
阿里巴巴中常见的的业务元数据:
元数据价值是数据管理、数据内容、数据应用的基础,在数据管理方面为集团数据提供在计算、存储、成本、质量、安全、模型等治理领域上的数据支持。 统一元数据体系建设 元数据应用????????数据的真正价值在于数据驱动决策,通过数据指导运营。通过数据驱动的方法,我们能够判断趋势,从而展开有效行动,帮助自己发现问题,推动创新或解决方案的产生。 Data ProFile????????承担的是为元数据“画像”的任务。通过图计算、标签传播算法等技术,系统化、自动化地对计算与存储平台上的数据进行打标、整理、归档。
元数据门户????????元数据门户致力打造一站式的数据管理平台、高效的一体化数据市场。 ????????分为“前台”和“后台”。“前台”产品为数据地图,定位消费市场,实现检索数据 、 理解数据等“找数据”需求 E“后台”产品为数据管理,定位于一站式数据管理,实现成本管理、安全管理、质量管理等。 ????????数据地图围绕数据搜索,服务于数据分析、数据开发、数据挖掘、算法工程师、数据运营等数据表的使用者和拥有者,提供方便快捷的数据搜索服务,拥有功能强大的血缘信息及影响分析,利用表使用说明、评价反馈、表收藏及精品表机制,为用户浮现高质量、高保障的目标数据。 ????????数据管理平台围绕数据管理,服务于个人开发者 、 BU 管理者、系统管理员等用户,提供个人和 BU 全局资产管理、成本管理和质量管理等。针对个人开发者,主要包括计算费用和健康分管理、存储费用和健康分管理,并提供优化建议和优化接口:针对 BU 管理者和管理员,主要提供 BU、应用、集群等全局资产消耗概览、分析和预测。 应用链路分析????????通过应用链路分析,产出表级血缘、字段血缘和表的应用血缘。 ????????主要有两种计算方式:一种是通过 MaxCompute 任务日志进行解析;一种是根据任务依赖进行解析。 数据建模????????通过元数据驱动的数据仓库模型建设,可以在一定程度上解决此问题,提高数据仓库建模的数据化指导,提升建模效率。
在星形模型设计过程中,可能类似于如下使用元数据。
驱动ETL开发计算管理????????如何降低计算资源的消耗,提高任务执行的性能,提升任务产出的时间,是计算平台和 ETL 开发工程师孜孜追求的目标。 系统优化????????MaxCompute 采用各种抽样统计算法,通过较少的资源获得大量的统计信息,基于先进的优化模型,具备了完善的 CBO 能力,与传统的大数据计算系统相比,性能提升明显。 HBO????????HBO 是根据任务历史执行情况为任务分配更合理的资源,包括内存、 CPU 以及 Instance 个数。 ????????HBO 是对集群资源分配的一种优化,概括起来就是:任务执行历史+集群状态信息+优化规则→更优的执行配置。 ????????通过数据分析,发现在系统中存在大量的周期性调度的脚本(物理计划稳定),且这些脚本的输入一般比较稳定,如果能对这部分脚本进行优化,那么对整个集群的计算资源的使用率将会得到显著提升。HBO 一般通过自造应调整系统参数来达到控制计算资源。
????????对于MapTask,系统需要初始化不同的输入数据量,根据期望的每个Map能处理的数据量,再结合用户提交任务的输入数据量,就可以估算出用户提交的任务所需要的Map数量。 ????????对于ReduceTask,比较Hive使用Map输入数据量,MaxCompute使用最近7天Reduce对应Map的平均输出数据量作为Reduce的输入数据量,用于计算Instance的数量。对于Reduce个数的估算与Map估算基本相同,不再赘述。
????????对于MapTask,系统需要初始化期望的每个Map能处理的数据量。通过该Map在最近一段时间内的平均处理速度与系统设定的期望值做比较,如果平均处理速度小于期望值,则按照同等比例对基础资源数量进行加权,估算出该Map的加权资源数量。 ????????最终的Instance个数为:基础资源估算值+加权资源估算值。 HBO好处:
CBO????????MaxCompute 2.0 引人了基于代价的优化器( CBO),根据收集的统计信息来计算每种执行方式的代价,进而选择最优的执行方式。 优化器原理????????优化器( Optimizer)引人了 Volcano 模型(请参考论文: TheVolcano Optimizer Generαtor: Extensibility and ξfficient Search ),该模型是基于代价的优化器( CBO),并且引人了重新排序 Join(Join Reorder)和 自动 MapJoin(Auto MapJoin)优化规则等,同时基于 Volcano 模型的优化器会尽最大的搜索宽度来获取最优计划。 Meta Manager????????Meta 模块主要提供元数据信息,包括表的元数据、统计信息元数据等。当优化器在选择计划时,需要根据元数据的一些信息进行优化。 Statistics????????Statistics 主要是帮助优化器选择计划时,提供准确的统计信息,的统计信息,如表的 Count 值、列的 Distinct 值、 TopN值等。 Rule Set????????优化规则是根据不同情况选择不同的优化点,然后由优化器根据代价模型( CostModel )来选择启用哪些优化规则。 Volcano Planner Core????????Volcano Planner 是整个优化器的灵魂,它会将所有信息( Meta 信息、统计信息、规则)统一起来处理,然后根据代价模型的计算,获得一个最优计划。 ????????Planner 的创建主要是将 Planner 在优化过程中要用到的信息传递给执行计划器,比如规则集,用户指定要使用的规划:MetaProvider,每个Re IN ode 的 Meta计算,如 RowCount 值计算、 Distinct值计算等;代价模型,计算每个 RelNode 的代价等。这些都是为以后 Planner提供的必要信息。 优化器新特性????????优化器具有一些新特性,主要是重新排序 Join(Join Reorder)和自动 MapJoin(Auto MapJoin )。 1.重新排序Join ????????重新排序 Join可以认为是将 Join 的所有不同输入进行一个全排列,然后找到代价最小的一个排列。 2.自动 MapJoin ????????Join 实现算法有多种,目前主要有 Merge Join 和 MapJoin。对于小数据量, MapJoin 比 Merge Join性能更优。之前是通过 Hint方式来指定是否使用MapJoin,这样对用户不是很友好,且使用不方便。自动MapJoin 充分利用优化器的代价模型进行估算,获得更优的MapJoin方式,而不是通过Hint方式来进行处理。 3.优化器使用 ????????优化器提供的 Flag 有: ????????规则白名单一一odps.optimizer.cbo.rule.filter.white ????????规则黑名单一-odps.optimizer.cbo.rule.filter.black ????????如果用户需要使用哪些优化规则,只要将规则的缩写名称加人白名单即可;反之,需要关闭哪些优化规则,只要将名称加入黑名单即可。 4.注意事项 ????????Optimizer会提供谓词下推( PredicatePush Down)优化,主要目的是尽量早地进行谓词过滤,以减少后续操作的数据量,提高性能。但需要注意的是: ????????UDF ????????如果用户需要下推 UDF,则要自己改动 SQL,这样做主要的好处是用户自己控制 UDF 执行的逻辑,最了解自己的 UDF 使用在 SQL的哪个部分,而不是优化器任意下推等。 不确定函数 ????????对于不确定函数,优化器也不会任意下推。 隐式类型转换 ????????书写 SQL 语句时 , 应尽量避免 Jo in Key 存在隐式类型转换。 任务优化????????SQL/MR在MaxCompute中的细分步骤。 ????????在MaxCompute中会生成MaxCompute Instance,通过唯一ID进行标识。
Map倾斜????????Map 端是 MR 任务的起始阶段, Map 端的主要功能是从磁盘中将数据读人内存。 ????????在 Map 端读数据时,由于读入数据的文件大小分布不均匀,因此会导致有些 MapInstance 读取并且处理的数据特别多,而有些 MapInstance 处理的数据特别少,造成 Map 端长尾。 ????????Map 端长尾的根本原因是由于读人的文件块的数据分布不均匀,再加上 UDF 函数性能、Join、聚合操作等,导致读人数据量大的 Maplnstance 耗时较长。在开发过程中如果遇到 Map 端长尾的情况,首先考虑如何让 Map Instance 读取的数据量足够均匀,然后判断是哪些操作导致 MapInstance 比较慢,最后考虑这些操作是否必须在 Map 端完成 ,在其他阶段是否会做得更好。 Join倾斜????????Join 操作需要参与 Map 和 Reduce 的整个阶段。出, MaxCompute SQL 在 Join 执行阶段会将 Join Key 相同的数据分发到同一个执行 Instance上处理。如果某个Key 上的数据量比较大,则会导致该 Instance 执行时间较长。 ????????可根据相应原因给出对应的解决方案:
解决方法
MapJoin 的原理是将 Join 操作提前到 Map 端执行, 将小表读人内存,顺序扫描大表完成 Join。这样可以避免因为分发 key 不均匀导致数据倾斜。
如果关联 key 为空值且数据量比较大,Join 时就会因为空值的聚集导致长尾,针对这种情况可以将空值处理成随机值。
????????如果是因为热点值导致的长尾,并且Join 的输入比较大无法使用MapJoin,则可以先将热点 key 取出,对于主表数据用热点 key 切分成热点数据和非热点数据两部分分别处理,最后合并。 Reduce倾斜????????Reduce端负责的是对 Map端梳理后的有.序 key-value键值对进行聚合,即进行 Count 、 Sum 、Avg 等聚合操作,得到最终聚合的结果。 ????????Distinct 是 MaxCompute SQL 中支持的语法,用于对字段去重。比如计算在某个时间段内支付买家数、访问 UV 等,都是需要用Distinct进行去重的。 MaxCompute 中 Distinct 的执行原理是将需要去重的宇段以及 Group By 宇段联合作为 key将数据分发到Reduce端。 ????????因为 Distinct操作,数据无法在 Map端的 Shuffle 阶段根据 GroupBy 先做一次聚合操作,以减少传输的数据量,而是将所有的数据都传输到Reduce 端,当 key 的数据分发不均匀时,就会导致 Reduce 端长尾。 ????????Reduce 端产生长尾的主要原因就是 key 的数据分布不均匀。比如有些 Reduce 任务 Instance 处理的数据记录多,有些处理的数据记录少,造成 Reduce 端长尾。如下几种情况会造成 Reduce端长尾:
解决方案????????MaxCompute对动态分区的处理是引人额外一级的 Reduce Task,把相同的目标分区交由同一个(或少量几个)Reduce Instance 来写人,避免小文件过多,并且这个 Reduce肯定是最后一个 Reduce Task 操作。 对 Multi Distinct 的思考
存储和成本管理????????如何有效地降低存储资源的消耗,节省存储成本,将是存储管理孜孜追求的目标。本章主要从数据压缩、数据重分布、存储治理项优化、生命周期管理等的角度介绍存储管理优化。 数据压缩????????目前 MaxCompute 中提供了 archive 压缩方法,它采用了具有更高压缩比的压缩算法,可以将数据保存为 RAIDfile 的形式,数据不再简单地保存为 3 份,而是使用盘古 RAID file 的默认值( 6 ,3)格式的文件,即 6 份数据+3 份校验块的方式,这样能够有效地将存储比约为1:3 提高到1: 1.5,大约能够省下一半的物理空间。但使用archive压缩方式也有一定的风险,如果某个数据块出现损坏或者某台机器宕机损坏,回复数据块的时间将要比原来的方式更长,读的性能会有一定的损失。 数据重分布????????在 MaxCompute 中主要采用基于列存储的方式,由于每个表的数据分布不同,插人数据的顺序不一样,会导致压缩效果有很大的差异, 因此通过修改表的数据重分布,避免列热点,将会节省一定的存储空间。 存储治理项优化????????通过对该优化项的数据诊断 , 形成治理项,治理项通过流程的方式进行运转、管理,最终推动各个 ETL 开发人员进行操作,优化存储管理,并及时回收优化的存储效果。在这个体系下,形成现状分析、 问题诊断、管理优化、效果反馈的存储治理项优化的闭环。通过这个闭环,可以有效地推进数据存储的优化,降低存储管理的成本。 生命周期管理????????数据的生命周期管理是存储管理的一项重要手段。生命周期管理的根本目的就是用最少的存储成本来满足最大的业务需求,使数据价值最大化。 生命周期管理策略周期性删除策略 ????????所存储的数据都有一定的有效期,从数据创建开始到过时,可以周期性删除 X天前的数据。 彻底删除策略 ????????无用表数据或者 ETL 过程产生的临时数据,以及不需要保留的数据,可以进行及时删除,包括删除元数据。 永久保留策略 ????????重要且不可恢复的底层数据和应用数据需要永久保存。 极限存储策略 ????????极限存储可以超高压缩重复镜像数据,通过平台化配置手段实现透明访问。 冷数据管理策略 ????????冷数据管理是永久保留策略的扩展。永久保留的数据需要迁移到冷数据中心进行永久保存,同时将 MaxCompute 中对应的数据删除。 增量表merge全量表策略 ????????对于某些特定的数据,极限存储在使用性与存储成本方面的优势不是很明显,需要改成增量同步与全量 merge 的方式,对于对应的delta增量表的保留策略,目前默认保留 93天。 通用的生命周期管理矩阵????????主要通过对历史数据的等级划分与对表类型的划分生成相应的生命周期管理矩阵。 历史数据等级划分 P0:非常重要的主题域数据和非常重要的应用数据。 P1:重要的业务数据和重要的应用数据,具有不可恢复性。 P2:重要的业务数据和重要的应用数据,具有不可恢复性。 P3:不重要的业务数据和不重复的应用数据,具有可恢复性。 表类型划分
? 数据成本计量????????在计量数据表的成本时,除考虑数据表本身的计算成本、存储成本外,还要考虑对上游数据表的扫描带来的扫描成本。我们将数据成本定义为存储成本、计算成本和扫描成本三个部分。 数据质量????????随着 IT 向 DT 时代的转变,数据的重要性不言而喻,数据的应用也日趋繁茂,数据正扮演着一个极其重要的角色。 数据质量保障原则????????从四个方面进行评估,完整性、准确性、一致性和及时性。 完整性????????完整性是指数据的记录和信息是否完整,是否存在缺失的情况。数据的缺失主要包括记录的缺失和记录中某个字段信息的缺失,两者都会造成统计结果不准确。 准确性????????准确性是指数据中记录的信息和数据是否准确,是否存在异常或者错误的信息。 一致性????????一致性一般体现在跨度很大的数据仓库体系中,比如数据仓库,内部有很多业务数据仓库分支,对于同一份数据,必须保证一致性。 及时性????????在确保数据的完整性、准确性和一致性后,接下来就要保障数据能够及时产出,这样才能体现数据的价值。 数据质量方法数据质量建设方法 ????????根据应用的影响程度,确定资产等级 ;根据数据链路血缘,将资产等级上推至各数据生产加工的各个环节,确定链路上所涉及数据的资产等级和在各加工环节上根据资产等级的不同所采取的不同处理方式。 数据生产加工各个环节卡点校验????????数据生产加工各个环节卡点校验部分主要包括在线系统和离线系统数据生产加工各个环节的卡点校验。 ????????在线系统生产加工各环节卡点校验主要包括两个方面:根据资产等级的不同,当对应的业务系统变更时,决定是否将变更通知下游;对于高资产等级的业务, 当出现新业务数据时,是否纳入统计中,需要卡点审批。 ????????离线系统生产加工各环节卡点校验主要包括代码开发、测试、发布和历史或错误数据回刷等环节的卡点校验,针对数据资产等级的不同,对校验的要求有所不同。 风险点监控????????分主要是针对在数据日常运行过程中可能出现的数据质量和时效等问题进行监控,包括在线数据和离线数据的风险点监控两个方面。 质量衡量????????根据质量问题对不同等级资产的影响程度,确定其是属于低影响的事件还是具有较大影响的故障。质量分则是综合事前和事后的衡量数据进行打分。 质量配套工具????????针对数据质量的各个方面,都有相关的工具进行保证,以提高效能。接下来将对数据质量保障的各个方面进行介绍。 数据资产数据资产等级定义 ????????通过五个等级来定义数据资产等级。即毁灭性质、全局性质、局部性质、 一般性质和未知性质,不同性质的重要性依次降低,具体定义如下。
数据资产等级落地方法 ????????数据是从业务系统中产生的,经过同步工具进入数据仓库系统中,在数据仓库中进行一般意义上的清洗、加工、整合、算法、模型等一系列运算后,再通过同步工具输出到数据产品中进行消费。 ????????产品每一个页面的每一个模块基本上都是通过数据表输出展现的,不同模块数据的重要等级也就决定了相关表的重要等级,决定了这个导出表的重要等级。 数据加工过程卡点校验风险点监控 质量衡量数据质量起夜率????????前文在介绍数据及时性时已经提到,数据产品或者管理层决策日报一般都要求在上午 9:00 之前提供,数据仓库的作业任务都是在凌晨运行的, 一旦数据出现问题就需要开发人员起夜进行处理。 数据质量事件????????数据质量事件,首先,用来眼进数据质量问题的处理过程;其次,用来归纳分析数据质量原因 z 第三,根据数据质量原因来查缺补漏,既要找到数据出现问题的原因,也要针对类似问题给出后续预防方案。 数据质量故障体系????????对于严重的数据质量事件,将升级为故障。故障,是指问题造成的影响比较严重,已经给公司带来资产损失或者公关风险。 (1) 故障定义首先识别出重要的业务数据,并注册到系统中,填写相关的业务情况,如技术负责人、业务负责人、数据应用场景、延迟或错误带来的影响、是否会发生资产损失等,完成后,会将这部分数据的任务挂到平台基线上,一旦延迟或错误即自动生成故障单,形成故障。 (2)故障等级故障发生后,会根据一定的标准判断故障等级,如故障时长、客户投诉量、资金损失等,将故障按 pl ~ p4 定级,各团队会有故障分的概念,到年底会根据故障分情况来判断本年度的运维效果。 (3)故障处理故障发生后,需要快速地识别故障原因,并迅速解决,消除影响。在处理故障的过程中, 会尽快将故障的处理进度通知到相关方,尽可能减少对业务的影响。 (4)故障 Review对于故障会进行 Review,即分析故障的原因、处理过程的复盘、形成后续解决的Action,并且都会以文字的形式详细记录,对故障的责任进行归属,一般会到具体的责任人。注意,对故障责任的判定,不是为了惩罚个人,而是通过对故障的复盘形成解决方案,避免问题再次发生。 数据应用????????全球知名咨询公司麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产要素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到。” 生意参谋????????为了保证用户体验,从 2014 年起,依托阿里巴巴内部的 OneData体系建设的、在数据一致性方面更具优势的生意参谋陆续整合量子恒道、数据魔方等其他数据产品,并在 2015 年年底升级为官方统一的商家数据产品平台。由此,商家只要通过生意参谋一个平台,就能体验统一、稳定、准确的官方数据服务。 ????????当然,长达两年的整合升级并不是简单地对多个数据产品进行功能整合,而是在保留其核心功能的同时,对其进行优化,同时不断拓展新平台的服务能力和服务范围。 ????????在整合量子恒道时,同步推出大促活动看板、实时直播大屏、实时直播大屏、自助取数等重要功能。 功能架构与技术能力 ????????在生意参谋上,“我情”的数据主要基于店铺经营全链路的各个环节进行设计。以“经营分析”为例,这个板块依次为商家提供流量、商品、交易、服务、物流、营销等不同环节的数据服务,不同服务还能再往下细分,如在“流量分析”下,还会再提供流量地图、访客分析、 装修分析等更细粒度的数据。基本上, 一个访客从未进店到进店,再到店内流转,最终交易转化,转化后的评价和物流情况都可以通过“经营分析” 一站式获取。 ????????生意参谋通过市场行情,为商家提供了行业维度的大盘分析,包括行业洞察、搜索词分析、人群画像等。其中,行业洞察可以从品牌、产品、属性、商品、店铺等粒度对本行业数据进行分析:通过搜索词分析可以了解不同关键词的近日表现,从而反推消费者偏好;人群画像能从人群维度人手,直接提供买家人群、卖家人群 、 搜索人群三大人群的数据洞察信息。 ????????平台背后看不见的“数据中台”给生意参谋提供了大量技术保障。例如,在体验方面,生意参谋的数据来自阿里巴巴大数据公共层 OneData 。 OneData 可以对集团内外数量繁多的数据进行规范化和数据建模,从根本上避免数据指标定义不一致、重复建设的问题,从而确保生意参谋对外数据口径标准统一,计算全面、精确。 ????????OneData 体系、 OneID 技术等在其中为生意参谋等数据产品提供了稳定的技术支持。 ? 对内数据产品平台定位????????通过数据产品将数据转化为用户更优做决策和行动的依据。数据产品有多种形态,包括最简单常见的报表、多维分析、专题分析型数据产品、智能型数据应用产品。 解决的痛点是用户对业务发展中的数据监控、问题分析、机会洞察、决策支持等诉求,提供给用户高效率获取数据、合理分析框架、数据辅助业务决策的价值。 目的????????对于高管和决策者,既需要宏观的业务数据,又需要可下沉的数据 ,还需要丰富的趋势数据来辅助决策,需要通过数据了解业务进展、当前进展是否合理、接下来的业务方向等,针对此类需求提供定制化的数据产品供决策参考,为高管提供宏观决策分析支撑平台,分析历史数据规律,预测未来发展趋势,洞察全行业动态。 结语????????对于大数据的探索,在不断迭代中,探索更多、创造更新的数据价值,更高效地开发数据产品,服务世界。 ????????这条天险之路只有方向,没有终点。 本文旨在读《阿里巴巴大数据之路》时,对相关知识点进行摘录与总结,并与大家分享。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 10:43:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |