|
|
@@ -43,7 +43,17 @@
|
|
|
|
|
|
**仍未做**:hdfs-kafka 特殊 writer 说明(老 sh `datax-single-job-starter.sh:232-245` 10 行 columnType/columnMapping 业务说明),本项目用 kafka 概率低,用到再补
|
|
|
|
|
|
-### 1.3 收益点概述
|
|
|
+### 1.3 行为升级说明
|
|
|
+
|
|
|
+**`-parallel` 语义变化**:老 sh `-parallel` 用 `&` 后台 fire-and-forget,主脚本启动完立即退出,rc 恒为 0(只计启动数,不等完成;查证老 `datax-multiple-job-starter.sh:232-252`);新 Python 用 `threading.Thread + join`(`dw_base/datax/batch.py:70-89`),等所有 ini 完成后汇总真实 rc(= 失败任务数)。
|
|
|
+
|
|
|
+- 实际并行度 / 多核利用**完全等价**:两者都 fork 独立 OS 进程跑 DataX JVM,OS 内核调度到不同 core
|
|
|
+- Python GIL **不影响**:线程 95% 时间卡在 `subprocess.wait()` 上,此时 GIL 释放;CPU 密集活全在 JVM 子进程里
|
|
|
+- 行为差异只在主进程退出时机:老立即退、新等齐
|
|
|
+- 更适合 DS 调度:DS 拿 rc=0 时作业确实全跑完;老行为下 DS 收到 rc=0 作业可能还在后台跑
|
|
|
+- 老的"非 release 用户/主机自动降级串行"兜底未搬(ADR-02 草案砍 worker 分发,该兜底自然过时)
|
|
|
+
|
|
|
+### 1.4 收益点概述
|
|
|
|
|
|
- **入口数 9 → 5**,调用方学习曲线陡降
|
|
|
- **测试覆盖 0 → 47**,回归有护栏
|
|
|
@@ -52,7 +62,7 @@
|
|
|
- **合规加强**:`[mask]` 声明式脱敏保证敏感字段源库端处理、敏感原值不出业务库
|
|
|
- **坑修复**:老 `parse_ddl` 多日范围分区错位、`querySql` 模式 `column` 非 list 的 `ClassCastException`、`plugin_factory` eager import 链里死 import 破整条链路等
|
|
|
|
|
|
-### 1.4 待讨论 / 未收尾
|
|
|
+### 1.5 待讨论 / 未收尾
|
|
|
|
|
|
- kb/93 ADR-02 草案(分布式归 DS worker group)正式拍板后,`worker.py` / `runner.py` 里 ssh 远端分发逻辑可砍
|
|
|
- kb/93 ADR-03 草案(零点漂移决策)实施时迁 kb/12
|