Site | Documentos API | Bater papo
DataFusion é um mecanismo de consulta extensível escrito em Rust que usa Apache Arrow como formato na memória.
Essa caixa fornece bibliotecas e binários para desenvolvedores que criam bancos de dados e sistemas analíticos rápidos e ricos em recursos, personalizados para cargas de trabalho específicas. Veja casos de uso para exemplos. Os seguintes subprojetos relacionados são direcionados aos usuários finais:
"Pronto para usar", o DataFusion oferece APIs [SQL] e [ Dataframe
], excelente desempenho, suporte integrado para CSV, Parquet, JSON e Avro, ampla personalização e uma excelente comunidade.
O DataFusion apresenta um planejador de consulta completo, um mecanismo de execução colunar, de streaming, multithread, vetorizado e fontes de dados particionadas. Você pode personalizar o DataFusion em quase todos os pontos, incluindo fontes de dados adicionais, linguagens de consulta, funções, operadores personalizados e muito mais. Consulte a seção Arquitetura para obter mais detalhes.
Aqui estão links para algumas informações importantes
O DataFusion é ótimo para construir projetos como mecanismos de consulta específicos de domínio, novas plataformas de banco de dados e pipelines de dados, linguagens de consulta e muito mais. Ele permite que você inicie rapidamente a partir de um mecanismo totalmente funcional e, em seguida, personalize os recursos específicos para seu uso. Clique aqui para ver uma lista de usuários conhecidos.
Consulte o guia do contribuidor e as páginas de comunicação para obter mais informações.
Esta caixa possui vários recursos que podem ser especificados em seu Cargo.toml
.
Recursos padrão:
nested_expressions
: funções para trabalhar com funções de tipo aninhado, como array_to_string
compression
: lendo arquivos compactados com xz2
, bzip2
, flate2
e zstd
crypto_expressions
: funções criptográficas como md5
e sha256
datetime_expressions
: funções de data e hora, como to_timestamp
encoding_expressions
: funções encode
e decode
parquet
: suporte para leitura do formato Apache Parquetregex_expressions
: funções de expressão regular, como regexp_match
unicode_expressions
: inclui funções com reconhecimento de unicode, como character_length
unparser
: permite suporte para reverter LogicalPlans de volta para SQLRecursos opcionais:
avro
: suporte para leitura do formato Apache Avrobacktrace
: inclui informações de backtrace em mensagens de erropyarrow
: conversões entre os tipos PyArrow e DataFusionserde
: habilita o recurso serde
do esquema de seta Os lançamentos do conjunto de ferramentas Rust são rastreados em Versões Rust e seguem o versionamento semântico. Uma versão do conjunto de ferramentas Rust pode ser identificada por uma string de versão como 1.80.0
ou, mais geralmente, major.minor.patch
.
O DataFusion suporta as últimas 4 versões secundárias estáveis do Rust lançadas e quaisquer versões lançadas nos últimos 4 meses.
Por exemplo, dadas as versões 1.78.0
, 1.79.0
, 1.80.0
, 1.80.1
e 1.81.0
, o DataFusion oferecerá suporte a 1.78.0, que são 3 versões secundárias anteriores à mais recente 1.81
.
Nota: Se um hotfix Rust for lançado para o MSRV atual, o MSRV será atualizado para a versão secundária específica que inclui todos os hotfixes aplicáveis anteriores a outras políticas.
DataFusion aplica a política MSRV usando uma verificação de CI MSRV
Os métodos públicos no Apache DataFusion estão sujeitos a evolução como parte do ciclo de vida da API. Os métodos obsoletos serão descontinuados de acordo com a política, garantindo que a API seja estável e íntegra.