# data-dispatcher-dlt **Repository Path**: zhulma/data-dispatcher-dlt ## Basic Information - **Project Name**: data-dispatcher-dlt - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-14 - **Last Updated**: 2025-12-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Data Dispatcher DLT ## 介绍 Data Dispatcher DLT 是一个基于 Python 的数据分发系统,使用 DLT (Data Load Tool) 将 JSON 数据分发到 PostgreSQL/GaussDB 数据库。该系统提供了 Web 界面用于可视化查询和管理数据。 ## 软件架构 - **后端**: Python 3.11, FastAPI, DLT - **前端**: FastUI - **数据库**: PostgreSQL (可切换到 GaussDB) - **依赖管理**: uv ## 功能特性 - JSON 数据接收和处理 - 自动化的 DLT 数据管道 - 支持主表和子表的数据持久化 - 可视化 Web 界面查询 - 多环境配置 (开发/生产) - 表名自定义配置 ## 安装教程 ### 环境要求 - Python 3.11 - PostgreSQL 或 GaussDB 数据库 - uv 包管理工具 ### 安装步骤 1. 克隆项目代码: ```bash git clone cd data-dispatcher-dlt ``` 2. 安装依赖: ```bash uv sync ``` 3. 配置数据库连接: 编辑 `config/.env.dev` 或 `config/.env.prod` 文件中的数据库连接信息 4. 启动服务: ```bash # 开发环境 python run.py --env dev # 生产环境 python run.py --env prod ``` ## 使用说明 ### API 接口 - `POST /api/v1/dispatch` - 分发 JSON 数据 - `GET /api/v1/tables` - 列出所有表 - `GET /api/v1/data/{table_name}` - 查询指定表的数据 ### 配置说明 配置文件位于 `config/` 目录下: - `.env.dev` - 开发环境配置 - `.env.prod` - 生产环境配置 主要配置项: - `ENVIRONMENT` - 运行环境 (dev/prod) - `DATABASE_URL_DEV` - 开发数据库连接字符串 - `DATABASE_URL_PROD` - 生产数据库连接字符串 - `DLT_MAIN_TABLE_NAME` - 主表表名 - `DLT_SUB_TABLE_NAME_PREFIX` - 子表表名前缀 ## 数据库表结构 系统会自动创建以下表: 1. 主表 (默认名: main_data) - 存储原始 JSON 数据 2. 子表 (默认名前缀: sub_data_) - 存储解析后的结构化数据 3. DLT 内部表 - 用于跟踪数据加载状态 ## Web 界面 访问 `http://localhost:8000` 查看 Web 界面,可以: - 查看系统状态 - 浏览数据表 - 查询数据内容 ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目采用 MIT 许可证,详情请见 LICENSE 文件。