读数据质量管理:数据可靠性与数据质量问题解决之道11根因分析

数据质量问题根源剖析 阅读详情

1. 解决大规模数据质量问题

1.1. 为关键的数据管道制定一个事件管理计划

1.2. 使用异常检测作为大规模事件检测方案的一部分

1.3. 在事件发生时,进行全面的根因分析与影响分析

1.4. 通过测试、持续集成/持续部署、数据可观测性与更多的数据来积极主动地应对数据质量问题

1.5. 暂停数据管道、找到问题根源都只是恢复数据可靠性并继续信任数据的冰山一角

2. 在软件研发过程中解决数据质量问题

2.1. 无论是单独的数据管道系统,还是大型的数据系统,此类“数据宕机”问题的解决方案都已经存在

2.2. DevOps生命周期

  • 2.2.1. 计划

    • 2.2.1.1. 研发团队与产品和商业团队协作,从而了解软件的目标与SLA
  • 2.2.2. 编码

    • 2.2.2.1. 编写软件的代码
  • 2.2.3. 构建

    • 2.2.3.1. 将软件发布到一个测试环境中
  • 2.2.4. 测试

    • 2.2.4.1. 对软件进行测试
  • 2.2.5. 发布

    • 2.2.5.1. 将软件发布为产品
  • 2.2.6. 部署

    • 2.2.6.1. 将软件与现有应用程序共同集成和部署
  • 2.2.7. 运维

    • 2.2.7.1. 运行该软件,并根据需要进行调整
  • 2.2.8. 监控

    • 2.2.8.1. 监控软件的运行状况,并对问题发出警报
  • 2.2.9. 不断循环往复的

2.3. DevOps生命周期的循环反馈流程

  • 2.3.1. 帮助团队可靠地实现大规模交付与业务目标相一致的功能

  • 2.3.2. 我们往往倾向于被动地处理数据质量问题,因此在数据分析方面还没有以有意义且可扩展的方式来推动应用这套反馈流程

2.4. 有效的事件管理是在软件故障发生时减少混乱、尽快恢复正常业务运行的关键

  • 2.4.1. 如果你没有提前计划好应对潜在事件的措施,那么在面对复杂的真实问题时,套路化的事件解决方案可能根本不管用

2.5. 事件管理就是要对可能出现在日常工程流程中的问题进行鉴别、溯源、解决、分析和预防

3. 数据事件管理

3.1. 当数据系统越来越多地采用分布式架构,且企业摄取的数据规模越来越庞大时,出现错误(和事件)的概率也必然增加

3.2. 数据可靠性生命周期

  • 3.2.1. 通过将数据可靠性生命周期应用于数据管道,数据工程师团队可以把检测、解决甚至提前预防数据质量问题的步骤更加无缝地衔接起来,从而确保数据质量问题不会影响到业务运营

3.3. 关键步骤

  • 3.3.1. 事件检测

  • 3.3.2. 响应

  • 3.3.3. 根因分析

  • 3.3.4. 解决

  • 3.3.5. (不做指责的)复盘

4. 事件检测

4.1. 将事件检测和数据工程与分析的工作流程结合起来,从而确保当故障发生时,数据的拥有者与终端用户都能通过合适的沟通渠道得到通知

4.2. 在数据进入生产环境之前就进行测试

4.3. 当数据管道被损坏或者数据仪表板崩溃时,你首先要做的就是进行事件检测

4.4. 事件可以通过数据监控与警报被检测到,这一过程可以手动实现,也可以通过设定阈值来自动实现

4.5. 事件检测也可以作为异常检测或者数据可观测性解决方案的一部分,并根据历史数据模式和定制化规则定期自动触发

4.6. 事件检测的一个重要部分就是异常检测

  • 4.6.1. 高质量的异常检测系统应当能够借助算法的微调来提高信噪比并降低假阳性率,并且在精确率和召回率之间达到平衡

4.7. 数据团队总是倾向于认为仅凭异常检测就足以“解决”事件管理方面的问题

  • 4.7.1. 事件管理问题从来不会被真正“解决”

  • 4.7.2. 仅仅依靠异常检测是一个单点故障

  • 4.7.3. 事件检测应当是一个多层面的过程,不仅包含检测事件,还包括对事件的响应、解决和预防,并且要不断迭代和重复这些步骤

4.8. 异常检测是一种工具,而不是灵丹妙药

  • 4.8.1. 一个希望实现自动化运营的数据团队,假如仅依赖异常检测,而不借助测试、版本管理、可观测性、沿袭等其他的技术工具,那么等待着团队的最好情况就是层出不穷的问题,而最差情况则是挫败感和漫长的数据宕机恢复时间

  • 4.8.2. 不要仅仅依靠异常检测本身来解决数据质量问题,因为“检测到”有一个故障,并不意味着故障就能被立刻“解决”​

  • 4.8.3. 仅凭异常检测无法真正构建出可信任、可依靠、透明度高的数据系统,从而满足洞察力驱动型企业的需求

4.9. 当异常检测被端到端(例如跨数据仓库、数据湖、ETL和商业智能工具)实现,而并非仅仅在数据平台的其中一两层实现时,它对业务来说是极具价值的

5. 响应

5.1. 良好的事件响应机制的核心在于有效沟通,好在响应机制的大部分工作可以通过PagerDuty或者Slack等交流工具提前准备并自动完成

5.2. 据团队应当提前为标准的数据事件响应流程编写执行脚本(runbook)和自动化运营手册(playbook)

  • 5.2.1. 执行脚本为你提供了关于如何使用不同服务及其遇到的常见问题的说明

    • 5.2.1.1. 要把故障发生时的角色提前分配好
  • 5.2.2. 自动化运营手册则会提供处理事件的分步流程

5.3. 除了“事件响应人”外,通常还会有一名“事件指挥官”来负责分配工作、整合信息,而事件响应人和其他利益相关方则会一起解决问题

5.4. 在具体的业务情况中,元数据可以作为一种强大的工具来有效判断哪些团队会受到某一数据宕机事件的影响

6. 根因分析

6.1. 根因分析(Root Cause Aanlysis,RCA)

6.2. 数据事件可能悄无声息地出现在整个数据管道中,并影响数十甚至上百张数据表

6.3. 低数据质量的一个常见原因是新鲜度问题

  • 6.3.1. 数据的版本异常老旧

  • 6.3.2. 背后的原因多种多样

    • 6.3.2.1. 某个程序的作业卡在了计算队列里

    • 6.3.2.2. 计算系统超时

    • 6.3.2.3. 某个合作伙伴没有及时上传数据

    • 6.3.2.4. 软件错误

    • 6.3.2.5. 意外的日程安排变更导致你的程序作业从有向无环图(D A G)里被移除

6.4. 大多数数据问题的根源

  • 6.4.1. 进入程序作业、数据管道或系统的数据发生某种意外的变更

  • 6.4.2. 转换数据的逻辑(ETL、SQL、Spark作业等)发生了变更

  • 6.4.3. 某种事务型故障

    • 6.4.3.1. 计算超时错误

    • 6.4.3.2. 授权问题

    • 6.4.3.3. 数据基础设施故障

    • 6.4.3.4. 日程变更

  • 6.4.4. 快速诊断故障原因需要的不仅仅是合适的工具,更需要对这三类问题为什么以及是如何发生的有全局认知

6.5. 事件的发生往往不是由于单一因素,反而经常是多种因素的共同作用

  • 6.5.1. 要把这些多因素综合的故障当作可贵的学习机会,用于流程优化和技术微调

  • 6.5.2. 在软件(和数据)系统变得越来越复杂的今天,精确诊断某次故障或事件的单一确切原因或根源正变得越发艰

  • 6.5.3. 系统崩溃的原因很少是唯一的

6.6. Amazon的五步法框架

  • 6.6.1. 发现问题

  • 6.6.2. 思考这个问题为什么会发生,并记录其原因

  • 6.6.3. 判别该原因是不是问题的根源

    • 6.6.3.1. 该原因能否被预防?

    • 6.6.3.2. 该原因能否在其发生前提前被检测出来?

    • 6.6.3.3. 如果该原因是人为失误,那么为什么会发生这样的情况?

  • 6.6.4. 继续重复这些步骤,把上面的“原因”迭代成“问题”

  • 6.6.5. 当你确信已经找到问题的根源时,就可以停止了

6.7. 随着数据工程师努力减少手动作业量,他们研发出很多智能流程、测试方法、数据新鲜度检查方法以及其他解决方案用以诊断数据事件,避免它们传播到下游

6.8. 对数据管道进行根因分析的五个步骤

  • 6.8.1. 查看数据沿袭

    • 6.8.1.1. 追溯到系统中出现问题的最上游节点,而那里就是故障最开始发生的地方,你也要去那里寻找答案

    • 6.8.1.2. 最上游节点的数据仪表板就可以提供所有的答案,帮你迅速诊断出问题的根源

    • 6.8.1.3. 要确保参与数据事件解决的所有人(数据工程师、数据分析师、分析工程师、数据科学家等)都能获取最新版本的数据沿袭

    • 6.8.1.4. 数据沿袭应当包含商业智能报告、机器学习模型、反向ETL池等数据产品

    • 6.8.1.5. 自动化字段级别的沿袭常常是数据工程团队的高回报投资选项,因为它能帮助我们简单快速地了解哪些数据资源是损坏的,以及这些损坏的部分是如何影响下游的数据产品和数据仪表板的

  • 6.8.2. 查看代码

  • 6.8.3. 查看数据

    • 6.8.3.1. 查看有异常字段的数据表中的其他字段或许能为你判断数据异常的根源提供线索,这种方法一般比较有用

    • 6.8.3.2. 要确保所有参与解决数据故障的人员都能方便地对数据进行切割和分块,这样才能便捷地分析数据事故与不同的数据段、时间段以及其他数据分段的相关性

  • 6.8.4. 查看运行环境

    • 6.8.4.1. 许多数据事故的直接诱因是运行ETL/ELT数据转换工作的运行环境

    • 6.8.4.2. dbt是处理这些程序运行问题的一个有效的开源工具

  • 6.8.5. 借助你同伴的帮助

    • 6.8.5.1. 你的团队伙伴可以提供有价值的知识或见解,帮你诊断数据中的问题

    • 6.8.5.2. 要确保所有参与解决数据故障的人员都能获取关于数据所有权和使用情况的元数据,这样他们就能知道出了问题可以去向谁提问

    • 6.8.5.3. 保留一份数据事件的历史记录,并记载相关的文档,这也很有帮助

  • 6.8.6. 可以把根因分析从令人焦虑的深夜紧急电话转变成在整个组织中规模化可持续的通用标准流程

6.9. 根因分析在(接近)实时地解决甚至预防数据质量问题上是一个强有力的工具,但是要记得,数据管道的崩溃常常不是某个单一问题导致的

YOLOv11 改进入门篇 | 轻量级涨点技巧:GhostConv 替代普通卷积的实战指南 摘要: 本文介绍如何通过GhostConv改进YOLOv11,实现轻量化涨点。YOLOv11深度增加导致参数量、延迟和内存占用上升,GhostConv通过“本征特征+线性变换”策略,在精度几乎无损的情况下降低30%-50%计算量。文章详细解析GhostConv原理,对比普通卷积的参数量和FLOPs优势,并提供完整的代码级改造流程,包括模块实现、注册及网络配置。实验表明,该方法有效提升边缘端推理效率,适用于移动端等资源受限场景。 阅读详情

相关推荐

NA400与昆仑通态MODBUS/TCP通讯调试说明

点击增加设备通道,弹出窗口进行设置,通道类型选择“0区输出继电器”,通道地址为1,通道个数为1,读写方式为读写。点击增加设备通道,弹出窗口进行设置,通道类型选择“4区输出寄存器”,数据类型选择“16位 无符号二进制”,通道地址为21001,通道个数为1,读写方式为读写。5.添加设备通道:双击莫迪康MODBUSTCP子设备,点击添加设备通道,根据Modbus规约地址表进行参数的设置,表格可在NAPro软件帮助中查看,如下图所示。然后可以在设备通道调试数据中观察到Q1的值为1,NW1的值678,表示通讯成功。

weixin_44281509的博客 2491

如何提高数据质量?数据常见问题以及根因分析

在数据平台建设过程中,经常遇到需求难以管控,数据准确性不高等各种问题,今天将我们建立中台过程中遇到的数据问题以及通过什么方法去解决的做个总结数据开发没有可视化的开发平台,导致数据同步流程数据任务没有很好地进行管理,任务的调度,资源分配,稽查以及报警机制数据模型很少有合理化的进行建模设计,更多是为了实现需求尔设计表结构,每层表存储数据利用率不高数据开发效率低,数据报表交付慢。

b379685397的博客 2766

用matlab编程求矩阵的极大无关组,向量组极大无关组表示问题

已知向量组T:Eqn11.gif (3.16 KB, 下载次数: 1)2013-10-21 19:19 上传.(1) 求向量组T的秩,并判断向量组T的相关性;(2) 求T的极大线性无关组;(3) 将其余的向量用所求的极大线性无关组线性表示。程序:>> A=[1 1 3 2;-1 1 -1 3;5-2 8 9;-1 3 1 7]>> r=rank(A)>> A1=...

weixin_35094083的博客 7389

数据治理系列5:浅谈数据质量管理

目录一、数据质量问题盘点二、数据质量问题根因分析三、数据质量管理的方法论四、总结 题外话:看过之前的文章的小伙伴不难发现,文章开篇几乎都是定义、概念,这已成了笔者写文章的一个习惯。本着对专业知识和技术的敬畏以及对文章主题的聚焦,笔者认为文章的开篇是非常有必要先把概念或定义交待清楚的。 另外,写公号、写博客目的是对自己临散的知识有一个系统化的总结,并希望与业内的各路大神沟通交流,从而在总结和交流中提升自己。所以,欢迎您的点赞和拍砖! “数据质量管理是对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的

weixin_43597208的博客 703

图形化界面无限转圈?CentOS 7的SELinux避坑指南(附命令行修复实录)

本文详细解析了CentOS 7图形界面启动时无限转圈或卡在'starting switch root'的故障原因,主要与SELinux安全策略冲突有关。提供了三种修复方案:临时禁用SELinux、重装策略包和精细调整策略,并分享了长期维护建议,帮助用户平衡系统安全性与可用性。

potato的博客 799

利用netns做自环Iperf测试

netns可以让一台机器上模拟多个网络设备,是网络虚拟化的重要组成,将不同类型的网络应用隔离。一个net namespace有自己独立的路由表,iptables策略,设备管理。本文利用netns模拟网络来实现单机上网卡自环上的iperf测试或其他网络测试。

weixin_42414349的博客 3371

【数据中台】数据质量原因分析

在进行数据统计时,经常会对数据的准确性产生质疑,如果出现较为明显的偏差,就很容易发现数据是不对的。但如果数据只有小幅度的偏差,就很难感受到,造成数据质量的原因有几种,下面分别说明: 1. 网络异常 网络异常是导致数据质量的直接原因之一。举几个栗子, 比如我们在使用APP时,可能因为网络异常,导致用户的操作行为并没有被及时发送到统计服务器端; 或者这些服务是SaaS服务,在一些网络的高峰期,此时有大批量的用户向服务提供商发送行为数据,这样就容易导致网络拥堵,就像春运期间在12306网站抢车票一样,容易导致某

孟知之的搬砖填坑历险记 911

LVGL仪表盘实战:5分钟用lv_meter打造汽车仪表UI(附完整代码)

本文详细介绍了如何使用LVGL的lv_meter组件在5分钟内构建专业汽车仪表盘UI。从环境配置、刻度定制到指针动画和性能优化,提供完整代码示例和实战技巧,帮助开发者快速实现嵌入式设备上的高效仪表盘设计。

k5l6m的博客 424

读数据质量管理:数据可靠性与数据质量问题解决之道20读后总结与感想兼导读

总结及感想和导读

lyingSeven的博客 1160

SAP PP未清生产订单关闭物料退料、新工单发料批量处理

( werks = '1001' lgort = 'A004' lgobe = '组装-成品组装' )( werks = '1002' lgort = 'C006' lgobe = '组装-二车间' )( werks = '1002' lgort = 'C007' lgobe = '组装-二车间' )( werks = '1001' lgort = 'A007' lgobe = '组装-MS' )( werks = '1001' lgort = 'A008' lgobe = '组装-GW' )

dingqing86的专栏 1192

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

m0_71589036的博客 89

读数据质量管理:数据可靠性与数据质量问题解决之道09数据可靠性

数据可靠性

lyingSeven的博客 1385

Apollo Planning2.0决策规划算法代码详细解析 (1):环境搭建

1、官方提供连接:git clone https://github.com/ApolloAuto/application-pnc.git。此外,也更新了dreamview对pnc的支持,使得调试更加方便。apollo开源团队近期更新了planning版本,对代码进行了一定程度上的重构。(2)进入docker,并编译整个工程:./apollo.sh build_dbg。下载项目环境后使用aem进行环境配置;2、有一定基础建议直接拉取最新代码,自己手动进行编译。(1)环境安装: ./dev_start.sh。

自动驾驶Player的博客 1841

读数据质量管理:数据可靠性与数据质量问题解决之道10数据平台

数据平台

lyingSeven的博客 1853

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

读数据质量管理:数据可靠性与数据质量问题解决之道01数据质量

数据质量

lyingSeven的博客 1072

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

读数据质量管理:数据可靠性与数据质量问题解决之道14普及数据质量

普及数据质量

lyingSeven的博客 1011

读数据质量管理:数据可靠性与数据质量问题解决之道13数据沿袭

数据沿袭

lyingSeven的博客 712

读数据质量管理:数据可靠性与数据质量问题解决之道15数据信任

数据信任

lyingSeven的博客 1233

读数据质量管理:数据可靠性与数据质量问题解决之道19数据未来

数据未来

lyingSeven的博客 838

读数据质量管理:数据可靠性与数据质量问题解决之道03数据目录

数据目录

lyingSeven的博客 1219

读数据质量管理:数据可靠性与数据质量问题解决之道06数据测试

数据测试

lyingSeven的博客 1152

读数据质量管理:数据可靠性与数据质量问题解决之道17数据网格

数据网格

lyingSeven的博客 1304

读数据质量管理:数据可靠性与数据质量问题解决之道05数据标准化

数据标准化

lyingSeven的博客 782

读数据质量管理:数据可靠性与数据质量问题解决之道16数据认证

数据认证

lyingSeven的博客 1194

读数据质量管理:数据可靠性与数据质量问题解决之道12应对与缓解

应对与缓解

lyingSeven的博客 1076

读数据质量管理:数据可靠性与数据质量问题解决之道18数据发现

数据发现

lyingSeven的博客 856
上一篇: 读数据质量管理:数据可靠性与数据质量问题解决之道10数据平台
下一篇: 读数据质量管理:数据可靠性与数据质量问题解决之道12应对与缓解
躺柒
博客等级 码龄4年 7004粉丝 1322原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值