[开源]一个类似Kettle的数据分析平台,使用低代码方式编排任务

开源系统流程管理
2026-06-28 05:43 0 次浏览 • 0 次下载 0KB
[开源]一个类似Kettle的数据分析平台,使用低代码方式编排任务

一、开源项目简介

Visualization分布式数据分析平台

一个类似Kettle的数据分析平台,目标是数据分析,可承担一点ETL任务。Visualization使用低代码方式编排DAG任务,集群自动执行相应的任务。

二、开源协议

作者暂未指定开源协议

三、界面展示

部分截图

图片

图片

图片

图片

图片

图片

图片

图片

图片

图片

四、功能概述

特性

  • 流程配置化。提供前端拖拉拽形式配置流程,数据操作使用表单配置,少量代码即可完成相应的配置;

  • 基于Spring Cloud的分布式集群计算,外部依赖较少,容器集群部署相对方便;

  • DAG任务调度,节点任务由集群自动执行;

  • 支持多数据源,目前支持CSV、JDBC(MySQL驱动、PostgreSQL),后续会增加其他类型的数据源;

  • 文件分片上传下、下载;

  • 支持流程实例任务执行情况查询,以任务时间线形式展示;

  • 支持多租户权限管理,允许父子租户

  • 支持前端页面路由按权限动态生成;

使用场景

  • excel(异步)导出

  • 某些国企项目有excel导出需求,visual可以异步导出excel,减少代码开发量

  • 单节点可承接的数据分析。

  • 本工具目前不支持数据分片,大数据分析需自行在任务节点手动分片或使用其他OLAP工具或加大内存;

  • 一般个位数GB的JVM可以处理百万级数据

  • 有数据分析需求,但不想搭建大数据那套集群,可使用本工具;

  • 有配置需求的场景,例如定时生成分析报表的需求。

  • 这个目前需外部定时任务组件新建流程实例,目前市面上已经有很多定时任务组件可以搭配使用(后续考虑增加定时组件);

  • 跨数据源连接操作,例如某张表在PolarDB、CSV,另一张表在MySQL的连接操作;

  • 取数逻辑频繁修改,例如某个指标的获取方式。本工具只需修改配置即可实现修改逻辑;

  • 数据大屏的后端,类似于datav、mapv的画布工具,使用该工具可以快速构建大屏后端;

五、技术选型

架构图

图片

部署前置条件

JDK1.8+、MySQL5.7+、Redis6+、NodeJS、MinIO、InfluxDB

备注:作者开发环境是Mac,部分依赖可能和Windows有区别。作者开发过程就遇到Netty的依赖需要替换

工程结构

  • visual-discovery:注册中心eureka

  • visual-engine:计算节点,分布式集群请启动多实例

  • visual-core:配置化的基础实现

  • visual-portal:前端项目

  • visual-gateway:网关服务

  • visual-auth:权限服务

部署步骤

  1. 启动MySQL、Redis、Minio、InfluxDB

  2. 启动visual-discovery (SpringBoot的启动方式)

  3. 启动visual-gateway (SpringBoot的启动方式)

  4. 启动visual-auth (SpringBoot的启动方式)

  5. 启动visual-engine (SpringBoot的启动方式)

  6. 启动visual-portal (yarn test,其他环境指令目前就不配置了)

任务流程

  1. 在流程管理-流程定义新建流程模版。拖拽左侧“任务节点”到画布,点击节点进行配置。配置完成后点击发布流程

  2. 在已定义流程列表点击运行实例

  3. 等待任务完成,在“流程管理-流程实例列表-查看执行日志”里查看任务的执行情况

租户说明

  • 注册时,可选择租户用户和普通用户;

  • 普通用户在赋权后才与对应的租户关联;

  • 右上角的“企业/组织/团队”选择当前进入的租户空间,所有用户都默认和public租户关联;

存储空间说明

  • 存储空间可选个人、已关联的租户;

  • 所有配置项都存储在选择的存储空间;

流程实例涉及文件说明

流程涉及到的文件有以下两种路径

  • 路径前缀是spaceShare,则文件在spaceShare文件夹下;

  • 其余情况的路径前缀是“流程模版Id/流程实例Id/文件配置的路径”。这么设置是为了规避多流程实例出现文件覆盖。

更多内容请查看 README.md 文档