Situs web | Dokumen API | Mengobrol
DataFusion adalah mesin kueri yang dapat diperluas yang ditulis dalam Rust yang menggunakan Apache Arrow sebagai format dalam memorinya.
Peti ini menyediakan perpustakaan dan biner untuk pengembang yang membangun database dan sistem analitik yang cepat dan kaya fitur, disesuaikan dengan beban kerja tertentu. Lihat kasus penggunaan untuk contohnya. Subproyek terkait berikut ini menargetkan pengguna akhir:
"Di luar kotak," DataFusion menawarkan API [SQL] dan [ Dataframe
], kinerja luar biasa, dukungan bawaan untuk CSV, Parket, JSON, dan Avro, penyesuaian ekstensif, dan komunitas yang hebat.
DataFusion dilengkapi perencana kueri lengkap, mesin eksekusi berbentuk kolom, streaming, multi-thread, vektor, dan sumber data yang dipartisi. Anda dapat menyesuaikan DataFusion di hampir semua titik termasuk sumber data tambahan, bahasa kueri, fungsi, operator khusus, dan banyak lagi. Lihat bagian Arsitektur untuk lebih jelasnya.
Berikut ini tautan ke beberapa informasi penting
DataFusion sangat bagus untuk membangun proyek seperti mesin kueri khusus domain, platform database baru dan saluran data, bahasa kueri, dan banyak lagi. Ini memungkinkan Anda memulai dengan cepat dari mesin yang berfungsi penuh, dan kemudian menyesuaikan fitur-fitur tersebut khusus untuk penggunaan Anda. Klik Disini untuk melihat daftar pengguna yang dikenal.
Silakan lihat panduan kontributor dan halaman komunikasi untuk informasi lebih lanjut.
Peti ini memiliki beberapa fitur yang dapat ditentukan di Cargo.toml
Anda.
Fitur bawaan:
nested_expressions
: fungsi untuk bekerja dengan fungsi tipe bersarang seperti array_to_string
compression
: membaca file yang dikompresi dengan xz2
, bzip2
, flate2
, dan zstd
crypto_expressions
: fungsi kriptografi seperti md5
dan sha256
datetime_expressions
: fungsi tanggal dan waktu seperti to_timestamp
encoding_expressions
: fungsi encode
dan decode
parquet
: dukungan untuk membaca format Apache Parketregex_expressions
: fungsi ekspresi reguler, seperti regexp_match
unicode_expressions
: Sertakan fungsi sadar unicode seperti character_length
unparser
: mengaktifkan dukungan untuk membalikkan LogicalPlans kembali ke SQLFitur opsional:
avro
: dukungan untuk membaca format Apache Avrobacktrace
: menyertakan informasi backtrace dalam pesan kesalahanpyarrow
: konversi antara tipe PyArrow dan DataFusionserde
: mengaktifkan fitur serde
skema panah Rilisan rantai alat Rust dilacak di Versi Rust dan mengikuti versi semantik. Rilis rantai alat Rust dapat diidentifikasi dengan string versi seperti 1.80.0
, atau lebih umum lagi major.minor.patch
.
DataFusion mendukung 4 versi minor Rust stabil terakhir yang dirilis dan semua versi serupa dirilis dalam 4 bulan terakhir.
Misalnya, mengingat rilis 1.78.0
, 1.79.0
, 1.80.0
, 1.80.1
dan 1.81.0
DataFusion akan mendukung 1.78.0, yang merupakan 3 versi minor sebelum versi minor terbaru 1.81
.
Catatan: Jika perbaikan terbaru Rust dirilis untuk MSRV saat ini, MSRV akan diperbarui ke versi minor tertentu yang mencakup semua perbaikan terbaru yang berlaku sebelum kebijakan lainnya.
DataFusion menerapkan kebijakan MSRV menggunakan Pemeriksaan CI MSRV
Metode publik di Apache DataFusion dapat berkembang sebagai bagian dari siklus hidup API. Metode yang tidak digunakan lagi akan dihapuskan sesuai dengan kebijakan, untuk memastikan API stabil dan sehat.