(笔记)如何评价一个数仓的好坏
如何评价一个数仓的好坏
- 1数据质量
- 产生原因
- 评估方法
- 流程
- 2模型建设
- 产生问题原因
- 评估方法
- 流程
- 3数据安全
- 产生问题原因
- 评估方法
- 流程
- 4成本/性能
- 产生问题原因
- 评估方法
- 流程
- 5 用户用数体验
- 产生问题原因
- 评估方法
- 流程
- 6数据资产覆盖
- 产生问题原因
- 评估方法
- 流程
数仓评价好坏是对数仓全流程机制是否健全的评价,
从技术方面,数据仓库应该具有成本、质量、效率要求,安全方向方面的能力,
从业务方面,数据仓库应该支撑业务建设,覆盖尽可能多的业务场景,需要数据时能够及时取到,能满足业务数据化需求
1数据质量
产生原因
技术
缺少流程制定
数据模型设计存在问题
数据源本身存在问题
数据清洗加工疏忽
业务
业务理解不到位
业务流程变更
数据输入不规范
业务系统烟囱林立
管理
人才缺乏
流程管理不完善
奖惩机制不明确
评估方法
准确性:描述数据和客观实体特征是否一致-DQC
1是否基础DQC覆盖全链路:表不为空,主键(联合主键)唯一,字段不为空,表行数波动。
2核心表业务DQC是否配置:业务DQC: 文本类(字段不为空或空串,json中key不为空,字段是否脱敏),数值(数值在区间范围,字段不能为O),枚举值(枚举值类型是否正常,枚举值波动,枚举值占比),日期(字段不为空,日期小于当天)
3DQC历史趋势:历史触发情况,强弱DQC触发次数。
及时性:描述从业务数据能够被使用的及时程度
是否有基线/sla(核心与较核心业务)配置,
基线/sla破线次数,
未按时交付数据次数(被业务方发现投诉),
基线sla覆盖度,
是否具备快恢能力(当数据未产出时候,迅速定位还原)。
一致性:描述同一个信息主体在不同数据集中的数据是否相同
数据收口:核心指标沉淀到核心聚合模型,统一收口
指标中心建设:保障指标统一:指标录入、指标复用、指标展示、指标口径查询有处可循
流程完整性:
1数据质量长期跟踪监测体系:
收集问题(问题/缺陷上报平台,文档记录)
解决/防止复发问题(解决问题,对问题进行规则化制定,对问题长期监控,直到问题彻底解决)
2数据质量问题报告:数据问题趋势,数据问题分类,本期解决数,本期新增数,重点问题解决数,数据问题贡献榜
3流程制定:任务上线流程,指标变更/下线流程
流程
事前,预防
制定质量管理机制,开发/变更/上线流程
工具/代码监控
dqc全链路基础配置
核心数据稳定产出
培训值班内容/明确数据问题如何定位
事后,复盘完善
归因->解决方案->方法论、流程
完善dqc规则
问题上报监测
保障数据统一收口,指标统一口径维护标准
完善数据问题定位步骤
2模型建设
产生问题原因
技术:无数据标准制定,缺乏模型建设复用/扩展想法
业务:对业务流程,环节理解不够
管理:团队模型建设指导不足,无模型评审机制
评估方法
规范度:
是否制定命名规范
是否具有建设规范(模型5要素,模型分层具体操作内容)
是否有模型评审流程
主题域归属
完善度-元数据补充:
(owner清晰,表中文名+使用说明,每个模型的颗粒度,每个模型的主键(联合主键),字段解释)
**复用度:**模型被下游引用程度,是否是无效模型
**稳定性:**运行时长,是香数据倾斜,对产出的影响
**扩展性:**模型内容划分合理性(基础字段,指标),冗余低
**合理性:**新增模型与老模型是否出现冲突,分层情况(保障模型引用合理),跨层引用率,ods穿透率
流程
事前,预防:
制定模型开发规范((开发思路,模型合规),
制定数据标准(命名、内容、代码等),
培训指导模型建设开设模型评审会,
梳理业务流程
事后,复盘完善:完善数据标准,加强模型建设意识,模型评价打分
3数据安全
产生问题原因
技术:数据安全意识薄弱,未设立安全管控
业务:各部门/业务对数据安全权限把控度不同
管理:未做风险管理,离职回收,有共担记录
评估方法
角色权限是否划分
权限管控制定:(下载权限,数据使用权限申请,数据使用申请时卡点负责人/组,闲置的权限是否定期回收)
数据表是否分级
对外数据是否脱敏
可视化展示是否分级展示内容
流程
事前,预防:角色权限分级,数据表权限管控(表/字段),核心/对外数据脱敏,可视化展示内容把控,全数据表分级
事后,复盘完善:补充隐藏数据风险,制定跨bu/业务数据把控范围,定期对安全权限扫描
4成本/性能
产生问题原因
技术:运行时间过长运行报错,重复建设,数据倾斜,数据价值与资源消耗不匹配
管理:资源成本急剧上升,维护成本越来越大,数据之间的关系变得复杂,数据模型的复用性低,烟囱建设
评估方法
无用/无效表是否及时下线:无下游任务的表,无上游任务的表,x天未被访问的表
表生命周期是否合理
数据倾斜任务数
运行超过xxxxh任务数
是否存在空跑任务
小文件过多数据表
是否有数据成本的量化管理
流程
事前,预防:代码审核,检查代码是否需要优化,试用完对临时表,无用表及时下线,任务试验跑检查运行时间,前置小文件合并操作
事后,复盘完善:定期扫描无效表,定期下线空跑任务,数据治理前任务/表量化,定期扫描模型生命周期,每日/周推送top榜(消耗、资源存储top榜)
5 用户用数体验
产生问题原因
业务:找数难,用数难,查询难,自助分析难,无法统一内容
评估方法
数据服务:
是否具备资产门户方便下游找寻业务表,
是否整合one id/one service完成数据输出统一收口,
是否具备策略/指标平台,方便下游了解,保障口径统一,
是否具备标签/画像/指标分析工具,使得下游自助查询,解放数仓资源
流程
事前,了解: 了解下游对数据使用习惯,了解各业务方缺少那些应用缺陷
事后,完善数据服务内容: 补充数据平台建设
6数据资产覆盖
产生问题原因
业务:数据资产无法满足下游应用场景,指标分散
评估方法
数据资产支持:是否完善用户画像/用户360资产,各场景数据资产是否能全面支持,零散指标/标签是否有专题整合
流程
事前,了解: 前置完成用户画像等常用场景数据资产沉淀
事后,完善数据服务内容: 完善全业务场景数据资产补充,补充专项应用数据标签/指标模型
相关文章:
(笔记)如何评价一个数仓的好坏
如何评价一个数仓的好坏 1数据质量产生原因评估方法流程 2模型建设产生问题原因评估方法流程 3数据安全产生问题原因评估方法流程 4成本/性能产生问题原因评估方法流程 5 用户用数体验产生问题原因评估方法流程 6数据资产覆盖产生问题原因评估方法流程 数仓评价好坏是对数仓全流…...

友善RK3399v2平台利用rkmpp实现硬件编解码加速
测试VPU 编译mpp sudo apt update sudo apt install gcc g cmake make cd ~ git clone https://github.com/rockchip-linux/mpp.git cd mpp/build/linux/aarch64/ sed -i s/aarch64-linux-gnu-gcc/gcc/g ./arm.linux.cross.cmake sed -i s/aarch64-linux-gnu-g/g/g ./arm.lin…...

Mysql 8.0 主从复制及读写分离搭建记录
前言 搭建参考:搭建Mysql主从复制 为什么要做主从复制? 做数据的热备,作为后备数据库,主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失。架构的扩展。业务量越来越大,I/O访问频…...
PyTorch、显卡、CUDA 和 cuDNN 之间的关系
概述 PyTorch、显卡、CUDA 和 cuDNN 之间的关系及其工作原理可以这样理解: 显卡 (GPU) 显卡,特别是 NVIDIA 的 GPU,具有大量的并行处理单元,这些单元可以同时执行大量相似的操作,非常适合进行大规模矩阵运算&#x…...
Lambda 表达式练习
目录 sorted() 四种排序 List 转 Map map 映射 对象中 String 类型属性为空的字段赋值为 null BiConsumer,> T reduce(T identity, BinaryOperator accumulator) allMatch(Predicate p) groupingBy(Function f) flatMap(Function f) Optional.ofNullable(T t) 和 …...
JavaScript第七讲:数组,及练习题
目录 今天话不多说直接进入正题! 1. 创建数组对象 2. 数组长度 3. 遍历一个数组 4. 连接数组 5. 通过指定分隔符,返回一个数组的字符串表达 6. 分别在最后的位置插入数据和获取数据(获取后删除) 7. 分别在最开始的位置插入数据和获取数据(获取后删…...
从docker镜像反推Dockerfile
在项目运维的过程中,偶尔会遇到某个docker image打包时候的Dockerfile版本管理不善无法与image对应的问题,抑或需要分析某个三方docker image的构建过程,这时,就希望能够通过image反推构建时的instruction. 想实现这个过程可以使…...

车载软件架构 - AUTOSAR 的信息安全框架
车载软件架构 - AUTOSAR 的信息安全架构 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗…...
欧洲版“OpenAI”——Mistral 举办的 AI 大模型马拉松
近期,法国的 Mistral AI 举办了一场别开生面的 AI 大模型马拉松。要知道,Mistral 可是法国对 OpenAI 的有力回应,而且其技术还是完全开源的呢!这场在巴黎举行的黑客马拉松,规模空前盛大,竟然有超过 1000 名…...

Java | Leetcode Java题解之第128题最长连续序列
题目: 题解: class Solution {public int longestConsecutive(int[] nums) {Set<Integer> num_set new HashSet<Integer>();for (int num : nums) {num_set.add(num);}int longestStreak 0;for (int num : num_set) {if (!num_set.contai…...

C++的List
List的使用 构造 与vector的区别 与vector的区别在于不支持 [ ] 由于链表的物理结构不连续,所以只能用迭代器访问 vector可以排序,list不能排序(因为快排的底层需要随机迭代器,而链表是双向迭代器) (算法库里的排序不支持)(需要单独的排序) list存在vector不支持的功能 链…...

网易有道QAnything使用CPU模式和openAI接口安装部署
网易有道QAnything可以使用本地部署大模型(官网例子为qwen)也可以使用大模型接口(OPENAI或者其他大模型AI接口 )的方式,使用在线大模型API接口好处就是不需要太高的硬件配置。 本机环境windows11 首先安装WSL环境, 安装方法参考https://zhuan…...

量子加速超级计算简介
本文转载自:量子加速超级计算简介(2024年 3月 13日) By Mark Wolf https://developer.nvidia.cn/zh-cn/blog/an-introduction-to-quantum-accelerated-supercomputing/ 文章目录 一、概述二、量子计算机的构建块:QPU 和量子位三、量子计算硬件和算法四、…...
Unity3D 基于YooAssets的资源管理详解
前言 Unity3D 是一款非常流行的游戏开发引擎,它提供了丰富的功能和工具来帮助开发者快速创建高质量的游戏和应用程序。其中,资源管理是游戏开发中非常重要的一部分,它涉及到如何有效地加载、管理和释放游戏中的各种资源,如模型、…...
Linux 自动化升级Jar程序,指定Jar程序版本进行部署脚本
文章目录 一、环境准备二、脚本1. 自动化升级Jar程序2. 指定Jar程序版本进行部署总结一、环境准备 本文在 CentOS 7.9 环境演示,以springboot为例,打包后生成文件名加上版本号,如下打包之后为strategy-api-0.3.2.jar: pom.xml<?xml version="1.0" encoding=&…...
python练习五
Title1:请实现一个装饰器,每次调用函数时,将函数名字以及调用此函数的时间点写入文件中 代码: import time time time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # 获取当前的时间戳 # 定义一个有参装饰器来实…...

YOLOv1深入解析与实战:目标检测算法原理
参考: https://zhuanlan.zhihu.com/p/667046384 https://blog.csdn.net/weixin_41424926/article/details/105383064 https://arxiv.org/pdf/1506.02640 1. 算法介绍 学习目标检测算法,yolov1是必看内容,不同于生成模型,没有特别…...

Apache Calcite - 自定义标量函数
前言 上一篇文章中我们介绍了calcite中内置函数的使用。实际需求中会遇到一些场景标准内置函数无法满足需求,这时候就需要用到自定义函数。在 Apache Calcite 中添加自定义函数,以便在 SQL 查询中使用自定义的逻辑。这对于执行特定的数据处理或分析任务…...

STM32作业实现(四)光敏传感器
目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…...

HTML+CSS 文本动画卡片
效果演示 实现了一个图片叠加文本动画效果的卡片(Card)布局。当鼠标悬停在卡片上时,卡片上的图片会变为半透明,同时显示隐藏在图片上的文本内容,并且文本内容有一个从左到右的渐显动画效果,伴随着一个白色渐…...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...