Преглед на файлове

refactor(tests): hive_import README 切到新入口 + kb/92 changelog

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
tianyu.chu преди 1 седмица
родител
ревизия
544c3cc2d9
променени са 2 файла, в които са добавени 4 реда и са изтрити 3 реда
  1. 1 0
      kb/92-重构进度.md
  2. 3 3
      tests/integration/datax/hive_import/README.md

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

@@ -196,3 +196,4 @@
 | 2026-04-23 | **聚簇 A.2 `conf/workers.ini` 外配 + 新集群 hostname 适配**:`bin/common/init.sh` 原硬编码 `RELEASE_HOST="m3"` + `DATAX_WORKERS=(m3 d1 d2 d3 d4)` + `DATAX_WORKERS_WEIGHTS` map + 队列展开 for 循环(L13-28),整体外移到 `conf/workers.ini`(`[release] host` + `[weights]` 两 section,ini 格式入库);init.sh 改为纯 bash 读 ini(case + BASH_REMATCH 正则,不调 Python,避免 bash/py 双源漂移)。新集群 hostname 从老短名 m3/d1-d4 换到真实短名 cdhmaster02 / cdhnode01-03(用户 2026-04-23 提供),权重从 1/2/2/3/3 改为 1/3/3/3(master 1、3 个 worker 均权 3)。联动 kb/90 §2.1 行标 ✅ + §八 A 聚簇状态表行标 ✅ | — |
 | 2026-04-23 | **DataX 字段级脱敏配置化落地(插入本轮 scope 完成)**:新建 `dw_base/datax/mask.py` —— PG 方言 5 种脱敏(3 静态 `month_trunc` / `md5` / `mask_middle` + 2 动态 `keep_first_{n}` / `keep_last_{n}`,正则捕获数字参数),列名白名单 `[A-Za-z_][A-Za-z0-9_]*` + mask_type 校验防 SQL 注入;`postgresql_reader.py:load_others` 检测 `[mask]` 段自动调 mask 模块生成 querySql,优先级"手写 querySql > [mask] > table"。新建 `tests/unit/datax/test_mask.py` 9 条单测覆盖静态/动态/综合/各校验分支。`tests/integration/datax/hive_import/app_user_cert_info.ini` 从手写 querySql 切到 `[mask] cert_birthday = month_trunc` 声明式。联动 kb/90 §2.6 高优先级"DataX 字段级脱敏"改写为 [mask] 为规范 + querySql 为手写后备,低优先级"ini 配置化脱敏"条标 ✅ 压缩 | — |
 | 2026-04-23 | **kb/93 新增 2 条架构 ADR 草案 + kb/90 §2.6 联动**:(a) kb/93 §3 决策清单从"待补充"填入 ADR-01(按天补数归 DS,DataX 入口不做日期展开)+ ADR-02(分布式分发归 DS worker group,DataX 不重复随机),两条状态 = 草案、等正式拍板转"已采纳"。背景 / 决策 / 后果 / 候选方案 / 反悔条件五段精简写法。(b) kb/90 §2.6 后延 ADR 低优先级"日期范围展开"条追加"可能不做"备注指向 ADR-01;新增"DataX 仅本机执行"条(低优先级)指向 ADR-02。破例:CLAUDE.md 里 kb/93 "暂不改动除非显式要求",本次用户显式要求开口 | — |
+| 2026-04-23 | **DataX 新入口脚本落地(工作 3 批次 4)**:新建 `bin/datax-hive-import-starter.{sh,py}` + `bin/datax-hdfs-export-starter.{sh,py}`。bash 壳 source `bin/common/init.sh` 初始化 env 后 `exec python3` 到主入口;.py 用 argparse 解析老参数平迁集(-ini / -inis / -start-date / -stop-date / -host / -random / -parallel / -skip-datax + import 专有的 -skip-partition / -t),构造 `DataxImport` / `DataxExport` 门面调 `run`。`tests/integration/datax/hive_import/README.md` 冒烟命令切到新入口 `-ini` 语法。老 `datax-{single,multiple,multiple-hive}-job-starter.{sh,py}` + `datax-job-config-generator.py` 暂不删(批次 5 做,等冒烟 2 通过) | — |

+ 3 - 3
tests/integration/datax/hive_import/README.md

@@ -13,11 +13,11 @@
 ## 执行步骤
 
 1. 在 hive/beeline 执行 `ddl/hive_raw.sql` 建 raw 表
-2. 跑 DataX(本轮用老入口,待新入口 `datax-hive-import-starter` 落地后改命令):
+2. 跑 DataX(新入口 `datax-hive-import-starter`):
 
     ```bash
-    bin/datax-multiple-hive-job-starter.sh \
-      -gc tests/integration/datax/hive_import/app_user_cert_info.ini \
+    bin/datax-hive-import-starter.sh \
+      -ini tests/integration/datax/hive_import/app_user_cert_info.ini \
       -start-date <昨日 yyyymmdd> -stop-date <今日 yyyymmdd> \
       -random
     ```