Files
Neo-ZQYY/export/ETL-Connectors/feiqiu/REPORTS/context_handoff_task2.md

2.8 KiB
Raw Blame History

上下文交接字段级数据质量分析任务2

当前状态

字段级采样报告已生成,但用户认为还不够细致,需要继续深化。

已完成

  • 字段级采样脚本:scripts/ops/field_level_report.pyv2 性能优化版,每表 1~2 条 SQL
  • 报告产出:export/ETL-Connectors/feiqiu/REPORTS/field_level_report_20260220_233432.md197KB95 张表2622 个字段)
  • 覆盖范围ODS 23 表 / DWD 40 表 / DWS 32 表
  • 每字段统计类型、NULL率、数值 min/max/avg、日期范围、文本长度范围、布尔分布
  • 大表(>3000行跳过 COUNT DISTINCT标记为 -),小表精确计算

已发现的数据质量问题

  1. dws.dws_order_summary.order_original_amount 出现 -44000 负值(疑似退款/异常订单)
  2. member_flagrecharge_order_flag 全部 FALSE12920 行),标记字段可能未正确计算
  3. 多张 _ex 表存在 year -1 异常日期值(上游 API 脏数据,脚本已用 ::text 比较绕过)
  4. DWS 层 23/32 表为空14 个 DWS 任务已注册但尚未运行,配置表未填充)

黑盒测试报告(已完成,供参考)

  • 脚本:scripts/ops/blackbox_test_report.py
  • 报告:export/ETL-Connectors/feiqiu/REPORTS/blackbox_report_20260220_181141.md
  • 结论ODS 22/22 成功DWD 20/20 事实表比率 1.0精确匹配DWS 9/32 有数据

ETL 最近一次运行

  • 日志:export/ETL-Connectors/feiqiu/LOGS/703747ca8db84aa785405fc75ee388a2.log
  • 参数:--flow api_full --processing-mode full_window --window-start 2025-11-01 --window-end 2026-02-20 --window-split-days 10 --force-full
  • 结果22 ODS SUCCDWD SUCC3 INDEX SUCCWBI/NCI/ORDER_SUMMARY1 INDEX FAILRELATION_INDEX: d.is_delete → 应为 s.is_delete14 DWS SKIP已修复注册下次可运行

已知未修复 Bug

  • DWS_RELATION_INDEXrelation_index_task.py 第 226 行 d.is_delete 应为 s.is_delete
  • FlowRunner full_window 模式未生成 timing/consistency 报告(走了 else 分支)

关键文件

  • scripts/ops/field_level_report.py — 字段级分析脚本
  • scripts/ops/blackbox_test_report.py — 黑盒测试脚本
  • apps/etl/connectors/feiqiu/orchestration/task_registry.py — 任务注册表
  • apps/etl/connectors/feiqiu/orchestration/flow_runner.py — FlowRunner
  • apps/etl/connectors/feiqiu/tasks/dws/ — DWS 任务实现

数据库连接

  • 四个 MCP 连接:mcp_pg_etl(正式)、mcp_pg_etl_test(测试)、mcp_pg_appmcp_pg_app_test
  • store_id: 2790685415443269

架构要点

  • ODS PK = (id, content_hash),快照模式
  • DWDdim 表 SCD2fact 表 dwd_*(非 fact_*),扩展属性在 *_ex
  • DWSdelete-before-insert 幂等,无游标
  • 输出路径从 .envETL_REPORT_ROOT 读取