bytewax/bytewax
Python Stream Processing
解決する課題
Bytewaxは、Pythonでステートフルなストリーム処理パイプラインを構築する方法を提供します。Apache FlinkやSparkのようなエンジンの高性能な分散処理能力と、Pythonエコシステムのアクセシビリティの間のギャップを埋め、開発者がお気に入りのPythonライブラリを使用してリアルタイムのデータ変換や機械学習を行えるようにします。
仕組み
Bytewaxはデータフロー計算モデルを使用しており、ユーザーは演算子とコネクタのグラフを定義します。データは Input(KafkaやS3など)から始まり、Operators(mapやfilterのようなステートレスな変換、またはreduceやfold_windowのようなステートフルな変換)を通過し、最終的に Output(データベースやメッセージキュー)へと流れます。基盤となるエンジンはパフォーマンスと分散処理のためにRustで構築されており、インターフェースはPythonファーストです。
対象ユーザー
イベント駆動型データをリアルタイムで処理し、ローカル開発からKubernetesクラスターへスケールさせ、オンライン機械学習のワークロードをデータパイプラインに統合する必要がある開発者やデータエンジニア向けに設計されています。
ハイライト
- Python-First インターフェース: パイプライン定義に標準的なPythonライブラリとツールを使用します。
- ステートフル処理: 状態を自動的に維持・復旧し、イベント時間ウィンドウイングとフォールトトレランスをサポートします。
- 分散スケーリング:
waxctlを使用したKubernetesデプロイにより、複数のワーカーやノード間で水平方向にスケーリングします。 - 豊富なコネクタエコシステム: Kafka、ファイルシステム、WebSockets、S3を標準サポートしています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト