Веб-сайт | Документация по API | Чат
DataFusion — это расширяемый механизм запросов, написанный на Rust, который использует Apache Arrow в качестве формата в памяти.
Этот набор предоставляет библиотеки и двоичные файлы для разработчиков, создающих быстрые и многофункциональные базы данных и аналитические системы, адаптированные к конкретным рабочим нагрузкам. См. примеры использования. Следующие связанные подпроекты ориентированы на конечных пользователей:
«Из коробки» DataFusion предлагает API-интерфейсы [SQL] и [ Dataframe
], отличную производительность, встроенную поддержку 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
unparser
: включает поддержку обратного преобразования LogicalPlans в SQL.Дополнительные функции:
avro
: поддержка чтения формата Apache Avro.backtrace
: включать информацию обратной трассировки в сообщения об ошибках.pyarrow
: преобразования между типами PyArrow и DataFusion.serde
: включить функцию serde
в стрелочной схеме Релизы инструментальной цепочки Rust отслеживаются в Rust Versions и следуют семантическому версионированию. Релиз инструментальной цепочки 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.78.0, то есть на 3 младшие версии перед самой младшей последней 1.81
.
Примечание. Если для текущего MSRV выпущено исправление Rust, MSRV будет обновлен до конкретной дополнительной версии, которая включает все применимые исправления, предшествующие другим политикам.
DataFusion обеспечивает соблюдение политики MSRV с помощью проверки MSRV CI.
Открытые методы в Apache DataFusion могут меняться в рамках жизненного цикла API. Устаревшие методы будут постепенно выведены из эксплуатации в соответствии с политикой, что обеспечит стабильность и работоспособность API.