项目简介
OpenDataWorks 是一款面向现代数据仓库及湖仓一体架构的一站式智能数据工作台。它深度整合了元数据管理、可视化工作流编排、数据血缘分析与智能问数(NL2SQL),致力于打破技术人员与业务人员之间的数据壁垒,降低数据治理与分析的门槛。
1. 为什么选择 OpenDataWorks?
在传统的数据治理和开发流程中,元数据维护滞后、工作流调度复杂、血缘追溯困难,业务人员更是难以直接从数据仓库中获取所需信息。OpenDataWorks 针对这些痛点,提供了开箱即用的闭环解决方案:
- 智能问数 (Natural Language to SQL):业务人员只需通过中文日常对话提问(如“统计最近30天交易额趋势”),系统便能自动理解意图、生成 SQL、安全执行查询,并自动推荐并生成折线图、柱状图或表格。
- 业务元数据与物理表双向绑定:提供可视化的「表设计器」,支持直接在界面上设计表结构并自动同步更新底层数据库(如 Apache Doris)的物理结构,实现元数据与生产环境实时一致。
- 安全稳定的工作流发布审批:集成了 Apache DolphinScheduler 的成熟调度能力,并在此基础上提供了类似 Git 的“草稿-发布差异预览-经理审批-上线运行”安全协同链路,支持多版本比对与一键回滚。
- 自动化全局数据血缘:系统通过 SQL 任务的输入输出定义自动解析并构建全链路表级数据血缘图谱,支持快速的影响分析(修改表结构时评估下游影响)与数据溯源。
2. 核心模块与功能图谱
OpenDataWorks 的核心功能分为以下四大支柱:
┌────────────────────────┐
│ OpenDataWorks │
└───────────┬────────────┘
│
┌──────────────────┬──────┴───────────┬──────────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ 元数据管理 │ │ 工作流编排 │ │ 数据血缘 │ │ 智能问数 │
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
├─ 可视化设计器 ├─ 可视化DAG连线 ├─ 表级血缘拓扑 ├─ 自然语言多轮对话
├─ 物理结构同步 ├─ 多版本管理/回滚 ├─ 追溯深度控制 ├─ 自愈式SQL纠错
└─ 回收站生命周期 └─ 历史区间补数据 └─ 多维过滤检索 └─ ECharts智能推荐3. 技术栈简介
项目采用现代化主流开发技术栈构建,以保证系统的高效运行与容器化一键部署:
- 前端 Web 应用:基于 Vue 3、Vite 和 Element Plus 库构建,并集成 ECharts 实现大盘指标与血缘图谱的可视化展示。
- 主后端服务:基于 Java 8、Spring Boot、MyBatis-Plus 与 MySQL 8,集成了 Flyway 表结构版本管理及 Apache DolphinScheduler API 客户端。
- 智能查询 DataAgent:基于 Python、FastAPI 及 Claude Agent SDK 构建,通过 Redis 队列处理异步长查询,并使用 SSE (Server-Sent Events) 技术流式推送思考路径和结果。