# ETL数据抽取平台 **Repository Path**: jzyinfo/etl-platform ## Basic Information - **Project Name**: ETL数据抽取平台 - **Description**: 代码是基于springcloud+springbatch实现的ETL数据抽取功能,任务调度采用xxl-job框架。前端采用bootstrap,本人是一名java工程师,前端展示非本项目重点,只能勉强凑合用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 86 - **Created**: 2021-06-06 - **Last Updated**: 2021-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **ETL数据抽取平台介绍** 代码是基于springcloud+springbatch实现的ETL数据抽取功能,任务调度采用xxl-job框架。前端采用bootstrap,本人是一名java工程师,前端展示非本项目重点,只能勉强凑合用。借助springbatch批处理框架,可以实现常用数据源的规则化数据抽取。该框架的实现是基于源数据->ODS(贴源数据)->DW(数据仓库)->DW(数据集市)的四大步实现的。当前开发任务是实现源数据到贴源数据的抽取,过程中表自动创建。 **一、技术点介绍** 一期 - 1.springcloud+springbatch搭建抽取的整体框架 - 2.xxl-job实现任务调度 - 3.bootstrap 前端 - 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)任务调度 --尚未开始,采用xxl-job框架 - 4.1 调度管理 --进行中 - 4.2 任务队列 --尚未开始 - 4.3 运行日志 --尚未开始 - 5)元数据管理 --尚未开始元数据只涉及数据仓库与数据集市的管理 - 5.1 字段管理 --尚未开始 - 5.2 表管理 --尚未开始 **五、问题咨询** 开发是基于业余时间的开发,进度可能没有大家期望的快。更多内容敬请期待。有问题可以添加QQ2684231871咨询,也可留言。