Rustエンジンを基盤とし、ストリーム処理、リアルタイム分析、LLMパイプライン、RAGに対応するPython ETLフレームワーク。
arkflow-rs/arkflow
Kafka、MQTT、NATSなどのリアルタイムデータに対して、SQL、Python UDF、ML/LLM処理を実行するRust製ストリーム処理エンジン。
- スター
- 1,314
- フォーク
- 47
- 未解決の Issue
- 29
- 最終コミット
- 4 時間前
これは何?
ArkFlowは、Tokioの非同期ランタイム上で動作するRust製ストリーム処理エンジンです。ストリームはYAMLで定義し、入力、処理パイプライン、出力に加え、メッセージ処理に失敗した場合の任意のエラー出力を指定できます。入力先にはKafka、MQTT、NATS、Pulsar、Redis、WebSocket、HTTP、ファイル、SQLデータベースなどがあり、出力先にはKafka、MongoDB、InfluxDB、SQLデータベース、Qdrant、Milvus、pgvectorなどのベクトルストアがあります。
処理ステップには、SQLクエリ、Pythonのユーザー定義関数、VRL変換、JSONとProtobufの変換、バッチ処理があります。また、OpenAI互換のEmbedding APIやチャットAPIの呼び出し、ベクトル検索の実行、Redisを使ったルックアップによる行データの補完を行うプロセッサも備えています。各ストリームのWALによる耐久性を通じて、デフォルトで少なくとも1回の配信を保証し、トランザクション対応のシンクでは、任意で厳密に1回の配信を利用できます。
任意で導入できるHubとWebコンソールを使うと、複数のArkFlowノードをまとめて監視・設定できます。
主な機能
- 01入力、プロセッサ、出力、エラー出力をYAMLで定義するストリームパイプライン
- 02SQL、Python UDF、VRL、Protobufによる処理ステップ
- 03Kafka、MQTT、NATS、Redis、SQLデータベースなどに接続するコネクタ
- 04AIワークロード向けのEmbedding、LLM、ベクトル検索プロセッサ
- 05ストリームごとのWALにより、デフォルトで少なくとも1回の配信を実現
ユースケース
- KafkaのトピックをSQLでリアルタイムにフィルタリング・変換する
- メッセージストリームをベクトルデータベースに書き込む前に、EmbeddingやLLMでデータを拡充する
- MQTTからIoTセンサーデータを取り込み、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 にはパッケージマネージャーを使ったインストール方法は記載されていません。
- 実行前に、Quick Start の設定ファイルを config.yaml として手動で作成する必要があります。
収録されている特集
トピック
よくある質問
- arkflow とは?
- Kafka、MQTT、NATSなどのリアルタイムデータに対して、SQL、Python UDF、ML/LLM処理を実行するRust製ストリーム処理エンジン。 ArkFlowは、Tokioの非同期ランタイム上で動作するRust製ストリーム処理エンジンです。ストリームは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 は何に使えますか?
- KafkaのトピックをSQLでリアルタイムにフィルタリング・変換する メッセージストリームをベクトルデータベースに書き込む前に、EmbeddingやLLMでデータを拡充する MQTTからIoTセンサーデータを取り込み、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
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
メッセージブローカー、クラウドサービス、データベースをつなぎ、間でペイロードを変換するマッピング言語を備えたGo製ストリームプロセッサ。
Rustコアを備えたPython製の差分データパイプライン。AIエージェントやRAGアプリ向けに、ベクトルインデックスや知識グラフを更新します。
ログやメトリクスを収集・変換し、任意の宛先へルーティングするRust製の高性能なオブザーバビリティデータパイプライン。
S3互換ストレージ上でSQL分析、ベクトル検索、全文検索、Python UDFのサンドボックス実行を提供するRust製オープンソースデータウェアハウス。
KafkaやS3のストリーミング/バッチデータを取り込み、低レイテンシ分析を実現するリアルタイム分散OLAPデータストア。