当前位置: 首页 > news >正文

2、数仓理论概述与相关概念

1、问:数据仓库 建设过程中 经常会遇到那些问题?

        模型(逻辑)重复建设

        数据不一致性

                维度不一致:命名、维度属性值、维度定义

                指标不一致:命名、计算口径

        数据不规范(字段命名、表名、分层、主题命名规范)


2、OneData数据建设核心方法论?


3、OneData数据建设体系架构?


4、数据仓库中经常用到的概念?

4.1 什么是 业务过程

        指的是 企业活动中的一个行为事件,如 下单、支付、退款都是业务过程

        业务过程是一个不可拆分的行为事件,也可以说 业务过程 = 企业活动中的事件

4.2 什么是 数据域/主题域

        指定是 将业务过程或者维度进行抽象的集合

        为保证数仓的稳定性,数据域需要抽象提炼,并且长期维护和更新,但不轻易变动。

4.3 什么是 度量/原子指标

        原子指标和度量含义相同,是基于某个业务过程下的度量值,表示不可再拆分的指标

        经常以数值的形式出现,具有明确的业务含义的名称,如支付金额

4.4 什么是 修饰词

        业务过程中对业务场景限定的抽象(除维度以外),例如 流量域中有修饰词 PC端、APP端

4.5 什么是 修饰类型

        对修饰词抽象划分,修饰类型从属于某个业务域

        如流量域中有访问终端类型,该类型下有 PC端、移动端       

4.6 什么是 维度

        维度是业务过程中度量的环境,也可以称为实体对象

4.7 什么是 维度属性

       维度属性隶属于一个维度,是维度的组成部分

       如 地理维度包含(国家、地区、省份、城市等级等属性)

4.8 什么是 时间周期

        用来明确数据统计的时间范围或者时间点,如最近30天、自然周、历史至今

4.9 什么是 派生指标

        派生指标 = 一个原子指标 + 修饰词(可选多个) + 时间周期

        可以理解为 对原子指标按照业务统计范围的圈定

        例如:原子指标:支付金额

                  派生指标:最近1天海外买家的支付金额

                                (最近一天为时间周期、海外为修饰词、买家为维度)


5、指标体系的构成是什么?

原子指标:

        含义:某个业务过程中不可拆分的度量

        构成:动作 + 度量

        示例:支付金额、借款金额

派生指标:

        含义:将原子指标按照业务范围的圈定(聚合)

        构成:多个修饰词(可选) + 时间周期 + 原子指标

        示例:最近一天海外买家的支付金额

派生指标分类:

        事务型指标、存量型指标、复合型指标

事务型指标:

        含义:对某个业务活动进行衡量的指标

        示例:订单支付金额、新增会员数

存量型指标:

        含义:对实体对象(如商品、会员)某些状态的统计

        示例:商品总数、注册会员数

复合型指标:

        含义:在 事务型指标和存量型指标的基础上复合而成

        示例:流量UV-下单买家数的转化率


6、数仓中模型设计时的指导理论?

        设计数据模型时,主要以维度建模为理论基础,基于维度数据模型总线架构,构建一致性的维度和一致性的事实。


7、问:数据仓库为什么要分层设计(分层的好处)?

        分层能够使数据有秩序的流转,数据的生命周期能够清晰的被数仓开发人员和使用人员感知到

        数据结构清晰:

                每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解

        减少重复开发:

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

        统一数据口径:

                通过数据分层,提供统一的数据出口,统一对外输出的数据口径

        复杂问题简单化:

                将一个复杂的任务分解成多个步骤来完成,每一层解决特定的问题

通过构建全域的公共层数据,极大地控制了数据规模的增长,同时也能提高数据研发的效率

,解约成本,提高性能。


8、问:数据仓库应该如何分层?

ODS_数据操作层:

        存储数据特点:各个业务系统的原始数据、日志数据、第三方数据

        数据加工方式:几乎无处理(基础清洗数据)

        作用:数据同步(增量、全量),清洗,保存历史

CDM_公共维度模型层:

        存储数据特点:存放明细事实数据、维度数据、公共指标汇总数据

        细分: DWD、DWS

        作用:提升公共指标的复用性,减少重复加工

DWD_明细数据层:

        存储数据特点:存放明细事实数据

        数据加工方式:

                以维度建模为理论基础,将业务相同或相似且粒度相同的数据放到同一个模型中

                采用维度退化的手段,来构建明细宽表,基于ODS和DIM表加工而成

        作用:

                1、整合业务相同或相似数据:

                        构建明细宽表,复用关联计算,减少数据扫描(DWD)

                2、公共指标统一加工:

                        基于 OneData体系构建 命名规范、口径统一、算法统一的统计指标

                        为上层数据产品、应用、服务提供公共指标,并建立汇总宽表

                3、构建一致性维度:

                        建立一致性的维表,降低多维度分析时计算口径、算法不统一的风险                       

DWS_汇总数据层:

        存储数据特点:公共指标汇总数据

        数据加工方式:

                加强指标的维度退化,采用宽表化手段,构建公共指标数据层

                常基于DWD和DIM表加工而成

        作用:

                存放公共指标汇总数据,构建公共指标宽表,提升公共指标的复用性、减少重复加工

ADS_应用数据层:

        存储数据特点:存储个性化的统计指标数据

        作用:计算个性化的指标(没有公用性,复杂)、基于应用的数据组装(跨主体构建宽表)


9、问:下游使用数仓模型时,应该遵循哪些原则?

        优先使用公共维度模型层(CDM)数据,当公共层没有数据时,需要评估是否需要创建公共层数据,当不需要建设公共层数据时,方可直接使用操作数据层数据(ODS)

相关文章:

2、数仓理论概述与相关概念

1、问:数据仓库 建设过程中 经常会遇到那些问题? 模型(逻辑)重复建设 数据不一致性 维度不一致:命名、维度属性值、维度定义 指标不一致:命名、计算口径 数据不规范(字段命名、表名、分层、主题命名规范) 2、OneData数据建设核心方…...

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异

YOLOv5 分类模型 OpenCV和PyTorch两者实现预处理的差异 flyfish PyTorch封装了PIL库 简单对比下两者的使用方法 import cv2 from PIL import Image import numpy as npfull_path_file_name"/media/a//ILSVRC2012_val_00001244.JPEG"#OpenCV读取图像默认是BGR顺序 …...

使用NPOI处理EXCEL文件:例1-关于优化的一些问题

记得有一次处理Excel文件对比,自己前后使用VBA和NPOI对比了下效率。由于涉及到页面的渲染和刷新,二者的处理速度差了个数量级(10多秒和几十分钟的差别)。当然使用NPOI操作时也做了一定优化。印象这么深刻这次一有需求就想到了NPOI…...

连接k8s和凌鲨

通过连接k8s和凌鲨,可以让研发过程中的重用操作更加方便。 更新容器镜像调整部署规模查看日志运行命令 架构 所有操作通过k8s proxy连接,通过设置namespace label赋予访问权限。只有赋予特定label的namespace才能被访问。 使用步骤 部署k8s proxy 你…...

C语言——结构体的应用

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 路还在继续,梦还在期…...

人机交互——机器人形态

1.聊天机器人 2.任务型机器人 3.面向FAQ的问答机器人 4.面向KB的问答机器人...

BGP的基础知识

BGP——边界网关协议 IGP——内部网关协议——OSPF、RIP、ISIS EGP——外部网关协议——EGP、BGP 边界网关协议BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的路径矢量路由协议。目前在IPV4环境下主要使用BGPV4,目前市场上也存在BGPV4&…...

2023.11.18 每日一题(AI自生成应用)【C++】【Python】【Java】【Go】 动态时间序列分析

目录 一、编程挑战:动态时间序列分析 实际应用: 实现提示: 二、实现 1. C 2. Python 3. JAVA 4. Go 一、编程挑战:动态时间序列分析 问题描述: 假设你是一名软件工程师,需要开发一个应用来分析和预…...

uniapp相关记录

一、自定义我的物品组件 my_goods.vue <template><view class"goods-item"><!-- 左侧 --><view class"goods-item-left"><radio :checked"goods.goods_state" color"#c00000" v-if"showRadio" …...

优质猫罐头有哪些品牌?分享5款宠物店自用值得推荐的猫罐头!

不知不觉已经开宠物店7年啦&#xff0c;店里的猫猫大大小小也算是尝试过很多品牌的猫罐头了。优质猫罐头有哪些品牌&#xff1f;在猫罐头的选购上一开始我也是踩了很多坑&#xff0c;各种踩雷。我深知猫罐头的各种门道&#xff0c;新手一不小心就会着道了。 优质猫罐头有哪些品…...

HTML新手入门笔记整理:HTML基本标签

结构标签 <html> </html> 告诉浏览器这个页面是从<html> 开始&#xff0c;到 </html>结束 <head> </head> 网页的头部&#xff0c;用于定义一些特殊内容&#xff0c;如页面标题、定时刷新、外部文件等。 <body> </body> …...

Redis高级特性和应用(发布 订阅、Stream)

目录 发布和订阅 操作命令 发布消息 订阅消息 查询订阅情况 查看活跃的频道 查看频道订阅数 使用场景和缺点 Redis Stream Stream总述 常用操作命令 生产端 消费端 单消费者 消费组 创建消费组 消息消费 在Redis中实现消息队列 基于pub/sub 基于Stream Re…...

RoCE、IB和TCP等网络的基本知识及差异对比

目前有三种RDMA网络&#xff0c;分别是Infiniband、RoCE(RDMA over Converged Ethernet)、iWARP。 其中&#xff0c;Infiniband是一种专为RDMA设计的网络&#xff0c;从硬件级别保证可靠传输 &#xff0c;技术先进&#xff0c;但是成本高昂。 而RoCE 和 iWARP都是基于以太网的…...

c语言-操作符详解(含优先级与结合性)

文章目录 了解什么是操作数、操作符操作数&#xff1a;操作符 操作符详解&#xff1a;1.算术操作符&#xff1a; 、- 、* 、/ 、%2.移位操作符: << >>3.位操作符: & | ^4. 赋值操作符: 、 、 - 、 * 、 / 、% 、<< 、>> 、& 、| 、^5. 单⽬操…...

ubuntu安装nvm

需求 在 virtualbox 虚拟机上运行的 ubuntu &#xff08;22.04.3&#xff09;里安装 nvm &#xff08;Node Version Manager&#xff09; 简述 官网文档 &#xff08;github地址&#xff09;上有提到两种安装方式&#xff0c;一种是直接 curl | wget 命令安装&#xff0c;一…...

opengl制作天空盒

首先创建顶点数组 unsigned int m_uiVaoBufferID; glGenVertexArrays(1, &m_uiVaoBufferID); 然后创建顶点缓冲区 float skyboxVertices[] {// positions-1.0f, 1.0f, -1.0f,-1.0f, -1.0f, -1.0f,1.0f, -1.0f, -1.0f,1.0f, -1.0f, -1.0f,1.0f, 1.0f, -1.0f,-1.0f, 1.…...

单片机和FreeRTOS上跑机器人ROS的应用

机器人的应用越来越广泛了&#xff0c;大家熟知的稚晖君直接创业搞机器人&#xff0c;可想而至&#xff0c;接下来的十年&#xff0c;机器人绝对是热门的行业。 目前市面上很多机器人都是基于一套叫做ROS的系统开发的&#xff0c;今天就给大家分享一个跑在MCU上&#xff0c;基…...

Spring Cloud学习(十一)【深入Elasticsearch 分布式搜索引擎03】

文章目录 数据聚合聚合的种类DSL实现聚合RestAPI实现聚合 自动补全拼音分词器自定义分词器自动补全查询completion suggester查询RestAPI实现自动补全 数据同步数据同步思路分析实现elasticsearch与数据库数据同步 集群搭建ES集群创建es集群集群状态监控创建索引库1&#xff09…...

【gitlab初始密码登录失败】

gitlab初始密码登录失败 修改密码 修改密码 [rootlocalhost ~]# gitlab-rake "gitlab:password:reset[root]" Enter password: Confirm password: Password successfully updated for user with username root. # 再重新配置gitlab [rootlocalhost ~]# gitlab-ctl…...

2017年全国硕士研究生入学统一考试管理类专业学位联考数学试题——解析版

文章目录 2017 级考研管理类联考数学真题解析一、问题求解&#xff08;本大题共 5 小题&#xff0c;每小题 3 分&#xff0c;共 45 分&#xff09;下列每题给出 5 个选项中&#xff0c;只有一个是符合要求的&#xff0c;请在答题卡上将所选择的字母涂黑。真题&#xff08;2017-…...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作&#xff0c;无需更改相机配置。但是&#xff0c;一…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...