项目简介
本项目是基于Spring Boot框架和Disruptor高性能并发框架构建的ETL(Extract, Transform, Load)数据处理系统。其目标是高效地从多个数据源抽取数据,进行必要转换后加载到目标数据源,支持多数据源查询、入库,集群处理以及父子任务依赖。
项目的主要特性和功能
- 多数据源支持:可从MySQL、Hive等多个数据源抽取数据,将处理后的数据加载到不同目标数据源。
- 动态数据源切换:通过动态数据源配置,能在运行时按需切换不同数据源。
- 高性能并发处理:利用Disruptor框架实现高并发下的数据抽取、转换和加载。
- 任务依赖管理:支持父子任务依赖,保证任务按正确顺序执行。
- 分段处理和批量处理:提供分段SQL和批量插入功能,优化大数据量处理性能与稳定性。
- 自动分页策略:支持自动分页处理,防止一次性处理大数据量导致系统崩溃。
- 异常处理和日志记录:具备完善的异常处理机制和日志记录功能,确保系统稳定运行。
安装使用步骤
1. 环境准备
- 安装Java 8或更高版本。
- 安装并配置好MySQL数据库。
- 下载并安装Maven,用于项目构建和管理依赖。
2. 进入项目目录
bash
cd sunlihuo_simpleETL
3. 配置数据源
在src/main/resources
目录下找到application.properties
文件,配置数据库连接信息:
```properties
spring.datasource.oldmain.url=jdbc:mysql://localhost:3306/oldmain
spring.datasource.oldmain.username=root
spring.datasource.oldmain.password=root
spring.datasource.datacenter.url=jdbc:mysql://localhost:3306/datacenter spring.datasource.datacenter.username=root spring.datasource.datacenter.password=root
spring.datasource.store.url=jdbc:mysql://localhost:3306/store spring.datasource.store.username=root spring.datasource.store.password=root ```
4. 构建项目
使用Maven构建项目:
bash
mvn clean install
5. 运行项目
在项目根目录下运行以下命令启动Spring Boot应用:
bash
mvn spring-boot:run
6. 使用示例
项目启动后,可通过API接口或定时任务触发ETL任务。例如,通过HTTP请求触发ETL任务:
bash
curl -X POST http://localhost:8080/etl/etl -H "Content-Type: application/json" -d '{"etlId": 1, "etlName": "example_etl", "selectSql": "SELECT * FROM example_table"}'
7. 查看日志
ETL任务的执行日志会输出到控制台,可通过日志查看任务执行情况和结果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】