HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    dwd层如何设计(dws层如何设计)

    发布时间:2023-04-03 18:23:59     稿源: 创意岭    阅读: 58        当前文章关键词排名出租

    大家好!今天让创意岭的小编来大家介绍下关于dwd层如何设计的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    开始之前先推荐一个非常厉害的Ai人工智能工具,一键生成原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    只需要输入关键词,就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端

    官网:https://ai.de1919.com

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,如需了解相关业务请拨打电话175-8598-2043,或添加微信:1454722008

    本文目录:

    dwd层如何设计(dws层如何设计)

    一、数据质量

    浅谈数据质量管理:为了更清醒的数据

    数据质量管理的一些思考

    大数据Clouder认证:使用MaxCompute进行数据质量核查

    度量的两个方面:

    1、设计质量度量

    数据资产目录 数据标准 数据模型 数据分布

    2、执行质量度量

    完整性 准确性 唯一性 一致性 及时性 有效性  (单列、跨列、跨行、跨表)

    数据质量设计原则

    1、关键环节注入监控流程 比如数据源接入、多维模型等

    2、重要数据:事务数据、主数据、基础数据(数据字典)要进入监控流程;持续稳定的数据可以退出监控流程;价值密度低可以退出监控流程;

    数据质量四部曲

    策划、控制、度量、改进

    打分机制:

    指定表的质量KPI,针对表的故障率进行数据质量运营。

    最主要的数据质量度量:

    1、完整性:空值,数据量(是否漏传)等;

    2、一致性:各层前后结果是否一致;

    3、是否重复性:数据在单层是否重复

    工具:

    Griffin 功能有Bug 

    Shell+Hive 建议(通过Web界面化)

    各层校验规则:

    ods层:

    - 增量数据记录数(短期)设置合理值

    - 全量数据记录数(长期)设置合理值

    - 空值:

    -重复值:使用不为空的字段校验

    dwd层:

    - 一致性 将需要一致性检测的字段,与ods层做关联join

    - 重复性 使用不为空的字段校验

    - 空值不需要检验:因为已经做了一致性校验了

    dws/dwt层:

    - 思路跟ods层一样

    ads层:

    - 判定指标是否在合理范围内,需设置合理值,与之对比,如超预期,展现层不体现该指标,并触发质量问题排查追踪(atlas追踪血缘关系,触发ETL流程)

    数据质量修复:

    1、数据丢失:按DT分区,重新导入

    2、数据重复:分区表:按DT分区,删除分区所有数据,重新导入;全量表:重导一次

    3、指标不符合正常规律:atlas追踪血缘关系,触发ETL流程

    二、数仓项目05:ADS数据应用层

    建库:

    建表:

    1.从ods_02_customer 表统计用户信息

    2.从dwd_nshop_actlog_pdtview 用户浏览信息表查出用户浏览时长和浏览用户

    3.从dws_nshop_ulog_view 用户浏览表查出访问次数和访问用户

    4.用总的停留时长除以去重后的用户数量就是平均访问时长,用总访问次数除以去重后的用户数就是平均访问次数。

    统计sql如下:

    数据是从DWS层的用户浏览表里统计,统计sql如下:

    1.在ods_02_customer表统计用户信息

    2.dwd层的用户产品查询表dwd_nshop_actlog_pdtsearch统计查询相关信息

    3.dws层的用户查询聚合表dws_nshop_ulog_search统计查询数量

    4.对用户进行count聚合,对查询数量进行sum聚合,对产品id进行sum聚合

    统计sql如下:

    在这里,总用户数指全网的浏览过的总用户数,新增用户数指当天新注册用户数,活跃用户数指当天浏览的用户数

    1.通过用户信息表查询出用户信息

    2.通过对用户产品浏览表的userid聚合统计出活跃用户

    统计sql如下:

    这里的总体运营指标统计,统计的有下单数,订单数、销售总金额、有汇总金额、运费总金额等。

    1.首先,页面类型肯定是产品页的,所以在页面布局中间表中提前筛选出产品页。

    2.在dwd层的产品浏览表中可以关联到用户id、产品id,关联查出用户相关信息,和产品类别

    3.在dwd层的订单明细流水表中,分别对order_id,district_money(优惠金额),shipping_money(运费),payment_money进行sum聚合,再关联用户基本信息表和产品信息表查询相关信息。

    4.最后,将以上关联,查出总体指标,sql如下:

    主要是查询订单详情表的订单状态为6(投诉)的次数,和撤销的次数,然后将订单详情表关联用户信息,产品信息查出相关信息,sql如下:

    1.查询dwd层的订单明细表,可以查出订单有关的订单类型、支付网络方式、订单金额等数据,并关联用户信息表。

    2.查询ods层的支付记录表,可以查出支付相关的支付状态等

    3.关联上面的临时表,用支付次数除以下单次数,得到转换率。

    sql如下:

    查询dwd层的订单明细流水表的订单状态并累加次数,再关联用户信息表查出用户相关信息。

    关联出产品表,查出产品类别,sql如下:

    总访客数:需要去重

    总访问次数不需要去重

    统计sql如下:

    三、如何深入浅出理解数据仓库建模?

    作者 | 傅一平

    来源 | 与数据同行

    今天跟着我来学学数据仓库的基础知识,希望你结合案例可以把它吃透。

    一、数据仓库建模的意义

    如果把数据看作图书馆里的书,我们希望看到它们在书架上分门别类地放置;如果把数据看作城市的建筑,我们希望城市规划布局合理;如果把数据看作电脑文件和文件夹,我们希望按照自己的习惯有很好的文件夹组织方式,而不是糟糕混乱的桌面,经常为找一个文件而不知所措。

    数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。Linux的创始人Torvalds有一段关于“什么才是优秀程序员”的话:“烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系”,最能够说明数据模型的重要性。

    只有数据模型将数据有序的组织和存储起来之后,大数据才能得到高性能、低成本、高效率、高质量的使用。

    性能:帮助我们快速查询所需要的数据,减少数据的I/O吞吐,提高使用数据的效率,如宽表。

    成本:极大地减少不必要的数据冗余,也能实现计算结果复用,极大地降低存储和计算成本。

    效率:在业务或系统发生变化时,可以保持稳定或很容易扩展,提高数据稳定性和连续性。

    质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。数据模型能够促进业务与技术进行有效沟通,形成对主要业务定义和术语的统一认识,具有跨部门、中性的特征,可以表达和涵盖所有的业务。

    大数据系统需要数据模型方法来帮助更好地组织和存储数据,以便在性能、成本、效率和质量之间取得最佳平衡!

    下图是个示例,通过统一数据模型,屏蔽数据源变化对业务的影响,保证业务的稳定,表述了数据仓库模型的一种价值:

    二、数据仓库分层的设计

    为了实现以上的目的,数据仓库一般要进行分层的设计,其能带来五大好处:

    清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。

    数据血缘追踪:能够快速准确地定位到问题,并清楚它的危害范围。

    减少重复开发:规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。

    把复杂问题简单化:将复杂的任务分解成多个步骤来完成,每一层只处理单一的步骤,比较简单和容易理解。当数据出现问题之后,不用修复所有的数据,只需要从有问题的步骤开始修复。

    屏蔽原始数据的异常:不必改一次业务就需要重新接入数据。

    以下是我们的一种分层设计方法,数据缓冲区(ODS)的数据结构与源系统完全一致。基础数据模型(DWD)和融合数据模型(DWI与DWA)是大数据平台重点建设的数据模型。应用层模型由各应用按需自行建设,其中基础数据模型一般采用ER模型,融合数据模型采用维度建模思路。

    三、两种经典的数据仓库建模方法

    前面的分层设计中你会发现有两种设计方法,关系建模和维度建模,下面分别简单介绍其特点和适用场景。

    1、维度建模

    (1)定义

    维度模型是数据仓库领域另一位大师Ralph Kimball 所倡导的。维度建模以分析决策的需求出发构建模型,构建的数据模型为分析需求服务,因此它重点解决用户如何更快速完成分析需求,同时还有较好的大规模复杂查询的响应性能,更直接面向业务。

    典型的代表是我们比较熟知的星形模型:

    维度退化

    星型模型由一个事实表和一组维表组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个宽表。

    这也是我们在使用hive时,经常会看到一些大宽表的原因,大宽表一般都是事实表,包含了维度关联的主键和一些度量信息,而维度表则是事实表里面维度的具体信息,使用时候一般通过join来组合数据,相对来说对OLAP的分析比较方便。

    (2)建模方法

    通常需要选择某个业务过程,然后围绕该过程建立模型,其一般采用自底向上的方法,从明确关键业务过程开始,再到明确粒度,再到明确维度,最后明确事实,非常简单易懂。

    以下是阿里的OneData的建模工作流,可以参考。

    (3)优缺点

    优点:技术要求不高,快速上手,敏捷迭代,快速交付;更快速完成分析需求,较好的大规模复杂查询的响应性能

    缺点:维度表的冗余会较多,视野狭窄

    2、关系建模

    (1)定义

    是数据仓库之父Inmon推崇的、从全企业的高度设计一个3NF模型的方法,用实体加关系描述的数据模型描述企业业务架构,在范式理论上符合3NF,站在企业角度面向主题的抽象,而不是针对某个具体业务流程的实体对象关系抽象。

    它更多是面向数据的整合和一致性治理,正如Inmon所希望达到的“single version of the truth”。

    当有一个或多个维表没有直接连接到事实表上,而是通过其他维表连接到事实表上时,其图解就像多个雪花连接在一起,故称雪花模型。

    雪花模型是对星型模型的扩展。它对星型模型的维表进一步层次化,原有的各维表可能被扩展为小的事实表,形成一些局部的 "层次 " 区域,这些被分解的表都连接到主维度表而不是事实表。

    雪花模型更加符合数据库范式,减少数据冗余,但是在分析数据的时候,操作比较复杂,需要join的表比较多所以其性能并不一定比星型模型高。

    (2)建模方法

    关系建模常常需要全局考虑,要对上游业务系统的进行信息调研,以做到对其业务和数据的基本了解,要做到主题划分,让模型有清晰合理的实体关系体系,以下是方法的示意:

    以下是中国移动的概念模型的一种示例,如果没有自顶向下的视野,基本是总结不出来的:

    (3)优缺点

    优点:规范性较好,冗余小,数据集成和数据一致性方面得到重视,比如运营商可以参考国际电信运营业务流程规范(ETOM),有所谓的最佳实践。

    缺点:需要全面了解企业业务、数据和关系;实施周期非常长,成本昂贵;对建模人员的能力要求也非常高,容易烂尾。

    3、建模方法比较

    一般来讲,维度模型简单直观,适合业务模式快速变化的行业,关系模型实现复杂,适合业务模式比较成熟的行业,阿里原来用关系建模,现在基本都是维度建模的方式了。

    运营商以前都是关系建模,现在其实边界越来越模糊,很多大数据业务变化很快,采用维度建模也比较方便,不需要顶层设计。

    四、企业建模的三点经验

    维度建模就不说了,只要能理解业务过程和其中涉及的相关数据、维度就可以,但自顶向下的关系建模难度很大,以下是关系建模的三个建设要点。

    1、业务的理解:找到企业内最理解业务和源系统的人,梳理出现状,比如运营商就要深刻理解三域(O/B/M),概念建模的挑战就很大,现在做到B域的概念建模已经很不容易。

    2、数据及关系的理解:各个域的系统建设的时候没有统一文档和规范,要梳理出逻辑模型不容易,比如运营商的事件主题下的逻辑模型就非常复杂。

    3、标准化的推进:数据仓库建模的任何实体都需要标准化命名,否则未来的管理成本巨大,也是后续数据有效治理的基础,以下是我们的一个命名规范示例:

    五、推荐三本书

    总而言之,你可以把我的文章当成一个指引,具体还是要结合企业的实际去推进,但做事的时候要不忘建模的初心:即数据如何摆布才能提高支撑应用的效率,手段上不用区分什么先进不先进,好用就成。

    四、移动dim,ods,dwd,dw是什么意思

    ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。

    DW :data warehouse 翻译成数据仓库

    DW数据分层,由下到上为 DWD,DWB,DWS

    DWD:data warehouse detail 细节数据层,有的也称为 ODS层,是业务层与数据仓库的隔离层。

     计算机用语,Dim就是定义变量,与关键字Private(私有的)相当,另外还有一个Public(公有的)关键字.;定义变量  方法为:Dim 变量 As 变量类型。

    望采纳!

    以上就是关于dwd层如何设计相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    cad培训班一般学费多少(solidworks培训班一般学费多少)

    全景景观设计施工图dwg(景观施工图全套)

    市场推广必用的十大网站:脉脉、bdwork必得我客、全球品牌网等

    景观设计环境生态绿化(景观设计 绿化)

    南京乡村生态景观设计(南京乡村生态景观设计师招聘)