|
@@ -8,50 +8,75 @@
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
poyee-data-warehouse/ # 项目根目录(仓库名 = 部署名)
|
|
poyee-data-warehouse/ # 项目根目录(仓库名 = 部署名)
|
|
|
-├── bin/ # 启动脚本层:Shell + Python 入口脚本
|
|
|
|
|
|
|
+├── bin/ # 启动脚本层:Shell + Python 入口
|
|
|
│ ├── common/ # 公共 Shell 函数与初始化
|
|
│ ├── common/ # 公共 Shell 函数与初始化
|
|
|
-│ ├── spark-sql-starter.py # Spark SQL 执行入口
|
|
|
|
|
-│ ├── datax-single-job-starter.sh# DataX 单任务启动
|
|
|
|
|
-│ ├── datax-multiple-job-starter.sh # DataX 批量任务启动
|
|
|
|
|
-│ ├── datax-job-config-generator.py # ini→json 配置生成
|
|
|
|
|
-│ └── ...
|
|
|
|
|
|
|
+│ ├── spark-sql-starter.py
|
|
|
|
|
+│ ├── datax-single-job-starter.sh
|
|
|
|
|
+│ ├── datax-single-job-starter.py
|
|
|
|
|
+│ ├── datax-multiple-job-starter.sh
|
|
|
|
|
+│ ├── datax-multiple-job-starter.py
|
|
|
|
|
+│ ├── datax-multiple-hive-job-starter.sh
|
|
|
|
|
+│ ├── datax-multiple-hive-job-starter.py
|
|
|
|
|
+│ ├── datax-job-config-generator.py
|
|
|
|
|
+│ └── datax-gc-generator.py
|
|
|
├── jobs/ # 业务代码层,定时调度执行
|
|
├── jobs/ # 业务代码层,定时调度执行
|
|
|
│ ├── raw/ # 原始数据采集(DataX ini 或 CSV 导入任务定义)
|
|
│ ├── raw/ # 原始数据采集(DataX ini 或 CSV 导入任务定义)
|
|
|
-│ ├── ods/ # 贴源层计算 SQL(类型转换、脏数据识别)
|
|
|
|
|
-│ ├── dim/ # 维度层计算 SQL(公共维度,贯穿 dwd/dws/tdm/ads)
|
|
|
|
|
|
|
+│ ├── ods/ # 贴源层计算 SQL
|
|
|
|
|
+│ ├── dim/ # 维度层计算 SQL
|
|
|
│ ├── dwd/ # 明细层计算 SQL
|
|
│ ├── dwd/ # 明细层计算 SQL
|
|
|
│ ├── dws/ # 汇总层计算 SQL
|
|
│ ├── dws/ # 汇总层计算 SQL
|
|
|
│ ├── tdm/ # 主题域模型层计算 SQL
|
|
│ ├── tdm/ # 主题域模型层计算 SQL
|
|
|
│ ├── ads/ # 应用层计算 SQL + 导出 ini
|
|
│ ├── ads/ # 应用层计算 SQL + 导出 ini
|
|
|
-│ └── archive/ # 已弃用的过期脚本归档
|
|
|
|
|
|
|
+│ └── archive/ # 已弃用脚本归档
|
|
|
├── manual/ # 一次性脚本(禁止接入定时调度)
|
|
├── manual/ # 一次性脚本(禁止接入定时调度)
|
|
|
│ ├── ddl/ # 所有 DDL(初始 CREATE + 后续 ALTER)
|
|
│ ├── ddl/ # 所有 DDL(初始 CREATE + 后续 ALTER)
|
|
|
│ ├── backfill/ # 历史数据回刷
|
|
│ ├── backfill/ # 历史数据回刷
|
|
|
│ ├── fix/ # 线上脏数据订正(必须带工单号)
|
|
│ ├── fix/ # 线上脏数据订正(必须带工单号)
|
|
|
│ ├── adhoc/ # 临时取数 / 排查
|
|
│ ├── adhoc/ # 临时取数 / 排查
|
|
|
-│ ├── imports/{yyyymmdd}/ # 一次性入仓(硬盘、历史 dump、外部 CSV),按执行日期归档
|
|
|
|
|
-│ └── exports/{yyyymmdd}/ # 一次性出仓任务,按执行日期归档
|
|
|
|
|
|
|
+│ ├── imports/{yyyymmdd}/ # 一次性入仓,按执行日期归档
|
|
|
|
|
+│ └── exports/{yyyymmdd}/ # 一次性出仓,按执行日期归档
|
|
|
├── dw_base/ # 通用库层
|
|
├── dw_base/ # 通用库层
|
|
|
│ ├── __init__.py # 全局初始化(环境检测、用户/权限判断、颜色常量)
|
|
│ ├── __init__.py # 全局初始化(环境检测、用户/权限判断、颜色常量)
|
|
|
-│ ├── common/ # 常量、容器(alerter / config / template 常量)
|
|
|
|
|
|
|
+│ ├── common/ # 常量、容器
|
|
|
│ ├── spark/ # SparkSQL 相关
|
|
│ ├── spark/ # SparkSQL 相关
|
|
|
-│ ├── udf/ # UDF 库(common 通用 + business 业务专用)
|
|
|
|
|
│ ├── datax/ # DataX 相关
|
|
│ ├── datax/ # DataX 相关
|
|
|
-│ ├── utils/ # 通用工具(参数解析、日期、文件、日志、SQL 解析、字符串等)
|
|
|
|
|
-│ ├── io/ # (占位)I/O 边界:db / file / hdfs 跨进程读写
|
|
|
|
|
|
|
+│ │ ├── datasources/
|
|
|
|
|
+│ │ └── plugins/
|
|
|
|
|
+│ │ ├── reader/
|
|
|
|
|
+│ │ └── writer/
|
|
|
|
|
+│ ├── udf/ # UDF 库
|
|
|
|
|
+│ │ ├── common/ # 通用 UDF
|
|
|
|
|
+│ │ └── business/ # 业务专用 UDF
|
|
|
|
|
+│ ├── utils/ # 通用工具(参数解析、日期、文件、日志、SQL 解析等)
|
|
|
|
|
+│ ├── io/ # (占位)I/O 边界:跨进程读写
|
|
|
|
|
+│ │ ├── db/
|
|
|
|
|
+│ │ ├── file/
|
|
|
|
|
+│ │ └── hdfs/
|
|
|
│ ├── ops/ # (占位)仓内数据运维(小文件合并、分区清理)
|
|
│ ├── ops/ # (占位)仓内数据运维(小文件合并、分区清理)
|
|
|
-│ ├── dq/ # (占位)数据质量检查(schema drift、值域、关联、规模)
|
|
|
|
|
|
|
+│ ├── dq/ # (占位)数据质量检查
|
|
|
│ ├── pm/ # (占位)项目管理工具集成(TAPD / Jira API)
|
|
│ ├── pm/ # (占位)项目管理工具集成(TAPD / Jira API)
|
|
|
│ └── wiki/ # (占位)外部文档同步(Docmost → kb/inbox)
|
|
│ └── wiki/ # (占位)外部文档同步(Docmost → kb/inbox)
|
|
|
├── kb/ # 知识库:项目文档
|
|
├── kb/ # 知识库:项目文档
|
|
|
├── conf/ # 配置层(非敏感配置,入库)
|
|
├── conf/ # 配置层(非敏感配置,入库)
|
|
|
│ ├── env.sh # 环境变量 / 路径(bash + Python 单源)
|
|
│ ├── env.sh # 环境变量 / 路径(bash + Python 单源)
|
|
|
-│ ├── spark-defaults.conf # Spark 行为 / 开关类默认(少改)
|
|
|
|
|
-│ ├── spark-tuning.conf # Spark 资源 / 调优类默认(常改)
|
|
|
|
|
-│ ├── templates/ # 开发样板,按引擎分 datax/ + spark/(见 30-开发规范.md §7)
|
|
|
|
|
-│ └── bak/ # 老 conf/datax/config/ 归档(gitignore)
|
|
|
|
|
|
|
+│ ├── spark-defaults.conf
|
|
|
|
|
+│ ├── spark-tuning.conf
|
|
|
|
|
+│ ├── templates/ # 开发样板(见 30-开发规范.md §7)
|
|
|
|
|
+│ │ ├── datax/
|
|
|
|
|
+│ │ │ ├── datasource/
|
|
|
|
|
+│ │ │ └── sync/
|
|
|
|
|
+│ │ └── spark/
|
|
|
|
|
+│ │ ├── ddl/
|
|
|
|
|
+│ │ └── sql/
|
|
|
|
|
+│ └── bak/ # 老配置归档(gitignore)
|
|
|
|
|
+│ ├── datax/
|
|
|
|
|
+│ │ ├── config/
|
|
|
|
|
+│ │ └── datasource/
|
|
|
|
|
+│ └── flume/
|
|
|
|
|
+│ └── config/
|
|
|
├── tests/ # 测试
|
|
├── tests/ # 测试
|
|
|
│ ├── unit/ # 纯函数单测
|
|
│ ├── unit/ # 纯函数单测
|
|
|
|
|
+│ │ └── udf/
|
|
|
│ ├── integration/ # Spark / DataX 集成测试
|
|
│ ├── integration/ # Spark / DataX 集成测试
|
|
|
│ └── README.md
|
|
│ └── README.md
|
|
|
├── publish.sh # 集群部署脚本
|
|
├── publish.sh # 集群部署脚本
|
|
@@ -130,8 +155,3 @@ conf/spark-defaults.conf + conf/spark-tuning.conf (L1,全局默认,大数
|
|
|
部署用户:bigdata
|
|
部署用户:bigdata
|
|
|
部署方式:git pull + rsync (publish.sh → re-all 分发)
|
|
部署方式:git pull + rsync (publish.sh → re-all 分发)
|
|
|
```
|
|
```
|
|
|
-
|
|
|
|
|
-**日志目录**:
|
|
|
|
|
-
|
|
|
|
|
-- **已实现**(2026-04-21,kb/92 A.1):`LOG_ROOT_DIR` 外配到 `conf/env.sh`(默认 `${HOME}/log`);老项目 whoami 分流(`/opt/data/log` vs `~/data/log`)已删除,统一由 `LOG_ROOT_DIR` 决定落点(release 用户 bigdata 落 `/home/bigdata/log/`,个人落各自家目录)
|
|
|
|
|
-- **目标态**(待日志模块重写,见 `90-重构路线.md` §7.2 / §7.2.1,kb/92 D):统一按 `${LOG_ROOT_DIR}/{module}/{dt}/{file}.log` 结构输出
|
|
|