# my-etl **Repository Path**: gotfocus/my-etl ## Basic Information - **Project Name**: my-etl - **Description**: 一个轻量级ETL平台,通过集成DataX实现异构数据源之间的数据同步。平台提供数据源管理、任务配置、调度执行、监控记录等功能,并能够方便地扩展支持新的数据源(如MySQL、Oracle、Hive、达梦、人大金仓等)。 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-10 - **Last Updated**: 2026-04-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # My ETL Platform 轻量级ETL平台,通过集成DataX实现异构数据源之间的数据同步。 ## 技术栈 - JDK 1.8 - Spring Boot 2.3.x - MyBatis-Plus 3.4.x - Redis (Spring Data Redis) - Quartz - DataX - MySQL 8.0.32 - Maven ## 功能特性 - 数据源管理:支持MySQL、Oracle、Hive、达梦、人大金仓等 - ETL任务配置:支持全量和增量同步 - 任务调度:基于Quartz的定时任务 - 监控记录:任务执行历史和日志查看 - 可扩展性:支持添加新的数据源 ## 项目结构 ``` my-etl/ ├── etl-common/ # 公共模块 ├── etl-dao/ # 数据访问层 ├── etl-service/ # 业务逻辑层 ├── etl-scheduler/ # 调度模块 ├── etl-web/ # Web模块 ├── sql/ # 数据库脚本 └── pom.xml ``` ## 快速开始 ### 1. 数据库初始化 ```bash # 先启动MySQL容器,然后执行初始化脚本 mysql -h localhost -u root -p123456 < sql/init.sql ``` ### 2. 配置修改配置文件 修改 `etl-web/src/main/resources/application.yml` 中的数据库和Redis配置 ### 3. 安装DataX 下载并解压DataX到 `/opt/datax` 目录 ### 4. 启动项目 ```bash mvn clean install cd etl-web mvn spring-boot:run ``` ## API文档 ### 数据源管理 - `POST /api/datasources` - 新增数据源 - `GET /api/datasources` - 数据源列表 - `PUT /api/datasources/{id}` - 修改数据源 - `DELETE /api/datasources/{id}` - 删除数据源 - `POST /api/datasources/test` - 测试连接 ### ETL任务管理 - `POST /api/tasks` - 创建任务 - `GET /api/tasks` - 任务列表 - `PUT /api/tasks/{id}` - 修改任务 - `DELETE /api/tasks/{id}` - 删除任务 - `POST /api/tasks/{id}/run` - 手动执行任务 - `GET /api/tasks/{id}/history` - 任务执行历史 - `GET /api/tasks/history/{historyId}/log` - 获取执行日志