# ETL数据抽取平台 **Repository Path**: thehappytree/etl-platform ## Basic Information - **Project Name**: ETL数据抽取平台 - **Description**: 代码是基于springcloud+springbatch实现的ETL数据抽取功能,任务调度采用xxl-job框架。前端采用layui,本人是一名java工程师,前端展示非本项目重点,只能勉强凑合用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 84 - **Created**: 2023-06-01 - **Last Updated**: 2023-06-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **ETL数据抽取平台介绍** 代码是基于springcloud+springbatch实现的ETL数据抽取功能,任务调度采用xxl-job框架。前端采用layui,本人是一名java工程师,前端展示非本项目重点,只能勉强凑合用。借助springbatch批处理框架,可以实现常用数据源的规则化数据抽取。该框架的实现是基于HOS(源数据)->ODS(贴源数据)->DW(数据仓库)->DW(数据集市)的四大步实现的。xxl-job的任务调度,搭配springbatch的批处理框架,一套完美的ETL框架就出来了,优势是逻辑、流程可以自己写代码实现,借助框架本身的分布式特性,既能强化性能,又不失个性化。 hos->ods的过程基本就是单表的转移过程,过程中可以实现表自动创建 ods->dw的过程是将业务数据转换为维度模型数据的过程。需要完善的维度数据管理、校验、提醒。 ### 一、技术点介绍 一期 - 1.springcloud+springbatch搭建抽取的整体框架 - 2.xxl-job实现任务调度 - 3.layui 前端 - 4.基于数据库的动态数据源切换 - 5.暂时mysql方便本地部署,后期测试oracle、sqlserver、postgreysql 二期 - 1.完善元数据管理 - 2.加入对greenplum等分布式数据库的支持 - 3.更完善的多线程运行机制 - 4.实现数据地图更方便的查询数据 ### 二、代码介绍 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0528/000338_ba12a148_1640027.png "屏幕截图.png") ### 三、服务启动 - 1)spring-batch-core.jar包中找到对应的数据库建表语句 - 2)resource/sql中找到基础配置表 - 3)基于mysql创建对应数据库 - 4)启动nacos、redis - 5)启动etl-core项目中的EtlCoreApplication.java类 - 6)不出意外的话,访问http://127.0.0.1:8085/pages/login.html,恭喜,你可以访问了。 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0530/072937_662ab3d9_1640027.png "屏幕截图.png") ### 四、功能介绍 ETL涵盖内容包括核心的ETL数据处理、元数据管理、数据地图、数据仓库四大块。一期主要实现核心的ETL数据处理。内容包括五大块:基础数据、权限管理、抽取任务配置、任务调度、元数据管理五大块。 - 1)基础数据 - 1.1 基础字典 --后端已完成 - 1.2 基础字典项 --后端已完成 - 1.3 数据源管理 --已完成 - 1.4 数据库字段类型对照 --已完成,作用用于同化不同数据源字段,用于抽取过程自动建表 - 2)权限管理 --已完成 - 3)抽取任务配置 - 3.1 任务定义 --已完成 - 3.2 任务配置 --已完成 - 3.4 指标抽取配置 --已完成 - 4)任务调度 - 4.1 调度管理 --已完成 - 4.2 任务队列 --进行中 - 4.3 运行日志 --已完成 - 5)元数据管理 - 5.1 字段管理 --已完成 - 5.2 表管理 --已完成 - 6)实例job - 6.1 simpleJob 实现了基本的读取,写入 --已完成 - 6.2 odsToDwJobBean 实现了垃圾数据清洗、维度校验等功能 --已完成 ### 五、问题咨询 开发是基于业余时间的开发,进度可能没有大家期望的快。更多内容敬请期待。有问题可以加QQ群387738577咨询,也可留言。