基于 Rust 引擎的 Python ETL 框架,用于流处理、实时分析、LLM 管道和 RAG。
arkflow-rs/arkflow
基于 Rust 的流式数据处理引擎,可对 Kafka、MQTT、NATS 等来源的实时数据执行 SQL、Python 函数和 AI 推理。
- Star
- 1,314
- Fork
- 47
- 未关闭 Issue
- 29
- 最近提交
- 4小时前
这是什么?
ArkFlow 是一个用 Rust 编写、基于 Tokio 异步运行时的流处理引擎。数据流通过 YAML 配置定义,包括输入、处理流水线、输出以及可选的错误输出。输入端支持 Kafka、MQTT、NATS、Pulsar、Redis、WebSocket、HTTP、文件和 SQL 数据库;输出端支持 Kafka、MongoDB、InfluxDB、SQL 数据库,以及 Qdrant、Milvus、pgvector 等向量数据库。
处理环节包括 SQL 查询、Python 用户自定义函数、VRL 转换、JSON 与 Protobuf 编解码和批处理。流水线还内置调用 OpenAI 兼容的 Embedding 与对话接口、执行向量检索,以及基于 Redis 的维表查询。默认提供至少一次投递,依靠每个流的 WAL 持久化保障;事务型输出可选精确一次语义。
可选的 Hub 与 Web 控制台用于将多个 ArkFlow 节点作为集群统一监控和配置。
核心功能
- 01通过 YAML 定义包含输入、处理器、输出和错误输出的数据流
- 02支持 SQL、Python 函数、VRL 和 Protobuf 等处理步骤
- 03对接 Kafka、MQTT、NATS、Redis、SQL 数据库等多种数据源
- 04内置 Embedding、LLM 调用和向量检索处理器,用于 AI 场景
- 05默认通过每个流的 WAL 实现至少一次投递
适用场景
- 用 SQL 对 Kafka 主题进行实时过滤和转换
- 在消息流中调用 Embedding 或 LLM 进行富化,再写入向量数据库
- 从 MQTT 接收物联网传感器数据并写入 InfluxDB 或 SQL 数据库
- 同步 Debezium 格式 Kafka 主题中的数据库变更事件
快速上手
- 1
克隆仓库
git clone https://github.com/arkflow-rs/arkflow.git - 2
进入项目目录
cd arkflow - 3
以 release 模式构建项目
cargo build --release - 4
使用配置文件运行 ArkFlow
./target/release/arkflow --config config.yaml
使用前须知
- 从源码构建需要 Rust 工具链;README 中没有记载包管理器安装方式。
- 运行前需要手动创建 config.yaml 配置文件。
收录于专题
标签
常见问题
- arkflow 是什么?
- 基于 Rust 的流式数据处理引擎,可对 Kafka、MQTT、NATS 等来源的实时数据执行 SQL、Python 函数和 AI 推理。 ArkFlow 是一个用 Rust 编写、基于 Tokio 异步运行时的流处理引擎。数据流通过 YAML 配置定义,包括输入、处理流水线、输出以及可选的错误输出。输入端支持 Kafka、MQTT、NATS、Pulsar、Redis、WebSocket、HTTP、文件和 SQL 数据库;输出端支持 Kafka、MongoDB、InfluxDB、SQL 数据库,以及 Qdrant、Milvus、pgvector 等向量数据库。
- arkflow 可以免费使用吗?用的什么许可证?
- arkflow 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- arkflow 还在维护吗?
- 活跃维护中。arkflow 最近一次提交是在 2026年10月22日。
- arkflow 适合用来做什么?
- 用 SQL 对 Kafka 主题进行实时过滤和转换 在消息流中调用 Embedding 或 LLM 进行富化,再写入向量数据库 从 MQTT 接收物联网传感器数据并写入 InfluxDB 或 SQL 数据库 同步 Debezium 格式 Kafka 主题中的数据库变更事件
- arkflow 怎么安装和运行?
- 克隆仓库: git clone https://github.com/arkflow-rs/arkflow.git 进入项目目录: cd arkflow 以 release 模式构建项目: cargo build --release 使用配置文件运行 ArkFlow: ./target/release/arkflow --config config.yaml
- 在哪里获取 arkflow?
- 源代码和安装说明在 GitHub 上:https://github.com/arkflow-rs/arkflow
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 Go 编写的流处理器,连接消息队列、云服务和数据库,并支持在中间对数据进行转换。
基于 Python 与 Rust 内核的增量数据管道框架,让向量索引和知识图谱随源数据变化持续同步,服务于 AI 智能体与 RAG 应用。
用 Rust 编写的高性能可观测性数据管道,用于采集、转换和路由日志与指标。
用 Rust 编写的开源数据仓库,统一支持 SQL 分析、向量与全文检索及 Python 沙箱 UDF,数据存放于 S3 等对象存储。
面向低延迟实时分析的分布式 OLAP 数据存储,可接入 Kafka 流数据和 S3 等批量数据。