开源免费ETL工具==PYTHON实现

方便自己快速处理一些基于文件的聚合计算,比如CSV。

https://github.com/hebian1994/etl_react_flow

🛠️ ETL Flow Builder

A powerful, visual ETL (Extract-Transform-Load) tool built with React , React Flow , Material-UI , and a Python Flask backend. Design and manage complex data pipelines with a user-friendly interface and DAG-based execution.


📸 Preview

📸 Structure


🚀 Features

🔄 Flow Management

  • Create, edit, and delete ETL flows
  • Flow version history and versioning
  • Real-time configuration and validation

🧩 Node System

  • Modular nodes for various ETL operations:
    • File Input
    • Data Viewer
    • Filter
    • Left Join
  • Custom node configuration panels
  • Node connection validation and schema enforcement

⚙️ Data Processing

  • DAG-based flow execution
  • Schema propagation and management
  • Preview intermediate data at any node
  • Configuration validation before execution

🧱 System Architecture

🖥️ Frontend

  • Framework: React + TypeScript
  • Visualization: React Flow
  • UI Library: Material-UI (MUI)
  • Engine Library: Polars
  • Core Components:
    • FlowList: Dashboard for managing flows
    • Designer: Drag-and-drop interface for building flows
    • History: View and restore previous versions
    • Custom Node UI and Config Panels

🔧 Backend

  • Framework: Python + Flask
  • Database: SQLite (via SQLAlchemy ORM)
  • API: RESTful endpoints for flow and node operations
  • Core Services:
    • FlowService: Handles flow CRUD and metadata
    • NodeService: Manages node lifecycle and configurations
    • ETLService: Executes DAGs and manages schema propagation

🧬 Data Models

复制代码
Flow    ──>  stores flow structure and metadata
Node    ──>  represents each ETL operation
Config  ──>  holds node-specific configuration
Schema  ──>  manages and validates data schema

🔒 State & Validation

  • Node configuration status tracking
  • Flow validation before execution
  • Schema-aware transformations and previews
  • UI-managed configuration state

🛠️ Tech Stack

Layer Technology
Frontend React, TypeScript, React Flow, MUI
Backend Polars, Python, Flask, SQLAlchemy
Database SQLite
Architecture REST API + DAG Executor

📦 Getting Started

🔧 Prerequisites

  • Node.js (v16+)
  • Python (v3.8+)
  • pipenv or virtualenv

🖥️ Frontend Setup

复制代码
cd frontend
npm install
npm run dev

🐍 Backend Setup

复制代码
cd backend
pipenv install
pipenv run flask run
相关推荐
2401_874732536 小时前
为你的Python脚本添加图形界面(GUI)
jvm·数据库·python
FreakStudio6 小时前
0 元学嵌入式 GUI!保姆级 LVGL+MicroPython 教程开更,从理论到实战全搞定
python·单片机·嵌入式·面向对象·电子diy
AI成长日志6 小时前
【datawhale】hello agents开源课程学习记录第5章 智能体应用实践:低代码平台构建指南
学习·低代码·开源
剑穗挂着新流苏3128 小时前
117_PyTorch 实战:利用训练好的模型进行单张图片验证
人工智能·python·深度学习
Lethehong9 小时前
Python Selenium全栈指南:从自动化入门到企业级实战
python·selenium·测试工具·自动化
智算菩萨9 小时前
MP3音频编码原理深度解析与Python全参数调优实战:从心理声学模型到LAME编码器精细控制
android·python·音视频
qq_4523962310 小时前
【模型手术室】第四篇:全流程实战 —— 使用 LLaMA-Factory 开启你的第一个微调任务
人工智能·python·ai·llama
无心水10 小时前
Java时间处理封神篇:java.time全解析
java·开发语言·python·架构·localdate·java.time·java时间处理
吴秋霖11 小时前
【某音电商】protobuf聊天协议逆向
python·算法·protobuf
深藏功yu名11 小时前
Day24:向量数据库 Chroma_FAISS 入门
数据库·人工智能·python·ai·agent·faiss·chroma