Files
Neo-ZQYY/.kiro/specs/etl-task-documentation/tasks.md

126 lines
7.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 实施计划ETL 任务说明文档
## 概述
基于对 `tasks/``loaders/``orchestration/``cli/` 目录下源代码的分析,生成 7 个 Markdown 文档文件,放置于 `docs/etl_tasks/` 目录下。每个任务按照设计文档中定义的结构和内容范围编写。
## 任务
- [x] 1. 创建 `docs/etl_tasks/base_task_mechanism.md`
- 说明 BaseTask 的 execute → extract → transform → load 模板方法流程
- 说明 TaskContext 字段含义store_id、window_start、window_end、window_minutes、cursor
- 说明时间窗口计算逻辑(手动覆盖 > 游标 > 闲忙时段默认值)
- 说明窗口分段build_window_segments切分策略
- 说明 TaskRegistry 注册方式与 TaskMeta 元数据结构layer、task_type、requires_db_config
- 说明 PipelineRunner 管道执行流程与校验框架概述
- _Requirements: 8.1, 8.2, 8.3, 8.4, 8.5_
- [x] 2. 创建 `docs/etl_tasks/ods_tasks.md`
- [x] 2.1 编写独立 ODS 任务说明14 个任务ORDERS、PAYMENTS、MEMBERS、PRODUCTS、TABLES、ASSISTANTS、PACKAGES_DEF、REFUNDS、COUPON_USAGE、INVENTORY_CHANGE、TOPUPS、TABLE_DISCOUNT、ASSISTANT_ABOLISH、LEDGER
- 每个任务列出任务代码、Python 类、API 端点、请求参数、字段解析逻辑、目标表、写入策略
- _Requirements: 2.1, 2.2, 2.3, 2.4_
- [x] 2.2 编写通用 ODS 任务说明BaseOdsTask + OdsTaskSpec 模式)
- 说明 OdsTaskSpec 配置结构endpoint、table、columns、pk_columns、snapshot_mode 等)
- 说明 BaseOdsTask 的通用 execute 流程API 调用、schema-aware 插入、content_hash 去重、软删除标记)
- 列出由 ODS_TASK_CLASSES 动态注册的所有任务
- _Requirements: 2.5, 2.6_
- [x] 3. 创建 `docs/etl_tasks/dwd_tasks.md`
- [x] 3.1 编写 DWD_LOAD_FROM_ODS 核心任务说明
- 列出完整的 TABLE_MAP 映射表DWD 表 → ODS 表)
- 说明维度/事实分流逻辑dim_* 走 SCD2 或 Type1 Upsert其余走增量插入
- 说明 SCD2 处理流程(最新快照选取、变更检测、版本关闭与新建)
- 说明事实表增量装载fetched_at 水位线、upsert/insert-only、FACT_MAPPINGS 列映射)
- _Requirements: 3.2, 3.3, 3.4_
- [x] 3.2 编写独立 DWD 任务说明TICKET_DWD、PAYMENTS_DWD、MEMBERS_DWD
- 每个任务列出:源 ODS 表、目标 DWD 表、处理特点
- _Requirements: 3.6_
- [x] 3.3 编写 DWD_QUALITY_CHECK 任务说明
- 说明行数/金额核对逻辑、金额列自动扫描规则、JSON 报表输出格式
- _Requirements: 3.5_
- [x] 4. 创建 `docs/etl_tasks/dws_tasks.md`
- [x] 4.1 编写 BaseDwsTask 公共机制说明
- 说明时间分层TimeLayer、配置缓存ConfigCache、delete-before-insert 策略、bulk_insert/upsert 方法
- _Requirements: 4.1_
- [x] 4.2 编写助教业绩域任务说明5 个任务)
- DWS_ASSISTANT_DAILY日度服务明细聚合数据来源、聚合维度、输出字段
- DWS_ASSISTANT_MONTHLY月度汇总业绩档位计算、排名逻辑、新人封顶规则
- DWS_ASSISTANT_CUSTOMER助教-客户关系统计
- DWS_ASSISTANT_SALARY工资计算公式基础工资+提成+奖金+扣款)
- DWS_ASSISTANT_FINANCE助教收支分析收入 vs 日均成本、毛利率)
- _Requirements: 4.2, 4.3, 4.4_
- [x] 4.3 编写会员分析域任务说明2 个任务)
- DWS_MEMBER_CONSUMPTION会员消费汇总、客户分层
- DWS_MEMBER_VISIT会员到店明细、服务时长、折扣计算
- _Requirements: 4.2, 4.3, 4.4_
- [x] 4.4 编写财务统计域任务说明4 个任务)
- DWS_FINANCE_DAILY财务日报结算汇总、团购、充值、赠卡消费、费用、平台
- DWS_FINANCE_RECHARGE充值统计首充/续充、现金/赠送、卡余额)
- DWS_FINANCE_INCOME_STRUCTURE收入结构分析按类型、按区域
- DWS_FINANCE_DISCOUNT_DETAIL折扣明细统计
- _Requirements: 4.2, 4.3, 4.4_
- [x] 4.5 编写运维任务说明4 个任务)
- DWS_BUILD_ORDER_SUMMARY订单汇总中间表构建
- DWS_RETENTION_CLEANUP时间分层清理策略、配置参数enabled、layer、tables、table_layers
- DWS_MV_REFRESH_FINANCE_DAILY / DWS_MV_REFRESH_ASSISTANT_DAILY物化视图分层刷新机制、L1-L4 层级、配置方式
- _Requirements: 4.5, 4.6_
- [x] 5. 创建 `docs/etl_tasks/index_tasks.md`
- 编写 BaseIndexTask 公共机制(参数加载、百分位历史)
- 编写 4 个指数任务说明WBI回流指数、NCI新客转化指数、RS关系指数、ML手动台账导入
- 说明 cfg_index_parameters 配置表结构和参数含义
- 说明 ML_MANUAL_IMPORT 的 Excel 模板格式和导入逻辑
- _Requirements: 5.1, 5.2, 5.3, 5.4_
- [x] 6. 创建 `docs/etl_tasks/utility_tasks.md`
- 编写 8 个工具类任务说明INIT_ODS_SCHEMA、INIT_DWD_SCHEMA、INIT_DWS_SCHEMA、MANUAL_INGEST、ODS_JSON_ARCHIVE、CHECK_CUTOFF、SEED_DWS_CONFIG、DATA_INTEGRITY_CHECK
- 每个任务列出:用途、执行的 DDL/操作、配置参数
- 重点说明 MANUAL_INGEST 的文件匹配规则和入库流程
- _Requirements: 6.1, 6.2, 6.3, 6.4, 6.5_
- [x] 7. 创建 `docs/etl_tasks/README.md`(总览)
- 编写系统简介和数据流向图API → ODS → DWD → DWS
- 编写按层分组的任务清单表格任务代码、Python 类、简要说明、跳转链接)
- 编写管道类型说明7 种管道的层组合)
- 编写处理模式说明increment_only / verify_only / increment_verify
- 编写数据源模式说明online / offline / hybrid
- 编写 CLI 参数速查表(所有参数的表格)
- 编写常见命令示例
- _Requirements: 1.1, 1.2, 1.3, 7.1, 7.2, 7.3, 7.5, 7.6_
- [x] 8. 检查点 - 验证文档完整性
- 确认 7 个文件全部存在于 `docs/etl_tasks/` 目录下
- 确认 README.md 中的任务清单覆盖所有已注册任务
- 确认各分层文件中的任务代码与 task_registry.py 一致
- Ensure all files are valid Markdown, ask the user if questions arise.
- [x] 9. 编写文档覆盖完整性验证脚本
- [x] 9.1 编写 ODS 任务覆盖验证
- **Property 1: ODS 任务文档覆盖完整性**
- **Validates: Requirements 2.1, 2.4**
- [x] 9.2 编写 DWD 任务覆盖验证
- **Property 2: DWD 任务文档覆盖完整性**
- **Validates: Requirements 3.1**
- [x] 9.3 编写 DWS 任务覆盖验证
- **Property 3: DWS 任务文档覆盖完整性**
- **Validates: Requirements 4.1, 4.4**
- [x] 9.4 编写 INDEX 和 Utility 任务覆盖验证
- **Property 4: INDEX 任务文档覆盖完整性**
- **Property 5: Utility 任务文档覆盖完整性**
- **Validates: Requirements 5.1, 6.1**
- [x] 9.5 编写 CLI 参数和管道类型覆盖验证
- **Property 6: CLI 参数文档覆盖完整性**
- **Property 7: 管道类型文档覆盖完整性**
- **Validates: Requirements 7.1, 7.2**
- [x] 10. 最终检查点
- Ensure all tests pass, ask the user if questions arise.
## 说明
- 任务标记 `*` 的为可选项,可跳过以加快 MVP 进度
- 每个任务引用了具体的需求编号以便追溯
- 检查点确保增量验证
- 文档编写顺序先写公共机制task 1再按层写各任务task 2-6最后写总览task 7