国产 ETL etl-engine 可视化 轻量级 跨平台 支持动态解析 GO 语言脚本
产品概述
我们不仅仅是数据的搬运工,还是数据搬运过程中加工处理的工厂。
我们不仅仅适用关系型数据库中,还适配当下流行的时序数据库、消息中间件中。
etl-engine 的核心思想是为用户快速搭建 ETL 产品提供解决方案,让用户低代码乃至零代码将 ETL 产品集成到自己的项目或产品生态中。
该产品由 etl-engine 引擎和 etl-designer 云端设计器及 etl-crontab 调度组成。
etl-engine 引擎负责解析 ETL 配置文件并执行 ETL 任务;
etl-designer 云端设计器通过拖拉拽的方式生成 etl-engine 引擎可识别的 ETL 任务配置文件;
etl-crontab 调度设计器负责按时间周期执行指定的 ETL 任务,及查询 ETL 任务执行日志功能。
总体架构
etl-designer 设计器
etl-crontab 调度
etl 详细日志
应用场景
异构系统数据交换
传统行业各业务系统数据相对独立,随着信息平台一体化、数据中台及大数据时代的推进,要求各业务系统数据相互融合,业务资源共享。
etl-engine 支持对关系型数据库、时序数据库等不同媒体进行数据交换。
数据分发网关
电商、物联网等领域在设备上报数据、日志采集、轨迹埋点等场景中从数据接收、再次加工、数据分发、数据格式化存储的要求尤为突出。
etl-engine 支持 kafka、rocketmq、prometheus 等多种数据源的接收;
支持在接收过程中对数据进行各种转换、清洗、治理;
支持将同一数据源的数据经过再次加工后同时分发到多种目标中。
产品优势
轻量级
该产品由 Go 语言开发,与生俱来的效率高,无需依赖各种动态库、静态库,部署方便,开箱即用,轻量级引擎。
配置简单
通过云端 etl-designer 设计器,可视化拖拉拽方式就可以实现 ETL 任务的定制化配置工作及调度配置工作。
跨平台
直接编译成二进制文件,支持跨平台执行(windows、linux、mac),只需要一个可执行文件和一个配置文件就可以运行,无需其它依赖。
集成度高
etl-crontab 调度集成了 etl-designer 云端设计器,只需运行一个执行文件即获得两个产品功能,支持 HTTP/HTTPS 协议访问,为方便用户产品集成,该功能可根据需要独立分发也可集成分发。
解析 Go 脚本
etl-engine 中任意一个输出节点都可以嵌入 go 语言脚本并进行解析性运行,实现对输出数据流的格式转换功能。
动态配置
为满足业务场景需要,etl-engine 支持 ETL 配置文件中使用外部传递的全局变量,实现动态更新 ETL 配置文件功能。
遵循 pipeline 模型
任意一个输入节点可以同任意一个输出节点进行组合;
任意一个输入节点都可以通过组合数据流拷贝节点,实现从一个输入同时分支到多个输出的场景;
任意一个输出节点都可以嵌入 go 语言脚本并进行解析,实现对输出数据流的格式转换功能。
支持二开
支持节点级二次开发,通过配置自定义节点,并在自定义节点中配置 go 语言脚本,可扩展实现各种功能操作。
日志查询
支持对 etl-engine 各节点执行情况的查询功能,方便监控执行轨迹。
执行情况报警
支持将任务执行失败情况通过 HTTP/HTTPS、SMS 方式上送报警功能。
安全性
暴露的服务接口支持 HTTPS 证书双向认证、Basic Auth 认证、Token 方式访问。
高可用
支持将 N 个 etl-crontab 服务端注册到 consul 服务中心,集成商可通过从 consul 服务中心发现 etl-crontab 服务端地址,以实现高可用。
技术指标
支持部署模式
按原有产品功能前后端集成或前后端分离部署;
按用户个性化需求定制开发部署;
支持操作系统
Windows、Linux、Unix、Mac
支持数据源类型
文件类型
Excel、CSV
数据库类型
MySQL、PostgreSQL、Oracle、Sqlite、Redis
消息中间件
Kafka、Rocketmq
时序数据库
Influxdb、Clickhouse、Prometheus
评论