|
|
5 hari lalu | |
|---|---|---|
| bin | 6 hari lalu | |
| conf | 1 Minggu lalu | |
| dw_base | 1 Minggu lalu | |
| jobs | 1 Minggu lalu | |
| kb | 6 hari lalu | |
| manual | 5 hari lalu | |
| tests | 1 Minggu lalu | |
| .gitignore | 2 minggu lalu | |
| README.md | 1 Minggu lalu | |
| publish.sh | 2 minggu lalu | |
| requirements.txt | 1 Minggu lalu | |
| requirements.txt.bak | 2 minggu lalu |
基于 PySpark + DataX 的数据仓库项目,负责多源数据采集、清洗、分层加工和分发。
本 README 兼作开发手册,也是 vibe coding 和 Review 的参考依据。
dw-project/
├── bin/ # 启动脚本(Shell + Python 入口)
├── jobs/ # 业务代码,按数仓分层组织
│ ├── raw/ # 原始数据采集(DataX ini)
│ ├── ods/ # 贴源层(SQL)
│ ├── dwd/ # 明细层(SQL)
│ ├── dws/ # 汇总层(SQL)
│ ├── tdm/ # 主题域模型层(SQL)
│ └── ads/ # 应用层(SQL + 导出 ini)
├── dw_base/ # 通用库(Spark 引擎、DataX 引擎、工具函数、UDF)
├── kb/ # 知识库(项目文档)
├── conf/ # 配置(非敏感项,样例 + 环境配置)
├── publish.sh # 集群部署脚本
└── requirements.txt
数据源连接配置(含账密)存放在项目同级目录 datasource/ 下,由运维维护,不纳入版本控制。
| 脚本 | 用途 | 示例 |
|---|---|---|
bin/spark-sql-starter.py |
执行 Spark SQL | -f jobs/customs/001india/02incr/01india_im/02dwd.sql -dt 20250101 |
bin/datax-multiple-hive-job-starter.sh |
Hive 批量采集(主力) | -gcd conf/datax/config/mysql-hdfs/prod -start-date 20250101 -parallel |
bin/datax-multiple-job-starter.sh |
通用批量 DataX 同步 | -gcd jobs/customs/001india/02incr/01india_im/ -start-date 20250101 |
bin/datax-single-job-starter.sh |
单个 DataX 同步 | -gc jobs/xxx/from_mongo.ini -start-date 20250101 |
PG/ES ──DataX(raw)──> RAW ──> ODS ──> DWD ──> DWS ──> TDM ──> ADS
requirements.txtpublish.sh 通过 git pull + rsync 分发到集群各节点(暂时不使用)文件按编号前缀分组,序号越小越基础、越靠前阅读。每篇文档是其主题的唯一权威(SSOT),跨文档用 § 锚点互引、不复述。
| 文档 | 职责 |
|---|---|
| 00-项目导览 | 项目导览:目录结构、配置管理、DataX / Spark 入口、执行链路、基础模块、部署架构 |
| 01-运行环境 | 基础设施:CDH 版本矩阵、集群拓扑、开发侧约束 |
| 02-权限与账号 | 鉴权链路:HS2 doAs / PySpark / Ranger / LDAP;job 账号 vs 个人账号 |
| 文档 | 职责 |
|---|---|
| 10-业务流程 | 业务全景:用户 + 商家 + 售后全链路流程 |
| 11-数据资产 | 数据源清单:业务库 / 埋点 / 爬虫 / 采购 |
| 12-同步方案 | 同步策略:PG→Hive 存量 / 增量 / 历史归档 / CDC 阶段演进 |
| 13-埋点同步-设计 | 埋点同步设计:合规约束、整体方案、脱敏策略、协作流程(受众:产品 / CTO) |
| 14-埋点同步-开发 | 埋点同步实现:raw DDL、脱敏配置、历史 / 增量入仓脚本、落地 checklist |
| 文档 | 职责 |
|---|---|
| 20-数仓分层与建模 | 建模方法论:分层定义、主题域、总线矩阵、维度五步法 |
| 21-命名规范 | 命名规则:Hive 表 / 字段 / 词根字典 + 建表 Checklist |
| 22-指标体系 | 指标字典:指标 / 维度 / 度量定义与口径 |
| 23-标签体系 | TDM 画像:用户 / 商品 / 商家标签 |
| 24-raw 建模 | raw 层字段裁剪决策:各 raw 表三态标记(保留 / 明性裁 / 隐性裁)+ 决策理由溯源 |
| 25-raw 接入流程 | 新表入仓标准 8 步:sync 生成器 + mask 配置 + DDL 生成器 + raw 建模文档协同 |
| 文档 | 职责 |
|---|---|
| 30-开发规范 | 开发方法论:TPAD、数据开发流程、代码/SQL/Git 规范、DDL/jobs 文件组织、manual/ 临时 SQL、样板、存储 / raw 类型契约 |
| 31-UDF手册 | UDF 登记表:通用 + 业务 UDF 清单 |
| 文档 | 职责 |
|---|---|
| 90-重构路线 | 重构决策:P0-P3 聚簇、已完成结论、待启动方案 |
| 92-重构进度 | 重构执行:阶段 checklist + changelog |
| 93-架构决策 | ADR 沉淀:重构收尾时 90/91/92 压缩留档(当前仍在重构,骨架) |
新成员上手路径: