轻量化ETL工具

我要开发同款
proginn18192501362024年02月21日
81阅读
开发技术java
所属分类ETL工具、作业/任务调度

作品详情

背景:数据中台产品群产品结构复杂,数据中台的部署需要依托于大数据平台的底座,这决定了市场上存在很多公司对于数据中台的需求度不高,因此需考虑一种无需依托大数据平台的轻量化的数据开发工具。
轻量化 ETL 平台:通过拖拉拽的方式配置工作流的方式,实现了对数据进行抽取、加工、回流等工作。
根据开源的 kestra 的0.5.3版本进行二次开发的,支持可插拔的插件方式部署。相关技术栈:micronaut、gradle、mysql、jdbc等。
主要功能如下:
任务流管理,任务执行记录,任务调度,执行日志,任务编排,数据源管理,数据服务 api ,文件导入等。
任务流管理:是通过拖拉拽的方式实现的,每个工作流节点都可以进行任务编排填写相关配置,编排好的工作流节点 通过连线的方式指向下一个工作流节点,依次类推设计好工作流。同时可以通过 cron 表达式配置该任务流执行的时间,或者配置为 webhook 方式请求的 api 接口等。
任务执行记录:编排好的工作流可以根据 cron 表达式的时间执行,也可以根据外部接口调用方式执行,
每次执行都会有相关执行记录,进度条,状态,执行日志以及 每个工作流节点的输出内容。
数据源管理:可以在这里管理数据源,目前仅支持 mysql,oracle 数据源配置,并同步相关数据源中的 schema ,数据库,数据表和表字段等元信息。方便用于工作流的数据源节点进行选择。
数据服务 api :目前仅实现了 get 请求的功能,通过配置请求和相应参数,写查询 sql ,通过 jdbc 方式进行查询远程数据。

业绩:
1、通过拖拉拽的方式配置工作流的方式,实现了对数据进行抽取、加工、回流等工作。
2、目前可根据轻量化 ETL 平台接入第三方数据,经多方验证和压测,目前最大支持500万级别的数据。
3、也可以对外提供简单的数据服务 api ,目前已提对外提供了50多个可公用接口。
4、目前已应用到天能项目,产融云,普惠等项目中。
5、给 kestra 开源社区提供了拖拉拽的思路和技术方案。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论