跳到正文ChatGPT 说 · Jimmy Huang's BlogChatGPT 说
本页目录· 75 条
这一页有部分内容暂时无法显示,其余内容完整。
0. 本周一句话总结
Data Validation(数据验证)就是在数据被用于分析、决策或报告之前,检查它是否符合预先定义的规则、标准和业务逻辑。
可以用一个非常简单的三层逻辑理解:
最重要的判断口诀:
Structural = 结构/格式/schema 是否能被系统接收
此处有一段内容暂不支持显示。
1. Data Wrangling 流程中的位置
本周内容属于 Data Wrangling 中的 Data Validation。课件前几页先回顾了上一周的内容:
Data Integration:把不同来源的数据合并起来,形成统一视图。
Data Enrichment:给现有数据补充外部信息或上下文,让数据更有价值。
Data Validation:检查数据是否满足质量、结构、内容和逻辑要求。
可以这样理解:
Integration / Enrichment 让数据“更多、更完整”;
此处有一段内容暂不支持显示。
1.1 Data Enrichment 的步骤回顾
课件回顾了数据增强的一般步骤:
Define Objectives:先明确缺什么信息、为什么要补充。
Select Data Sources:选择可靠、准确、相关的外部数据源。
Integrate Data:把外部数据和现有数据合并,可能涉及 ETL。
Ensure Data Quality:验证增强后的数据是否准确、完整、及时。
Continuous Updating:定期更新数据,保持相关性。
Quiz 可能不会重点考这个,但要知道它和 Data Validation 的关系:
数据增强之后,也必须做质量检查;否则外部数据可能把新的错误带入原数据集。
1.2 Data Integration 的两个类别
课件中提到 Integration Process 可以分成两类:
2. Data Validation 是什么
2.1 定义
Data Validation 是数据管理和数据分析中的关键过程,用来确保数据在用于决策、分析或报告之前具备:
Accuracy:准确性
Completeness:完整性
Reliability:可靠性
检查并确认数据是否符合某个特定用途下设定的规则、标准和条件。
2.2 为什么需要 Data Validation
2.3 容易混淆:Validation 和 Cleaning 的区别
两者经常一起出现,但考试中如果问 check / verify / ensure data meets rules,通常是在说 validation。
3. 三种 Data Validation 总览
Structural Validation
Content Validation
Logical Validation
3.1 三者最核心区别
3.2 最简单判断法
这是不是在检查字段类型、格式、表结构、文件类型?是的话,优先考虑 Structural Validation。
这是不是在检查具体的值是否合理、合法、唯一、在范围内?是的话,优先考虑 Content Validation。
这是不是在检查多个字段/记录之间是否符合业务逻辑?是的话,优先考虑 Logical Validation。
4. Structural Validation 结构验证
4.1 定义
Structural Validation 检查数据是否符合指定的数据结构,包括:
数据格式
数据类型
数据大小
存储结构或 schema
字段是否存在
文件类型或文件大小
确保数据组织方式和格式正确,这样系统才能自动处理,也方便后续数据整合。
4.2 通俗理解
Structural Validation 关心的是:
4.3 Structural Validation 的主要任务
4.3.1 Data Type Checks 数据类型检查
日期字段出现 not available。
金额字段出现文本。
数字字段混入字母。
4.3.2 Format Checks 格式检查
注意:课件里 Format Checks 被放在 Structural Validation 中,因为它强调的是字段格式是否符合结构要求。
4.3.3 Data Integrity Checks 数据完整性/关系检查
检查字段之间的关系是否保持正确,尤其是在关系型数据库中。
一个订单表里有 Customer_ID = 999,但客户表中没有这个客户。
4.3.4 Required Fields 必填字段检查
Customer_ID 不能为空。
Product_ID 不能为空。
Date_of_Purchase 不能为空。
4.3.5 File Size and Type Validation 文件大小和类型验证
文件不能超过规定大小。
文件类型必须是 CSV、JSON 或 XML。
不允许上传错误类型的文件。
这个常见于 data ingestion 数据导入阶段。
4.3.6 Array and List Validations 数组/列表验证
4.4 Structural Validation 的工具
4.5 Structural Validation 的挑战
4.6 Structural Validation 的影响
Data Quality Assurance:防止结构错误的数据进入分析流程。
Operational Efficiency:自动发现早期问题,减少人工修正。
Enhanced Data Integration:结构统一后,更容易合并和转换数据。
4.7 Structural Validation 例子理解
从 Structural Validation 角度看:
注意:Order_Amount = -75.00 更像是 Content Validation 的范围问题,因为它是数字类型,结构上可能没错,但内容不合理。
5. Content Validation 内容验证
5.1 定义
Content Validation 检查数据内容本身是否准确、相关、有质量。
具体数据值是否正确
是否符合预先定义的规则
是否适合当前用途
是否语义上准确
5.2 通俗理解
年龄是数字,但 5 不合理。
金额是数字,但订单金额为负数可能不合理。
国家字段是字符串,但必须来自标准国家列表。
邮箱字段是字符串,但必须符合邮箱模式。
5.3 Content Validation 的主要任务
5.3.1 Range Checks 范围检查
年龄不能是负数。
年龄不能高到不现实。
订单金额通常不能是负数。
每日工作小时数不能超过合理上限。
关键词:acceptable range / expected range / negative number / unrealistically high
5.3.2 Uniqueness Checks 唯一性检查
User ID 不应该重复。
Email address 不应该重复。
Transaction ID 不应该重复。
课件例子里 Customer_ID = 126 出现两次,是否是错误要看业务规则:
所以 uniqueness 一定要结合字段含义和业务规则。
5.3.3 Referential Integrity 引用完整性
如果外键指向不存在的主键,就是 referential integrity 问题。
5.3.4 List and Set Validation 列表/集合合法性检查
国家名必须来自标准国家列表。
州代码必须是有效州代码。
性别、部门、类别字段必须来自允许选项。
关键词:valid options / predetermined set / standardized list
5.3.5 Pattern Matching 模式匹配
使用正则表达式或其他模式匹配技术检查数据是否符合模式。
邮箱是否符合邮箱格式。
电话号码是否符合固定格式。
邮编是否符合固定格式。
注意:这里容易和 Structural Validation 的 Format Checks 混淆。可以这样记:
考试时如果选项明确写的是 Pattern Matching,通常属于 Content Validation。
5.3.6 Cross-Field Validation 跨字段验证
Delivery Date 必须晚于 Order Date。
End Date 必须晚于 Start Date。
Discount Amount 不能大于 Original Price。
关键词:multiple fields / consistency / delivery date later than order date
5.4 Content Validation 的工具
5.5 Content Validation 的挑战
5.6 Content Validation 的影响
Maintaining Data Integrity:让系统中的数据更可靠。
Preventing Errors:避免错误数据进入业务操作、分析或客户交互。
Enhancing User Trust:数据可靠,用户和利益相关者更信任系统。
5.7 Content Validation 例子理解
6. Logical Validation 逻辑验证
6.1 定义
Logical Validation 是更高级的数据验证,重点是检查数据是否符合业务规则和业务逻辑。
数据之间的关系是否合理
数据在业务上下文中是否正确
多个字段或记录组合起来是否说得通
6.2 通俗理解
结构上没问题;
内容值看起来也合法;
但业务逻辑上不合理。
6.3 Logical Validation 的主要任务
6.3.1 Consistency Checks 一致性检查
病人的治疗方案应与诊断结果匹配。
订单状态和付款状态应一致。
学生课程成绩和最终等级应一致。
关键词:consistent according to business rules
6.3.2 Sequential Validation 顺序验证
发货日期必须晚于下单日期。
支付日期不能早于订单创建日期。
课程完成日期不能早于注册日期。
关键词:sequence / workflow / follows / after / before
6.3.3 Dependency Checks 依赖关系检查
经理必须比被管理的员工职位更高。
某些字段只有在另一个字段满足条件时才应该出现。
某个产品类别必须匹配特定供应商类型。
关键词:relationship / dependency / maintained
6.3.4 Calculative Validation 计算验证
关键词:computed fields / correctly derived / calculation
6.3.5 Conditional Validation 条件验证
只有购买金额超过某个门槛时才能使用折扣。
只有 VIP 用户才能获得特定优惠。
只有国际订单才需要填写海关信息。
关键词:only if / under specific conditions / criteria
6.4 Logical Validation 例子理解:员工工时表
Employee_ID 是 ID;
Date 是日期;
Hours_Worked 是数字;
Hourly_Rate 是数字;
Department 是文本。
Logical Validation 不能只看数据类型,要看业务规则。
7. 三种验证最容易混淆的地方
7.1 Format Checks vs Pattern Matching
7.2 Data Integrity Checks vs Referential Integrity
课件中这两个概念都有关系型数据库背景,所以会重叠。选择题要抓关键词。
7.3 Cross-Field Validation vs Logical Validation
8. Error Handling 错误处理
8.1 定义
Error Handling 是管理和解决数据录入、处理或分析过程中出现错误的策略。
8.2 通俗理解
是拒绝这条记录?
是自动修复?
是人工审核?
是记录日志?
是通知用户重新输入?
是修改源系统,避免以后再出现?
8.3 Error Handling 的一般流程
8.4 Error Handling Strategies 错误处理策略
8.5 Error Handling 常见选择题判断点
9. 选择题高频关键词识别表
10. 一张总表背完整周内容
11. 用一个例子串起来理解三类验证
11.1 Structural 角度
11.2 Content 角度
Order_Amount = -75.00 一般不合理,属于 range check。
adam_1@wrongformat 不符合邮箱模式,属于 pattern matching。
Product_ID = P003 需要检查产品表里是否存在,属于 referential integrity。
11.3 Logical 角度
同一个数据问题可能从不同角度解释,考试时要看题目问的是结构、内容,还是业务逻辑。
12. Quiz 复习重点排序
第一优先级:三类验证的区别
Structural Validation
Content Validation
Logical Validation
Structural = schema / type / format / required field
Content = actual value / range / uniqueness / valid list
Logical = business rule / context / sequence / dependency / calculation / condition
第二优先级:每类验证的任务
Structural
Content
Range Checks
Uniqueness Checks
Referential Integrity
List and Set Validation
Pattern Matching
Cross-Field Validation
Logical
Consistency Checks
Sequential Validation
Dependency Checks
Calculative Validation
Conditional Validation
第三优先级:Error Handling 流程和策略
Error handling 不只是修错,还包括预防。
错误处理流程是从 prevention 到 detection、reporting、assessment、response、resolution,再到 preventive measures 和 review。
好的错误处理要考虑清晰报告、优先级、一致性、用户体验、根因分析、安全和合规。
第四优先级:工具、挑战、影响
DBMS、ETL、Pandas、Pydantic、自定义脚本都可以用于验证。
大数据量、schema 变化、多来源数据会让验证变难。
验证可以提升数据质量、减少错误、提高信任和决策可靠性。
13. 最后 1 分钟速记版
Data Validation 是为了在数据用于分析和决策前,确保数据准确、完整、可靠。
Structural Validation:检查数据结构是否正确。关键词是 schema、data type、format、required field、file type。
Content Validation:检查实际数据值是否合理。关键词是 range、uniqueness、referential integrity、valid list、pattern matching、cross-field validation。
Logical Validation:检查数据是否符合业务逻辑。关键词是 business rules、sequence、dependency、calculation、condition。
Error Handling 是发现错误后的管理和解决过程,不只是修复,还包括预防、检测、报告、评估、响应、解决、改进和复盘。
14. 对应课件页码索引
Customer_ID = 125
Date_of_Purchase = 2023-08-16
Order_Amount = -75.00
Product_ID = P003
Customer_Email = adam_1@wrongformat