Procházet zdrojové kódy

docs(kb): 修 publish.sh 重写带出的文档漂移,kb/90 划掉已完成待办

kb/00 部署架构改成实际节点名(cdhmaster01/02 + cdhnode01/02/03),io/ 去占位
标记;conf/env.sh 与 conf/workers.ini 的消费点指向不存在的 bin/common/*,改到
实际调用处;kb/90 删掉 publish.sh 待办并重排编号,L24 / L36 的引用同步。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
tianyu.chu před 3 týdny
rodič
revize
db45f219dd
5 změnil soubory, kde provedl 17 přidání a 17 odebrání
  1. 1 1
      README.md
  2. 1 1
      conf/env.sh
  3. 2 1
      conf/workers.ini
  4. 6 6
      kb/00-项目导览.md
  5. 7 8
      kb/90-演进路线.md

+ 1 - 1
README.md

@@ -54,7 +54,7 @@ PG/ES ──DataX(raw)──> RAW ──> ODS ──> DWD ──> DWS ──> TD
 
 - 使用 PyCharm 远程 SSH 连接服务器开发调试
 - Python 3.6.8,依赖见 `requirements.txt`
-- 部署:`publish.sh` 通过 git pull + rsync 分发到集群各节点(暂时不使用)
+- 部署:`publish.sh` 由发布中枢(cdhmaster02)git pull release 分支后 rsync 分发到各 worker,挂 DS 手动触发
 
 ## 文档索引
 

+ 1 - 1
conf/env.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 # poyee-data-warehouse 环境变量单源(bash + Python 双语言消费)
-# bash 入口:bin/common/init.sh / bin/publish.sh 顶部 `. "${BASE_DIR}"/conf/env.sh`
+# bash 入口:publish.sh 顶部 `. "${PROJECT_ROOT}"/conf/env.sh`
 # Python 入口:dw_base/__init__.py 通过 dw_base.utils.env_loader.bootstrap_env() 注入 os.environ
 RELEASE_USER="bigdata"
 RELEASE_ROOT_DIR="/home/bigdata/release"

+ 2 - 1
conf/workers.ini

@@ -1,6 +1,7 @@
 ; DataX Worker 列表与权重 + RELEASE_HOST
 ; key = 短名(hostname -s),value = 权重整数(越大越常被随机选中)
-; 消费点:bin/common/init.sh 解析后展开 RELEASE_HOST + DATAX_WORKERS + DATAX_WORKERS_WEIGHTS + DATAX_WORKERS_QUEUE(加权随机池)
+; 消费点:dw_base/datax/worker.py:load_workers_ini → select_worker(DataX 单作业选 worker,加权随机池)
+; 注:publish.sh 的部署节点列表不读本文件,是脚本内硬编码
 
 [release]
 host = cdhmaster02

+ 6 - 6
kb/00-项目导览.md

@@ -45,10 +45,10 @@ poyee-data-warehouse/              # 项目根目录(仓库名 = 部署名)
 │   │   └── business/              #     业务专用 UDF
 │   ├── utils/                     #   通用工具(参数解析、日期、文件、日志、SQL 解析等)
 │   ├── alerter/                   #   告警发送(企微 webhook,配置见 conf/alerter.ini)
-│   ├── io/                        #   (占位)I/O 边界:跨进程读写
-│   │   ├── db/
-│   │   ├── file/
-│   │   └── hdfs/
+│   ├── io/                        #   I/O 边界:跨进程读写
+│   │   ├── db/                    #     PG 连接工厂(ds_ref → pg8000 连接 + 薄查询封装)
+│   │   ├── file/                  #     (占位)
+│   │   └── hdfs/                  #     (占位)
 │   ├── ops/                       #   (占位)仓内数据运维(小文件合并、分区清理)
 │   ├── dq/                        #   (占位)数据质量检查
 │   ├── pm/                        #   (占位)项目管理工具集成(TAPD / Jira API)
@@ -165,8 +165,8 @@ conf/spark-defaults.conf + conf/spark-tuning.conf   (L1,全局默认,大数
 ## 8. 部署架构
 
 ```
-集群节点:m3(master), d1, d2, d3, d4(data nodes)
+集群节点:cdhmaster01 / cdhmaster02(发布中枢,DS master)+ cdhnode01 / cdhnode02 / cdhnode03(DS worker d1/d2/d3)
 部署目录:/home/bigdata/release/poyee-data-warehouse/
 部署用户:bigdata
-部署方式:git pull + rsync (publish.sh → re-all 分发)
+部署方式:中枢 git pull release 分支 + rsync 分发到 worker(publish.sh)
 ```

+ 7 - 8
kb/90-演进路线.md

@@ -21,16 +21,15 @@
 3. **`ops/` 里的函数预期被多处复用**:只被一张表调用一次的"清分区"走 `manual/adhoc/`,不进 `ops/`
 4. **跨模块依赖方向**:`ops/` 可依赖 `io/` + `utils/` + `common/`;`io/` 可依赖 `utils/` + `common/`;`utils/` 只依赖 `common/`;`common/` 不依赖任何项目内模块。**禁止反向依赖**
 
-> `io/` / `ops/` 当前仍是空骨架,按本边界规则把下方待办 2、3 的内容填实,即为四模块边界定稿。
+> `ops/` 当前仍是空骨架(`io/db` 已落 PG 连接工厂,`io/file` / `io/hdfs` 仍空),按本边界规则把下方待办 1、2 的内容填实,即为四模块边界定稿。
 
 ## 二、待办清单
 
 | # | 待办 | 落点 | 参见 |
 |---|------|------|------|
-| 1 | `publish.sh` 部署路径与项目名更新(发布目录 `/home/bigdata/release/poyee-data-warehouse/`) | `bin/publish.sh`(如重建) | — |
-| 2 | 存量小文件压实工具(`ods`/`dwd`/`dws` ~70 万文件一次性压实;现有 `dw_base/utils/hdfs_merge_small_file.py` 不支持外部表 + 逐分区起 job,需重写;顺带清其中硬编码的旧项目 metastore 口令) | `dw_base/ops/` | §一 · `93` ADR-15 |
-| 3 | 分区保留工具重新实现(元表驱动 + 保留天数参数化 + 例外 dt 白名单) | `dw_base/ops/` | §一 |
-| 4 | 数据质量首批 + runner(schema drift 探查 + PG/Hive 行数比对) | `dw_base/dq/` + `bin/dq-runner.py` | `93` ADR-07(表数 ≥ 5 张启动) |
-| 5 | TAPD API 集成 + Claude Code hook 同步操作(hook 主动同步,非 commit→任务 ID 联动;细节待展开) | `dw_base/pm/` + hook | — |
-| 6 | DWS 上线前回算窗对齐 DWD 滚动 N=30(`jobs/dws` 现 N=2,未上线;上线前改滚动 30 与 DWD 同口径) | `jobs/dws/` | `25-dws建模` §1.4 · ADR-09 |
-| 7 | 动态分区写入加 `DISTRIBUTE BY dt`(`ods`/`dwd`/`dws` 约 12 个 SQL);执行顺序 改 SQL → 补数 → 压实(待办 2) | `jobs/ods`·`jobs/dwd`·`jobs/dws` | `93` ADR-15 |
+| 1 | 存量小文件压实工具(`ods`/`dwd`/`dws` ~70 万文件一次性压实;现有 `dw_base/utils/hdfs_merge_small_file.py` 不支持外部表 + 逐分区起 job,需重写;顺带清其中硬编码的旧项目 metastore 口令) | `dw_base/ops/` | §一 · `93` ADR-15 |
+| 2 | 分区保留工具重新实现(元表驱动 + 保留天数参数化 + 例外 dt 白名单) | `dw_base/ops/` | §一 |
+| 3 | 数据质量首批 + runner(schema drift 探查 + PG/Hive 行数比对) | `dw_base/dq/` + `bin/dq-runner.py` | `93` ADR-07(表数 ≥ 5 张启动) |
+| 4 | TAPD API 集成 + Claude Code hook 同步操作(hook 主动同步,非 commit→任务 ID 联动;细节待展开) | `dw_base/pm/` + hook | — |
+| 5 | DWS 上线前回算窗对齐 DWD 滚动 N=30(`jobs/dws` 现 N=2,未上线;上线前改滚动 30 与 DWD 同口径) | `jobs/dws/` | `25-dws建模` §1.4 · ADR-09 |
+| 6 | 动态分区写入加 `DISTRIBUTE BY dt`(`ods`/`dwd`/`dws` 约 12 个 SQL);执行顺序 改 SQL → 补数 → 压实(待办 1) | `jobs/ods`·`jobs/dwd`·`jobs/dws` | `93` ADR-15 |