DataOps:连接执行、质量和来源

内容摘要

DataOps组织数据交付与监测。运行成功不能证明内容正确或追溯完整。

存放文档和数字证据介质的无人档案室
本文目录

DataOps组织数据交付与监测。运行成功不能证明内容正确或追溯完整。

控制重试

定义重跑的预期结果,防止重复或部分结果。保存输入、时期、规则和版本以便复现;输入变化可能导致不同结果。也应定义受控恢复路径。

区分版本与血缘

版本描述状态与变化,血缘连接来源、转换和结果。按用途评估完整性、唯一性、一致性、时效性、有效性和准确性。格式有效的数据可能错误,准确的数据也可能过旧。

检查要点
项目需记录的检查
执行技术状态与预期结果
质量适合用途的内容核查
来源关联来源、转换和结果

来源与核查

时区与迟到事件

报告期间由事件时间和结算规则决定。

  • 分别记录事件时间、接收时间和业务时区。虚构例中,23:30 UTC在固定偏移UTC+02:00下是次日01:30。PostgreSQL带时区的时间戳不会保留原始时区名称。
  • 采用包含起点、不包含终点的区间。先在业务时区确定边界,再转换为UTC。测试夏令时切换、月末和没有时间的日期;本地一天不能总按24小时替代。
  • 规定允许的延迟和报表截止时间。重放同一标识,区分新事件与重复记录。保留已发布版本并记录修订影响;水位线是到达时间的估计,不是数据完整性的保证。

可复现的验收案例

虚构示例:数据不代表客户或实际观察结果。

查看案例输入
{
    "event_time": "2026-10-08T23:30:00Z",
    "report_zone": "UTC+02:00",
    "local_time": "2026-10-09T01:30:00+02:00"
}

预期判断

在指定时区中,该事件属于10月9日。也保留UTC时刻。

验证步骤

  1. 定义报告时区及参考时刻。
  2. 重现午夜附近的事件。
  3. 保留UTC、本地日期及截点规则。 加入时钟调整时存在歧义的本地时间,保留偏移量和时区,而不是推断具体时刻。

PostgreSQL — Date/time types

能把接收日期当作事件日期吗?

只有报表定义明确要求时才可以。保存两种时间,并解释迟到事件如何处理。

一手资料:PostgreSQL — Date/time types. 相关方法:阅读实用指南.

采集故障:核对日志与缺失事件

区分已生成、已接收和可用事件,不把沉默当作没有事故的证据。

  • 梳理应用、采集器、存储和负责人。准备有限的虚构事件序列,使用稳定标识,不含秘密或客户数据。保存事件时间和观察时间;采集延迟不自动等于丢失。
  • 在测试中中断目标后恢复。观察队列填充、重试、拒绝和重启。持久队列能限制部分损失,但容量有限且依赖存储;定义满队列行为。检查采集不会悄悄阻塞服务。
  • 在相同观察截止点核对参考集合和实际可读事件。分别统计重复、延迟和缺失;网络确认不证明最终可用。没有可靠参考时明确覆盖未知,不能写成零丢失或零事故。

可复现的验收案例

虚构示例:数据不代表客户或实际观察结果。

查看案例输入
{
    "expected_ids": [
        "E1",
        "E2",
        "E3"
    ],
    "received_ids": [
        "E1",
        "E1",
        "E3"
    ],
    "received_rows": 3,
    "unique_received": 2,
    "missing_ids": [
        "E2"
    ],
    "observation_cutoff": "same_for_both_sets"
}

预期判断

虚构例:预期E1、E2、E3,却收到E1、E1、E3。三行不能证明完整:E1重复,截止点仍缺E2。

OpenTelemetry — Collector resiliency

一手资料:OpenTelemetry — Collector resiliency. 相关方法:阅读实用指南.

ZIP与TAR:在目录和资源预算内解压

发布解压文件前验证路径、链接和实际解压数据量。

  • 在最小权限的新建非公开目录解压。拒绝绝对路径、向上遍历、不必要的链接和特殊文件。按目标系统规则检查实际解析目标及冲突,包括大小写。文本前缀本身不能证明目录限制。
  • 对实际写入字节、条目数、深度、时间和进程资源设单文件及累计上限。不仅依据压缩或声明大小。不需要嵌套档案就拒绝;允许时所有层共享总预算。更新库和过滤器。
  • 测试../、绝对路径、链接、重复项和预算超限。中止应使批次不可发布且不覆盖现有文件。发布前验证文件类型与内容;清理隔离目录时确认目标位置。

可复现的验收案例

虚构示例:数据不代表客户或实际观察结果。

查看案例输入
{
    "compressed_mb": 2,
    "expanded_mb": 600,
    "aggregate_budget_mb": 100,
    "first_files_valid": true,
    "expected": "stop_on_actual_overrun_and_do_not_promote"
}

预期判断

虚构例:2 MB压缩数据产生600 MB,预算为100 MB。实际写入字节超限即停止;即使前几个文件看似有效也不发布该批次。

Python — tarfile extraction filters and further verification

一手资料:Python — tarfile extraction filters and further verification. 相关方法:阅读实用指南.