Sitio web | Documentos API | Charlar
DataFusion es un motor de consultas extensible escrito en Rust que utiliza Apache Arrow como formato en memoria.
Esta caja proporciona bibliotecas y archivos binarios para desarrolladores que crean sistemas analíticos y de bases de datos rápidos y ricos en funciones, personalizados para cargas de trabajo particulares. Consulte los casos de uso para ver ejemplos. Los siguientes subproyectos relacionados están dirigidos a usuarios finales:
"Listo para usar", DataFusion ofrece API [SQL] y [ Dataframe
], excelente rendimiento, soporte integrado para CSV, Parquet, JSON y Avro, amplia personalización y una gran comunidad.
DataFusion presenta un planificador de consultas completo, un motor de ejecución vectorizado, de transmisión en columnas, de subprocesos múltiples y fuentes de datos particionadas. Puede personalizar DataFusion en casi todos los puntos, incluidas fuentes de datos adicionales, lenguajes de consulta, funciones, operadores personalizados y más. Consulte la sección Arquitectura para obtener más detalles.
Aquí hay enlaces a información importante.
DataFusion es ideal para crear proyectos como motores de consulta de dominios específicos, nuevas plataformas de bases de datos y canalizaciones de datos, lenguajes de consulta y más. Le permite comenzar rápidamente desde un motor en pleno funcionamiento y luego personalizar aquellas funciones específicas para su uso. Haga clic aquí para ver una lista de usuarios conocidos.
Consulte la guía para contribuyentes y las páginas de comunicación para obtener más información.
Esta caja tiene varias características que se pueden especificar en su Cargo.toml
.
Funciones predeterminadas:
nested_expressions
: funciones para trabajar con funciones de tipo anidado como array_to_string
compression
: lectura de archivos comprimidos con xz2
, bzip2
, flate2
y zstd
crypto_expressions
: funciones criptográficas como md5
y sha256
datetime_expressions
: funciones de fecha y hora como to_timestamp
encoding_expressions
: encode
y decode
funcionesparquet
: soporte para leer el formato Apache Parquetregex_expressions
: funciones de expresión regular, como regexp_match
unicode_expressions
: incluye funciones compatibles con Unicode como character_length
unparser
: habilita el soporte para revertir LogicalPlans nuevamente en SQLCaracterísticas opcionales:
avro
: soporte para leer el formato Apache Avrobacktrace
: incluye información de seguimiento en los mensajes de errorpyarrow
: conversiones entre los tipos PyArrow y DataFusionserde
: habilita la función serde
del esquema de flechas Los lanzamientos de la cadena de herramientas de Rust se rastrean en Versiones de Rust y siguen el control de versiones semántico. Una versión de la cadena de herramientas de Rust se puede identificar mediante una cadena de versión como 1.80.0
o, más generalmente, major.minor.patch
.
DataFusion admite las últimas 4 versiones menores estables de Rust lanzadas y todas las versiones lanzadas en los últimos 4 meses.
Por ejemplo, dadas las versiones 1.78.0
, 1.79.0
, 1.80.0
, 1.80.1
y 1.81.0
DataFusion admitirá 1.78.0, que son 3 versiones menores anteriores a la 1.81
más reciente.
Nota: Si se publica una revisión de Rust para el MSRV actual, el MSRV se actualizará a la versión menor específica que incluye todas las revisiones aplicables anteriores a otras políticas.
DataFusion aplica la política de MSRV mediante una verificación de CI de MSRV
Los métodos públicos en Apache DataFusion están sujetos a evolucionar como parte del ciclo de vida de la API. Los métodos obsoletos se eliminarán gradualmente de acuerdo con la política, lo que garantizará que la API sea estable y saludable.