Przeglądaj źródła

docs(env): kb/01 加集群层外部 jar 节

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
tianyu.chu 1 dzień temu
rodzic
commit
735fff639f
2 zmienionych plików z 9 dodań i 0 usunięć
  1. 8 0
      kb/01-运行环境.md
  2. 1 0
      kb/92-重构进度.md

+ 8 - 0
kb/01-运行环境.md

@@ -82,3 +82,11 @@ Spark 作业正常跑通依赖两个环境变量指到集群配置目录。默
 | `SPARK_CONF_DIR` | `/etc/spark/conf` | 加载 `spark-env.sh` + `hive-site.xml`,否则 `enableHiveSupport` 静默回落 in-memory metastore,看不到 HMS 真实库表 |
 
 后续若出现其他运行期外配(连接串、容量参数、密钥路径等),统一在此节登记约定来源与默认行为。
+
+## 5. 集群层外部 jar
+
+由运维分发到所有节点,不入 git。
+
+| jar | 用途 | 落点 | 版本 |
+|---|---|---|---|
+| `elasticsearch-hadoop-7.17.25.jar` | Spark 读 ES | `/opt/cloudera/parcels/CDH/lib/spark/jars/` | 7.17.25 |

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

@@ -199,3 +199,4 @@
 | 2026-04-23 | **工作 3(DataX 改造)完整 E2E 收官**:两条链路端到端验证全部通过。hive-import:PG `public.app_user_cert_info` → Hive `test.raw_usr_app_user_cert_info_inc_d`,62 行数据带 `cert_birthday` `month_trunc` 脱敏生效(源 PG 端 `TO_CHAR` 执行、敏感原值不出业务库)。hdfs-export:Hive raw → PG `test.ads_usr_app_user_cert_info_export`,62 行原样回写、PG 侧 count 一致。新入口 `bin/datax-{hive-import,hdfs-export}-starter.{sh,py}` 接管全部 DataX 调度入口;老 7 脚本已删;`dw_base/datax/` 7 模块(path_utils / worker / partition / runner / batch / entry / cli / mask) + 47 单测。冒烟过程暴露 + 顺手修的 bug:`plugin.py` 死 import pwd、`postgresql_reader` querySql 需 List 格式、`postgresql_writer` writeMode 字段误留(DataX pg writer 不支持)、`runner` PYTHONPATH 注入与远端 cd、`entry` ini 相对路径按 `base_dir` 解析不靠 cwd、`mysql_reader` 残留 import 已删包。插入项并行落地:脱敏配置化(mask 模块 + `[mask]` 声明式 + `kb/90 §2.6` 高优先级标 ✅) + `kb/93` ADR-01/02/03 草案(补数 / 分布式 / 零点漂移) + `kb/94` 新建重构对比文档(首节 DataX 22 项) + `CLAUDE.md` 加 agent commit 后自动 sync 约定。memory 新沉淀 2 条(术语纪律 / 验证前不删) | — |
 | 2026-04-28 | **kb/20 §5.5 整节改写 + §7 并入 inbox 分层分区语义 + §21 + §7.1 配套修正**:(a) §5.5 老"合 vs 拆"二分(含 acc 拼团/订单举例)整节重写为"事件 vs 状态"框架——DWD 默认 `_apd_d` 事件,实体状态进 DIM `_zip_d` 拉链,循环状态机天然支持;末尾留"何时可考虑 acc"小节给固定线性里程碑场景留口子(commits c9b58ba + e3761c2)。(b) `kb/inbox/关于分层的分区语义.md` 整篇并入 §7 新增 §7.2 各层分区语义、§7.3 各层职责与设计要点、§7.4 6 条分区与建模设计原则;inbox 原文保留不删(commit e575250)。(c) 配套 cascading 修正:`kb/21 §2.2` acc 表行加默认 event+zip 标注 + 链 §5.5、zip vs acc 选择依据保留思路并加"暂时默认 zip 路线"标注、删"状态机用 acc"一句、循环 fallback 从 "inc 主表 + apd 流水" 改齐为 "apd 事件 + DIM zip";`kb/21 §3.4` dwd 快照类型表删 "里程碑→acc" 行、加 "严格不循环固定线性里程碑→acc" + 链 §5.5,示例删 `dwd_trd_group_buy_acc_d`、`dwd_trd_order_pay_inc_d` 改 `_apd_d`、加订单履约事件示例;`kb/20 §7.1` 拼团 DWD 快照策略改为 "事件 _apd_d + DIM _zip_d 组合"。**未在本批**:CLAUDE.md 不加 acc 禁用锚定(acc 看情况评估,非禁用) | — |
 | 2026-04-29 | **`datax-gc-generator` 从零重写为 `datax-sync-template-gen`(kb/90 §2.7 完成)**:(a) 老 798 行 `bin/datax-gc-generator.py` 整文件删(mysql 链路 + 6 种 from × to 组合,全项目零外部引用);(b) 新 `bin/datax-sync-template-gen.py`(200+ 行)—— 仅 PG → HDFS,按 sync ini `dataSource` 字段格式 `postgresql/{env}-{instance}` 走 `../datasource/{ref}.ini`,复用 `DataSourceFactory` + `PostgreSQLDataSource` 拿 jdbc/user/pwd,pg8000 直连查 `pg_catalog.pg_attribute` 拿全字段 + 注释,查 `pg_index` 单字段 PK,渲染 sync ini 模板(全字段 column / where 用 update_time / writer.path 用源表名 `_TODO_d` 占位 / `-o` nargs='?' 三态:不传 stdout / 不带值 `workspace/{yyyymmdd}/` / 带值自定义);(c) `requirements.txt` 加 `pg8000~=1.30`;(d) 单测 `tests/unit/datax/test_sync_template_gen.py` 9 条覆盖渲染 + JDBC 解析 + PK auto-detect 边界(mock conn);(e) 配套死代码清理(kb/90 §2.7 拆除清单 scope 收紧):`dw_base/datax/datax_utils.py` + `dw_base/common/template_constants.py` 两整文件删(零外部引用),`mysql_reader.py` 删 `generate_hive_ddl` + `generate_hive_over_hbase_ddl` 两方法 + 顶部 `template_constants` import;**保留**:`mysql_data_source.py` / `mysql_reader.py` 整文件 / `mysql_writer.py` / `data_source_factory.py` mysql 分支 / `plugin_factory.py` mysql 分支 / `MYSQL_KEYWORDS` / `generate_definition`(mysql 运行时同步代码,与 PG 同等地位,未来 mysql 同步可能用,scope 收紧 vs 老拆除清单) | — |
+| 2026-05-05 | **kb/01 §5 集群层外部 jar 节新建**:登记 `elasticsearch-hadoop-7.17.25.jar`(落点 `/opt/cloudera/parcels/CDH/lib/spark/jars/`,所有节点,运维分发,不入 git),ES 集群版本 7.17.25 | — |