Эх сурвалжийг харах

docs(kb): datasource 目录结构收敛到 kb/00 §1 一处

tianyu.chu 2 долоо хоног өмнө
parent
commit
8978b8712c

+ 14 - 30
kb/00-项目架构.md

@@ -23,7 +23,7 @@ poyee-data-warehouse/              # 项目根目录(仓库名 = 部署名)
 │   ├── dws/                       #   汇总层计算 SQL
 │   ├── tdm/                       #   主题域模型层计算 SQL
 │   ├── ads/                       #   应用层计算 SQL + 导出 ini
-│   └── archive/                   #   已执行完的历史脚本归档
+│   └── archive/                   #   已弃用的过期脚本归档
 ├── manual/                        # 一次性脚本(禁止接入定时调度)
 │   ├── ddl/                       #   所有 DDL(初始 CREATE + 后续 ALTER),唯一来源;按 {layer}/{domain}/ 分子目录
 │   ├── backfill/                  #   历史数据回刷
@@ -40,7 +40,7 @@ poyee-data-warehouse/              # 项目根目录(仓库名 = 部署名)
 │   ├── database/                  #   MongoDB / MySQL 原生客户端封装
 │   ├── utils/                     #   通用工具(参数解析、日期、文件、日志、SQL 解析、字符串等)
 │   ├── io/                        #   (占位)I/O 边界:db / file / hdfs 跨进程读写
-│   ├── ops/                       #   (占位)内数据运维(小文件合并、分区清理、vacuum)
+│   ├── ops/                       #   (占位)内数据运维(小文件合并、分区清理、vacuum)
 │   ├── dq/                        #   (占位)数据质量检查(schema drift、值域、关联、规模)
 │   ├── pm/                        #   (占位)项目管理工具集成(TAPD / Jira API)
 │   └── sync/                      #   (占位)外部文档同步(Docmost → kb/inbox)
@@ -56,16 +56,23 @@ poyee-data-warehouse/              # 项目根目录(仓库名 = 部署名)
 ```
 /home/bigdata/release/
 ├── poyee-data-warehouse/          # 本项目部署目录
-└── datasource/                    # 数据源连接配置(含账密,由运维管理)
-    ├── mongo/                     #   按数据库类型划分子目录
-    ├── mysql/                     #   每个子目录下存放 {实例名}.ini
+└── datasource/                    # 数据源连接配置(含账密,由运维管理,不入仓库)
+    ├── postgresql/                #   按 {db_type}/{env}/{instance}.ini 三段式组织
+    │   ├── prod/
+    │   │   ├── hobby.ini          #     生产 PG 实例举例
+    │   │   └── crm.ini
+    │   ├── test/
+    │   │   └── hobby.ini
+    │   └── dev/
+    │       └── hobby.ini
+    ├── mysql/                     #   结构同上(prod / test / dev 三套)
+    ├── mongo/
     ├── hdfs/
     ├── clickhouse/
     ├── elasticsearch/
     ├── kafka/
     ├── redis/
-    ├── hbase/
-    └── postgresql/
+    └── hbase/
 ```
 
 ## 2. 核心模块职责
@@ -525,27 +532,6 @@ DataX Reader/Writer 建立连接
 | L1(最高) | 命令行 `-env <name>` | 调试 / 跨环境临时切换 |
 | L2 | `conf/env.sh` 里的 `DW_ENV` 默认值 | **入仓库**的一份配置,由开发者维护。默认值通常锁死为 `dev`(服务本地调试方便)。DolphinScheduler / 生产脚本总是命令行显式挂 `-env prod` 覆盖。不做任何"按用户/目录"的自动派生 |
 
-**目录示例**:
-
-```
-datasource/                           # 运维维护,不入仓库
-├── pg/
-│   ├── prod/
-│   │   ├── hobby.ini                 # 生产 PG 实例
-│   │   └── crm.ini
-│   ├── test/
-│   │   └── hobby.ini
-│   └── dev/
-│       └── hobby.ini
-├── mysql/
-│   ├── prod/
-│   └── dev/
-├── mongo/
-│   └── ...
-└── hdfs/
-    └── ...
-```
-
 **执行示例**:
 
 ```bash
@@ -559,8 +545,6 @@ bin/datax-single-job-starter.sh -gc jobs/raw/trd/raw_trd_order_pay_inc_d.ini -st
 bin/datax-multiple-hive-job-starter.sh -gcd jobs/raw/trd -start-date 20260415 -env test -parallel
 ```
 
-**当前状态**:`-env` 参数、`conf/env.sh`、`datasource/` 的环境子目录**都尚未落地**,是目标态。改造清单见 `90-重构路线.md` §2.1。
-
 ## 7. 部署架构
 
 ```

+ 1 - 9
kb/02-权限与账号.md

@@ -185,15 +185,7 @@ sequenceDiagram
 
 ## 4. 数据源账号(非 LDAP/Ranger 链路)
 
-DataX 采集需要访问外部数据源(PG / MySQL / MongoDB / ES 等),这些账号**不走 LDAP/Ranger**,而是以明文/加密形式存放在项目同级目录,按 `{db_type}/{env}/{instance}.ini` 三段式组织:
-
-```
-/home/bigdata/release/datasource/
-├── pg/{env}/{业务库}.ini           # env = dev / test / prod
-├── mysql/{env}/{业务库}.ini
-├── mongodb/{env}/{业务库}.ini
-└── es/{env}/{集群}.ini
-```
+DataX 采集需要访问外部数据源(PG / MySQL / MongoDB / ES 等),这些账号**不走 LDAP/Ranger**,而是以明文/加密形式存放在项目同级目录,按 `{db_type}/{env}/{instance}.ini` 三段式组织。完整目录结构见 `00-项目架构.md` §1。
 
 由运维同学维护,**不纳入本仓库版本控制**。开发 DataX 作业时 ini 引用 `{ds_type}/{ds_file}`(两段式不带 env;env 由启动命令 `-env <name>` 或 `conf/env.sh` 默认值注入,见 `21-命名规范.md` §4.4)。
 

+ 1 - 0
kb/92-重构进度.md

@@ -182,3 +182,4 @@
 | 2026-04-20 | **dw_base 占位模块骨架 + tests 骨架 + bin 收口(B4 提前 + C 起步)**:(a) 新建 5 个占位模块 `dw_base/io/{db,file,hdfs}/` + `dw_base/ops/` + `dw_base/pm/` + `dw_base/dq/` + `dw_base/sync/`,每个带 `__init__.py` + `README.md`(4 节:职责/接口/依赖/状态);实现留待后续阶段。(b) `tests/{unit,integration}/` 骨架 + `tests/README.md` + `.gitkeep`;首批单测目标 `tests/unit/udf/test_spark_common_udf.py`(40 函数)。(c) `bin/excel_to_hive.py` 删除(一次性工具,有需求重做);`publish.sh` 从项目根 `git mv` 到 `bin/publish.sh`(publish 是 DS 调度入口 = 和 bin 同类)。代码侧单次 commit `6936460`。(d) 文档侧同步:`kb/30-开发规范.md §4.5 占位模块规范`(4 节标准 + "空 __init__.py 无 README → 删"铁律);`kb/90-重构路线.md` 按聚簇 + DAG 重组(新增 §〇 全景与 DAG、§2.10 common/utils/io/ops 四模块律、§2.11 新占位 registry、§六.1 tests 骨架标注、§八 从 P0-P3 线性表替换为聚簇 A-F 推进视图;所有主章节加 `[聚簇 X]` 标签;§2.1 publish.sh 行改为 `bin/publish.sh`);本文档总览引入聚簇视图说明 + 阶段 1/2/4 状态改"推进中 / 部分提前完成" | — |
 | 2026-04-21 | **kb/30 §4.6 整合 Git 协作规范**:`kb/inbox/git规范.md` 草稿 6 章整合进 kb/30 §4.6(§4.5 与 §5 之间),节号重排为 §4.6.1~§4.6.6 对齐现有多级风格;草稿 §六 "命名规范" 改名为 "分支 / Tag 命名" 避开与 `kb/21-命名规范.md` 主文档重名;补分支/hotfix/tag 命名示例到各 3 个(个人分支 3 个与 §4.6.1.2 ASCII 图的李四/王五/张三对齐) | — |
 | 2026-04-21 | **kb/30 大梳理:删 §1 通用开发流程 / §4.5 占位模块规范,Commit 信息归入 Git 协作节,整体节号重排**:(a) 删 §1 通用开发流程(与项目无针对性);(b) 删 §4.5 占位模块规范(该规范仅用于架构规划专用、非普通开发内容,迁至项目根 `CLAUDE.md`);(c) 原 §4.4 Commit 信息(Conventional Commits)并入 Git 协作规范作为 §3.4.7;(d) 节号重排 §2→§1 TPAD / §3→§2 数仓流程 / §4→§3 代码开发(§4.1-§4.3→§3.1-§3.3、§4.6→§3.4,其 §4.6.1-6 → §3.4.1-6)/ §5→§4 / §6→§5 / §7→§6;(e) 联动 `kb/README.md` §30 条目描述 + `kb/90-重构路线.md §2.11` 占位模块标准引用从 `kb/30 §4.5` 改指 `CLAUDE.md` | — |
+| 2026-04-21 | **datasource 目录结构收敛到 kb/00 §1 一处**:老 kb 内 datasource 目录树在 kb/00 §1(扁平老结构)、kb/00 §6.4(带 env 层目标态)、kb/02 §4(带 env 层)三处平行画,一改就易漏。kb/00 §1 子树补齐 env 层 + 实例举例(`postgresql/{prod,test,dev}/hobby.ini`)作为唯一真源;kb/00 §6.4 删内嵌目录示例块 + 删"当前状态:尚未落地"段(按"不标现状/目标态,以目标态为准"约定);kb/02 §4 删重复目录树,改跨文档引 `kb/00 §1` | — |