Website | API-Dokumente | Chatten
DataFusion ist eine in Rust geschriebene erweiterbare Abfrage-Engine, die Apache Arrow als In-Memory-Format verwendet.
Diese Kiste stellt Bibliotheken und Binärdateien für Entwickler bereit, die schnelle und funktionsreiche Datenbank- und Analysesysteme erstellen, die an bestimmte Arbeitslasten angepasst sind. Beispiele finden Sie in den Anwendungsfällen. Die folgenden verwandten Teilprojekte richten sich an Endbenutzer:
„Out of the box“ bietet DataFusion [SQL]- und [ Dataframe
]-APIs, hervorragende Leistung, integrierte Unterstützung für CSV, Parquet, JSON und Avro, umfangreiche Anpassungsmöglichkeiten und eine großartige Community.
DataFusion verfügt über einen vollständigen Abfrageplaner, eine spaltenorientierte, Streaming-, Multithread-, vektorisierte Ausführungs-Engine und partitionierte Datenquellen. Sie können DataFusion an fast allen Stellen anpassen, einschließlich zusätzlicher Datenquellen, Abfragesprachen, Funktionen, benutzerdefinierten Operatoren und mehr. Weitere Einzelheiten finden Sie im Abschnitt „Architektur“.
Hier finden Sie Links zu einigen wichtigen Informationen
DataFusion eignet sich hervorragend zum Erstellen von Projekten wie domänenspezifischen Abfrage-Engines, neuen Datenbankplattformen und Datenpipelines, Abfragesprachen und mehr. Damit können Sie schnell mit einer voll funktionsfähigen Engine starten und dann die Funktionen speziell an Ihre Verwendung anpassen. Klicken Sie hier, um eine Liste bekannter Benutzer anzuzeigen.
Weitere Informationen finden Sie im Leitfaden für Mitwirkende und auf den Kommunikationsseiten.
Diese Kiste verfügt über mehrere Funktionen, die in Ihrer Cargo.toml
angegeben werden können.
Standardfunktionen:
nested_expressions
: Funktionen zum Arbeiten mit verschachtelten Typfunktionen wie array_to_string
compression
: Lesen von mit xz2
, bzip2
, flate2
und zstd
komprimierten Dateiencrypto_expressions
: kryptografische Funktionen wie md5
und sha256
datetime_expressions
: Datums- und Uhrzeitfunktionen wie to_timestamp
encoding_expressions
: Funktionen encode
und decode
parquet
: Unterstützung für das Lesen des Apache Parquet-Formatsregex_expressions
: reguläre Ausdrucksfunktionen, wie z. B. regexp_match
unicode_expressions
: Unicode-fähige Funktionen wie character_length
einschließenunparser
: ermöglicht die Unterstützung, LogicalPlans zurück in SQL umzukehrenOptionale Funktionen:
avro
: Unterstützung für das Lesen des Apache Avro-Formatsbacktrace
: Fügen Sie Backtrace-Informationen in Fehlermeldungen einpyarrow
: Konvertierungen zwischen PyArrow- und DataFusion-Typenserde
: Aktiviert die serde
Funktion von Arrow-Schema Die Veröffentlichungen der Rust-Toolchain werden unter Rust-Versionen verfolgt und folgen der semantischen Versionierung. Eine Rust-Toolchain-Version kann durch eine Versionszeichenfolge wie 1.80.0
oder allgemeiner major.minor.patch
identifiziert werden.
DataFusion unterstützt die letzten 4 veröffentlichten stabilen Rust-Nebenversionen und alle solchen Versionen, die innerhalb der letzten 4 Monate veröffentlicht wurden.
Angesichts der Versionen 1.78.0
, 1.79.0
, 1.80.0
, 1.80.1
und 1.81.0
unterstützt DataFusion beispielsweise 1.78.0, also drei Nebenversionen vor der aktuellsten Nebenversion 1.81
.
Hinweis: Wenn ein Rust-Hotfix für den aktuellen MSRV veröffentlicht wird, wird der MSRV auf die spezifische Nebenversion aktualisiert, die alle anwendbaren Hotfixes vor anderen Richtlinien enthält.
DataFusion erzwingt die MSRV-Richtlinie mithilfe einer MSRV-CI-Prüfung
Öffentliche Methoden in Apache DataFusion können sich im Rahmen des API-Lebenszyklus weiterentwickeln. Veraltete Methoden werden gemäß der Richtlinie auslaufen, um sicherzustellen, dass die API stabil und fehlerfrei ist.