既存のPySparkコードをSpark Connectプロトコル経由で実行できる、Rust製のApache Spark互換エンジン。
apache/datafusion-comet
DataFusionを基盤とするRustエンジンでApache Arrowのカラムナーデータ上でSpark SQLとDataFrameの演算子を実行し、コード変更なしでSparkを高速化します。
- スター
- 1,315
- フォーク
- 413
- 未解決の Issue
- 867
- 最終コミット
- 20 時間前
これは何?
Apache DataFusion Cometは、Apache Spark向けのアクセラレーターです。Sparkの演算子や式を、Apache Arrowのカラムナーデータを直接処理する実装に置き換えることで、従来の行ベースエンジンにおける行ごとの処理オーバーヘッドを避けてクエリを実行します。多くの演算子はApache DataFusionを基盤とするネイティブRustコードで動作し、その他はJVM上でArrowバッチを処理します。
Cometは、Parquetスキャン(Sparkから読み込むIcebergテーブルを含む)、ハッシュおよび範囲パーティショニングに対応したArrow-IPCカラムナーシャッフル、ハッシュ・ソートマージ・ブロードキャスト結合、ハッシュ集約、多数のSpark式をサポートします。Spark 3.4、3.5、4.0、4.1、4.2に対応しており、対応するjarをSparkのクラスパスに追加してプラグインを有効にすることで導入できます。
このプロジェクトは、GPUなどの専用アクセラレーターを使わず、同じハードウェア上でより高速に実行したい既存のSpark SQL、DataFrame、PySparkワークロードを対象としています。
主な機能
- 01Apache DataFusionを基盤とする、Sparkの演算子と式のネイティブRust実行
- 02Parquetスキャンのネイティブ対応と、SparkからのIcebergテーブル読み込みの高速化
- 03ハッシュおよび範囲パーティショニングに対応したArrow-IPCカラムナーシャッフル
- 04ハッシュ、ソートマージ、ブロードキャスト結合のサポート
- 05whole-stage codegenにより、ScalaおよびJavaのスカラーUDFをCometのパイプライン内で実行
- 06既存のSpark SQL、DataFrame、PySparkのコードを変更せずに利用可能
ユースケース
- 既存のSpark SQLやETLジョブにかかるクラウドまたはオンプレミスのコスト削減
- ParquetまたはIcebergデータレイクに対するSparkクエリの高速化
- 一般的なCPUクラスタでTPC-DSなどの大規模な分析ワークロードを実行
トピック
よくある質問
- datafusion-comet とは?
- DataFusionを基盤とするRustエンジンでApache Arrowのカラムナーデータ上でSpark SQLとDataFrameの演算子を実行し、コード変更なしでSparkを高速化します。 Apache DataFusion Cometは、Apache Spark向けのアクセラレーターです。Sparkの演算子や式を、Apache Arrowのカラムナーデータを直接処理する実装に置き換えることで、従来の行ベースエンジンにおける行ごとの処理オーバーヘッドを避けてクエリを実行します。多くの演算子はApache DataFusionを基盤とするネイティブRustコードで動作し、その他はJVM上でArrowバッチを処理します。
- datafusion-comet は無料で使えますか?ライセンスは?
- datafusion-comet は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- datafusion-comet は今もメンテナンスされていますか?
- 活発にメンテナンス中。datafusion-comet の最終コミットは 2026年11月6日 です。
- datafusion-comet は何に使えますか?
- 既存のSpark SQLやETLジョブにかかるクラウドまたはオンプレミスのコスト削減 ParquetまたはIcebergデータレイクに対するSparkクエリの高速化 一般的なCPUクラスタでTPC-DSなどの大規模な分析ワークロードを実行
- datafusion-comet はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/apache/datafusion-comet
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Rust製の高速なDataFrameクエリエンジン。Python、Node.js、R、Rust、SQL向けのバインディングを提供。
配列データをテーブルとして扱い、DuckDB、Polars、DataFusion、ADBCエンジンでXarray DatasetをSQLクエリできるPythonライブラリ。
ログ、トレース、メトリクス、イベントをS3上のDelta Lakeテーブルとして保存し、PostgreSQLワイヤプロトコルでクエリできる時系列データベース。
画像、音声、動画、埋め込み、構造化データを大規模に処理する、Rustコアを備えた高性能なPythonデータエンジン。
データパイプラインをゼロから構築しながらデータエンジニアリングを学べる、無料の9週間オンラインコースです。