ウェブサイト | API ドキュメント |チャット
DataFusion は、Rust で書かれた拡張可能なクエリ エンジンで、メモリ内形式として Apache Arrow を使用します。
このクレートは、特定のワークロードに合わせてカスタマイズされた、高速で機能豊富なデータベースと分析システムを構築する開発者向けのライブラリとバイナリを提供します。例については、ユースケースを参照してください。次の関連サブプロジェクトはエンド ユーザーを対象としています。
「すぐに使える」DataFusion は、[SQL] および [ Dataframe
] API、優れたパフォーマンス、CSV、Parquet、JSON、Avro の組み込みサポート、広範なカスタマイズ、優れたコミュニティを提供します。
DataFusion は、完全なクエリ プランナー、列指向のストリーミング、マルチスレッド、ベクトル化された実行エンジン、およびパーティション化されたデータ ソースを備えています。追加のデータ ソース、クエリ言語、関数、カスタム演算子などを含む、ほぼすべての点で DataFusion をカスタマイズできます。詳細については、「アーキテクチャ」セクションを参照してください。
ここにいくつかの重要な情報へのリンクがあります
DataFusion は、ドメイン固有のクエリ エンジン、新しいデータベース プラットフォームとデータ パイプライン、クエリ言語などのプロジェクトの構築に最適です。これにより、完全に動作するエンジンからすぐに起動し、用途に合わせて機能をカスタマイズできます。既知のユーザーのリストを表示するには、ここをクリックしてください。
詳細については、寄稿者ガイドとコミュニケーション ページをご覧ください。
このクレートには、 Cargo.toml
で指定できるいくつかの機能があります。
デフォルトの機能:
nested_expressions
: array_to_string
などのネストされた型関数を操作するための関数compression
: xz2
、 bzip2
、 flate2
、およびzstd
で圧縮されたファイルの読み取りcrypto_expressions
: md5
やsha256
などの暗号化関数datetime_expressions
: to_timestamp
などの日付と時刻の関数encoding_expressions
: 関数のencode
およびdecode
parquet
: Apache Parquet 形式の読み取りのサポートregex_expressions
: regexp_match
などの正規表現関数unicode_expressions
: character_length
などの Unicode 対応関数を含めます。unparser
: LogicalPlan を SQL に戻すサポートを有効にしますオプション機能:
avro
: Apache Avro 形式の読み取りのサポートbacktrace
: エラー メッセージにバックトレース情報を含めますpyarrow
: PyArrow タイプと DataFusion タイプの間の変換serde
: arrow-schema のserde
機能を有効にするRust ツールチェーンのリリースは Rust バージョンで追跡され、セマンティック バージョン管理に従います。 Rust ツールチェーンのリリースは、 1.80.0
、またはより一般的にはmajor.minor.patch
のようなバージョン文字列によって識別できます。
DataFusion は、リリースされた最新の 4 つの安定した Rust マイナー バージョンと、過去 4 か月以内にリリースされたそのようなバージョンをサポートします。
たとえば、リリース1.78.0
、 1.79.0
、 1.80.0
、 1.80.1
および1.81.0
の場合、DataFusion は、最新のマイナー1.81
の 3 つ前のマイナー バージョンである 1.78.0 をサポートします。
注: Rust ホットフィックスが現在の MSRV に対してリリースされた場合、MSRV は、他のポリシーに先立って適用可能なすべてのホットフィックスを含む特定のマイナー バージョンに更新されます。
DataFusion は MSRV CI チェックを使用して MSRV ポリシーを適用します
Apache DataFusion のパブリック メソッドは、API ライフサイクルの一部として進化する可能性があります。非推奨のメソッドはポリシーに従って段階的に廃止され、API が安定して健全であることが保証されます。