142 lines
3.1 KiB
Markdown
142 lines
3.1 KiB
Markdown
# 飞球 ETL GUI 管理系统
|
||
|
||
一个基于 PySide6 的图形化 ETL 管理工具。
|
||
|
||
## 功能特性
|
||
|
||
- **任务配置**: 选择和配置 ETL 任务,支持参数设置和 CLI 命令预览
|
||
- **任务管理**: 任务队列管理、执行历史记录、自动执行
|
||
- **环境配置**: 图形化编辑 `.env` 配置文件
|
||
- **数据库查看**: 浏览表结构、执行 SQL 查询
|
||
- **ETL 状态**: 实时查看 ODS/DWD 数据状态和执行记录
|
||
- **日志查看**: 实时日志输出、过滤、导出
|
||
|
||
## 快速开始
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
cd etl_billiards
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
### 2. 运行 GUI
|
||
|
||
**方法一:使用启动脚本**
|
||
|
||
```bash
|
||
# Windows 命令行
|
||
run_gui.bat
|
||
|
||
# 或 PowerShell
|
||
.\run_gui.ps1
|
||
```
|
||
|
||
**方法二:直接运行 Python**
|
||
|
||
```bash
|
||
cd etl_billiards
|
||
python -m gui.main
|
||
```
|
||
|
||
## 打包为 EXE
|
||
|
||
### 安装打包工具
|
||
|
||
```bash
|
||
pip install pyinstaller
|
||
```
|
||
|
||
### 执行打包
|
||
|
||
```bash
|
||
# 目录模式(推荐,启动更快)
|
||
python build_exe.py
|
||
|
||
# 单文件模式
|
||
python build_exe.py --onefile
|
||
|
||
# 显示控制台(调试用)
|
||
python build_exe.py --console
|
||
|
||
# 清理并重新打包
|
||
python build_exe.py --clean
|
||
```
|
||
|
||
打包完成后,EXE 文件位于 `dist/ETL管理系统/` 目录。
|
||
|
||
## 目录结构
|
||
|
||
```
|
||
gui/
|
||
├── main.py # 应用入口
|
||
├── main_window.py # 主窗口
|
||
├── widgets/ # UI 组件
|
||
│ ├── task_panel.py # 任务配置面板
|
||
│ ├── task_manager.py # 任务管理器
|
||
│ ├── env_editor.py # 环境变量编辑器
|
||
│ ├── log_viewer.py # 日志查看器
|
||
│ ├── db_viewer.py # 数据库查看器
|
||
│ └── status_panel.py # ETL 状态面板
|
||
├── workers/ # 后台工作线程
|
||
│ ├── task_worker.py # 任务执行线程
|
||
│ └── db_worker.py # 数据库查询线程
|
||
├── models/ # 数据模型
|
||
│ └── task_model.py # 任务数据模型
|
||
├── utils/ # 工具模块
|
||
│ ├── cli_builder.py # CLI 命令构建器
|
||
│ └── config_helper.py # 配置辅助
|
||
└── resources/ # 资源文件
|
||
└── styles.qss # 样式表
|
||
```
|
||
|
||
## 使用说明
|
||
|
||
### 任务配置
|
||
|
||
1. 在左侧选择任务分类
|
||
2. 勾选要执行的任务
|
||
3. 配置运行参数(Pipeline 模式、时间窗口等)
|
||
4. 查看底部的 CLI 命令预览
|
||
5. 点击「立即执行」或「添加到队列」
|
||
|
||
### 环境配置
|
||
|
||
1. 打开「环境配置」面板
|
||
2. 编辑各项配置(数据库、API、路径等)
|
||
3. 点击「保存」
|
||
|
||
### 数据库查看
|
||
|
||
1. 打开「数据库」面板
|
||
2. 输入或使用 .env 中的 DSN
|
||
3. 点击「连接」
|
||
4. 浏览表结构或执行 SQL 查询
|
||
|
||
## 常见问题
|
||
|
||
### Q: 启动时提示缺少 PySide6
|
||
|
||
```bash
|
||
pip install PySide6
|
||
```
|
||
|
||
### Q: 连接数据库失败
|
||
|
||
检查 `.env` 中的 `PG_DSN` 配置是否正确。
|
||
|
||
### Q: 打包后运行闪退
|
||
|
||
使用 `--console` 参数重新打包,查看错误信息:
|
||
|
||
```bash
|
||
python build_exe.py --console
|
||
```
|
||
|
||
## 技术栈
|
||
|
||
- Python 3.10+
|
||
- PySide6 (Qt for Python)
|
||
- psycopg2 (PostgreSQL)
|
||
- PyInstaller (打包)
|