apache arrow

Apache Arrow ha lanzado la versión 1.0 de su plataforma de desarrollo de análisis en memoria, promocionando la estabilidad binaria del formato de columnas y una capa de kernel de cómputo rediseñada, entre otras cosas.

¿Qué nos trae?

La plataforma está diseñada para permitir que los sistemas de Big Data procesen y muevan rápidamente los datos, proporcionando un formato de memoria de datos para operaciones de análisis. De acuerdo con el comité de gestión de proyectos, la versión 1.0 es en realidad la décimo octava versión principal de Arrow, y el equipo ahora cambiará a versiones semánticas para las bibliotecas de Arrow, probablemente para hacer que las versiones que rompen la compatibilidad sean más fáciles de detectar. 

Parte del bache de la versión también es la estabilización del formato de columna Arrow, que se compone de una especificación de estructura de datos en memoria independiente del lenguaje, protocolos de serialización y transporte de datos, así como la serialización de metadatos. La iteración actual del formato ya no insiste en que los índices del diccionario sean enteros con signo, y viene sin un búfer de mapa de bits de validez en los tipos de Unión, sino que incluye un campo opcional BitWidth para los tipos decimales. 

También contiene una enumeración de características para indicar el uso de algunas características opcionales de flujo de IPC, aunque el campo aún no se puede encontrar en ninguna implementación, y alteraciones en el diseño del búfer de los tipos de Unión en los metadatos. Entre otras cosas, esto último significa que las matrices Union ya no pueden tener un mapa de bits de nivel superior. Los conjuntos de datos ahora se pueden leer desde archivos CSV y el sistema sabe cómo ensamblar conjuntos de datos de archivos Parquet a partir de un único archivo _metadata.

Analizando las características de Apache Arrow 1.0, el equipo del proyecto ajustó la capa del núcleo de cómputo con capacidades para búsqueda, despacho y ejecución de funciones genéricas. También modificó el marco para manejar tareas como la verificación de tipos y el despacho de funciones, que se supone que facilita la escritura de nuevos núcleos de funciones ya que los desarrolladores ya no tienen que ocuparse de esas cosas.

Mientras que Arrow Core tiene un nuevo kernel de clasificación y soporte para listas grandes, UX de DataFusion ha sido mejorado para trabajar con columnas con nombre y formas de compartir un ExecutionContext entre hilos. Los cambios específicos para trabajar con ciertos lenguajes parecen ser de naturaleza comparativamente menor, aunque vale la pena probar las mejoras en el enlace estático para desarrolladores de C ++, una mejor conversión de los tipos de flecha en R y el soporte para el conjunto de datos de flecha en Ruby.

Las bibliotecas de vuelo para el transporte rápido de datos introducidas en octubre pasado se han ampliado para proporcionar un punto final de datos bidireccional y admitir la autenticación mutua TLS, así como la capacidad de los clientes para controlar el tamaño de un mensaje de datos en tránsito. Mientras tanto, los sabores de C ++ y Python de Flight exponen opciones como la dirección de un cliente en el servidor del proyecto gRPC. Los detalles se pueden encontrar en el blog del proyecto .

Formato

Apache Arrow define un formato de memoria en columna independiente del idioma para datos planos y jerárquicos, organizado para operaciones analíticas eficientes en hardware moderno como CPU y GPU. El formato de memoria Arrow también admite lecturas de copia cero para un acceso a datos ultrarrápido sin sobrecarga de serialización.

Bibliotecas

Las bibliotecas de Arrow implementan el formato y proporcionan bloques de construcción para una variedad de casos de uso , incluidos análisis de alto rendimiento. Muchos proyectos populares usan Arrow para enviar datos en columnas de manera eficiente o como base para motores analíticos.

Las bibliotecas están disponibles para C , C ++ , C # , Go , Java , JavaScript , MATLAB , Python , R , Ruby y Rust .

Etiquetas:

Sobre el Autor

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments