Formato universal de datos columnares en memoria RAM que permite transferir información a velocidad de bus sin costo de serialización entre Python, R y SQL.
Explicación y Contexto Conceptual
Si Apache Parquet es el estándar columnar para datos en reposo (en disco), Apache Arrow es el estándar columnar para datos en movimiento (en memoria RAM). Nació para resolver el gravísimo cuello de botella que sufrían los analistas al mover datos entre diferentes herramientas (por ejemplo, extraer datos de Snowflake con SQL para procesarlos en Python con Pandas y graficarlos en R).
En el pasado, cada traspaso exigía costosos procesos de 'serialización y deserialización' (copiar datos, convertirlos a bytes y reconstruirlos en la memoria de la otra biblioteca), desperdiciando hasta el 80% del tiempo de cómputo. Con Arrow, todas las herramientas comparten la misma especificación de memoria RAM de copia cero (Zero-Copy).
Permite a los científicos de datos manipular conjuntos de datos de cientos de gigabytes directamente en sus portátiles con velocidad de procesamiento vectorial sobre CPUs modernas (instrucciones SIMD).
Ejemplo en la Práctica
Un analista transfiere 10 millones de filas de transacciones desde una base de datos a un modelo de Machine Learning en Python en 0.05 segundos gracias a Apache Arrow.