数据工程中的数据质量的维度
2024/10/15 21:03:34
本文主要是介绍数据工程中的数据质量的维度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
这是我自己的热辣-疯狂谱 🥲
你去过4D电影吗?他们从来不说清楚第4个D到底是什么,🤔
我来解释一下吧
我们知道3D,也就是X、Y和Z轴。第4个D也就是“Depression” ✨✨
这就是去看那种4D电影的感觉 😑(我只看4D电影的 🙈)
现在我们来谈谈数据工程中的 D,😉
数据质量包含了六个方面:
✅ 数据值应在不同数据集之间保持一致,不应存在冲突。
✅ 准确性方面 — 数据中最好完全没有错误
✅ 有效性: 数据应该符合一定的格式要求,同时需要可靠
✅ 数据完整性 — 确保数据完整,不应有任何缺失
✅ 时效性 — 数据需要是最新的
✅ 不应该有重复,确保唯一性
我以一种有点俗气地方式记得它们。
C.A.C.T.U.V 🌵 酷!
进入分析平台的数据可能不符合所有的六个维度要求。
虽然数据在勋章架构中流动,它应该被清洗和转换,以便更好地提高其质量。
当数据传递到数据消费者手中时,它应该满足每个维度的要求。
咱们探索每一个维度就像你五岁一样 🤐
想象你有一盒蜡笔。数据质量的各个方面就像是用来判断你的蜡笔是否好用的不同方法。
如果你有两盒蜡笔的话,它们的颜色是不是一样的?如果两盒上都写着“绿色”,它们看起来是不是一样的绿色?
当我们讨论数据质量时,一致性有两个主要方面:
- 数据消费者使用的数据值不会产生冲突。例如,当分析师从_table_a_或数据科学家从_table_b_查询时,值‘客户名称’将返回相同的结果。
- 正确的数据会返回给用户,无论相关表格是否受到并发读写操作的影响。
这两个方面能保证用户总能拿到正确的事实。
在勋章架构体系中,当数据从青铜级移动到白银级,再提升到黄金级时,将进一步被验证并完善。
注: 银层是大多数转换和数据质量检查在这里进行的地方
保持一致能将普通变成卓越😊
小孩版本:蜡笔的颜色真的是标签上说的那样吗?比如说标签上写的是“蓝色”,它看起来是不是蓝色的?
数据被认为是准确的,如果它正确地反映了关于业务的事实信息。数据与记录的事物/事件有多接近是数据准确性的关键。
你可能误解了某一列的含义,这可能不对。当这种情况发生时,数据转换可能会出问题,因为误解了这一列的意思。
这可能是最常见的数据质量检查。在整个数据流程中,数据重复出现可能在任何环节发生。
我使用的一个技巧是在每次聚合之后删除重复。这确保没有重复的键,同时也避免了聚合值错误。
你的数据可能不一致的原因有很多,比如格式不一致或多个表中有相同的数据内容。
如果这些情况一出现,我们的数据就会失去意义,因为我们现在不知道该相信哪些数据了。
要让您的数据准确,您可以:
- 检查输入的数据。
- 使用验证工具检查数据的一致性和准确性,确保数据准确。
- 定期更新数据,反映最新信息。
- 采用多种来源交叉验证数据的可靠性。
- 确保数据来源可靠。
- 删除空行或空字段
- 定义格式模板
- 删除重复项
- 检查来源并确认其有效性
儿童版:你的蜡笔都放对了吗?绿色的蜡笔是不是放在了正确的标签下呢?
问问自己:企业能不能依赖你的数据来做决定呢?
例如,输入的数据可能在本应只包含布尔值的列中有一个 INT 值。或者,它可能包含了一个目标模式中的列名,该列名在目标模式中不存在。
在两种情况下,模式验证都会阻止数据写入目标表格。
源数据可能不断变化,因此需要频繁调整目标表的结构,以避免加载数据时因模式强制而被阻止。
数据处理人员可以利用Schema Evolution这项功能来应对这些情况,而无需修改任何转换代码。
这可能通过邮件链来通知模式的变更。这意味着在数据加载前,你能有机会明确地更新模式。
小孩版本:你有没有你需要的所有蜡笔吗?如果你想给彩虹涂色,你有红色、黄色和绿色吗?还是少了些颜色?
一旦数据进入你的分析平台,
问自己:你快乐吗? 😄
问问自己:这些列数据是否完整?
意思是说,你希望在报告中包含“_firstname”和“_lastname”。这意味着你的数据中必须包含这两个字段的列。另一个例子是,如果你想计算百分比,但是分母缺失或存在 NULL 值。
这些情况使得所需的分析难以进行。
你的蜡笔还行吗?如果你想今天用,有没有断掉,还能用呢?
及时性意味着数据应该是最新的。 ⏱️
通常,源系统中数据变更的时间点与数据团队接收到变更的时间应尽量缩短,并确保符合业务时间要求。
按时到达有帮助,就连Data这样的人都知道。但你呢? 🙄
孩子的版本:你有完全相同的蜡笔吗?如果你有三支紫色蜡笔,那可能就不太特别了!
你有没有在联结之后遇到过计数或求和的问题?我敢肯定,大约有90%的可能性是因为联结之前的那个数据集中有重复项。因为这些重复的行,导致计数或求和结果不对!😶
数据中的重复可能会导致误导性的洞察,特别是在使用聚合时包含重复记录。
要使您的数据集独特,你可以用到的一些技术如下:
- 合并(插入或更新操作)
- distinct() — 这个大家都熟悉
- dropDuplicates — 适合pyspark用户
- 排名窗口 — 排名为1的行
所以,就像你想让你的蜡笔用来画画才好一样,数据也需要很好才行,才能更好地帮助我们理解东西!
而在从事数据工程时,需要遵循的数据质量标准 🙃
如果你喜欢这篇博客,可以点赞👏让更多数据工程师们看到。
谢谢你的阅读! 😁
感谢支持!
这篇关于数据工程中的数据质量的维度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23Fluss 写入数据湖实战
- 2024-12-22揭秘 Fluss:下一代流存储,带你走在实时分析的前沿(一)
- 2024-12-20DevOps与平台工程的区别和联系
- 2024-12-20从信息孤岛到数字孪生:一本面向企业的数字化转型实用指南
- 2024-12-20手把手教你轻松部署网站
- 2024-12-20服务器购买课程:新手入门全攻略
- 2024-12-20动态路由表学习:新手必读指南
- 2024-12-20服务器购买学习:新手指南与实操教程
- 2024-12-20动态路由表教程:新手入门指南
- 2024-12-20服务器购买教程:新手必读指南