Python-фреймворк ETL для потоковой обработки, аналитики в реальном времени, LLM-пайплайнов и RAG на базе движка на Rust.
arkflow-rs/arkflow
Механизм потоковой обработки данных на Rust: выполняет SQL-запросы, Python UDF и шаги ML/LLM над потоками реального времени из Kafka, MQTT, NATS и других источников.
- Звёзды
- 1,313
- Форки
- 47
- Открытые issues
- 29
- Последний коммит
- вчера
Что это?
ArkFlow — механизм потоковой обработки данных на Rust, работающий на асинхронном runtime Tokio. Потоки описываются в YAML: для каждого задаются вход, конвейер обработки, выход и необязательный выход для сообщений, которые не удалось обработать. Среди источников — Kafka, MQTT, NATS, Pulsar, Redis, WebSocket, HTTP, файлы и SQL-базы данных; среди выходов — Kafka, MongoDB, InfluxDB, SQL-базы данных и векторные хранилища, например Qdrant, Milvus и pgvector.
Шаги обработки включают SQL-запросы, пользовательские функции на Python, преобразования VRL, конвертацию JSON и Protobuf, а также пакетную обработку. В конвейере также есть процессоры для вызова API эмбеддингов и чата, совместимых с OpenAI, выполнения векторного поиска и обогащения строк данными из Redis. По умолчанию доставка сообщений выполняется как минимум один раз благодаря WAL для каждого потока; для транзакционных приёмников можно включить режим ровно один раз.
Дополнительно можно использовать Hub и веб-консоль, чтобы отслеживать и настраивать несколько узлов ArkFlow как единый кластер.
Ключевые возможности
- 01Конвейеры потоковой обработки в YAML с входом, процессорами, выходом и выходом для ошибок
- 02Шаги обработки с SQL, Python UDF, VRL и Protobuf
- 03Коннекторы для Kafka, MQTT, NATS, Redis, SQL-баз данных и многих других систем
- 04Процессоры для эмбеддингов, LLM и векторного поиска в задачах AI
- 05Доставка как минимум один раз по умолчанию с помощью WAL для каждого потока
Сценарии использования
- Фильтрация и преобразование топиков Kafka в реальном времени с помощью SQL
- Обогащение потока сообщений эмбеддингами или LLM перед записью в векторную базу данных
- Приём данных с IoT-датчиков по MQTT и запись в InfluxDB или SQL-базу данных
- Синхронизация событий об изменениях в базе данных из топиков Kafka в формате Debezium
Быстрый старт
- 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 не описана установка через менеджер пакетов.
- Перед запуском файл конфигурации Quick Start нужно создать вручную под именем config.yaml.
Темы
Частые вопросы
- Что такое arkflow?
- Механизм потоковой обработки данных на Rust: выполняет SQL-запросы, Python UDF и шаги ML/LLM над потоками реального времени из Kafka, MQTT, NATS и других источников. ArkFlow — механизм потоковой обработки данных на Rust, работающий на асинхронном runtime Tokio. Потоки описываются в YAML: для каждого задаются вход, конвейер обработки, выход и необязательный выход для сообщений, которые не удалось обработать. Среди источников — Kafka, MQTT, NATS, Pulsar, Redis, WebSocket, HTTP, файлы и SQL-базы данных; среди выходов — Kafka, MongoDB, InfluxDB, SQL-базы данных и векторные хранилища, например Qdrant, Milvus и pgvector.
- arkflow можно использовать бесплатно? Какая у него лицензия?
- arkflow распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- arkflow всё ещё поддерживается?
- Активно поддерживается. Последний коммит в arkflow — 21 окт. 2026 г..
- Для чего можно использовать arkflow?
- Фильтрация и преобразование топиков Kafka в реальном времени с помощью SQL Обогащение потока сообщений эмбеддингами или LLM перед записью в векторную базу данных Приём данных с IoT-датчиков по MQTT и запись в InfluxDB или SQL-базу данных Синхронизация событий об изменениях в базе данных из топиков Kafka в формате Debezium
- Как установить 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
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Потоковый процессор на Go, который связывает брокеры сообщений, облачные сервисы и базы данных и преобразует данные с помощью языка маппинга.
Фреймворк инкрементальных конвейеров данных на Python с ядром на Rust, который синхронизирует векторные индексы и графы знаний с меняющимися источниками для AI-агентов и RAG-приложений.
Высокопроизводительный конвейер observability на Rust для сбора, преобразования и маршрутизации логов и метрик в любые системы назначения.
Открытое аналитическое хранилище данных на Rust: SQL-аналитика, векторный и полнотекстовый поиск, изолированное выполнение Python UDF и совместимое с S3 хранилище.
Распределённое OLAP-хранилище для аналитики с низкой задержкой по потоковым и пакетным данным, поступающим из Kafka и S3.