Repolode
apache

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などの大規模な分析ワークロードを実行

トピック

#spark#arrow#datafusion#rust#query-acceleration#columnar#parquet#data-engineering

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト