Herramientas

Diferencias entre Apache Arrow y Parquet

Apache Arrow y Parquet son dos formatos modernos para con los que es posible conseguir archivos más pequeños que CSV, además de unos menores tiempos de lectura y escritura. Veamos a continuación las diferencias que existen entre Apache Arrow y Parquet.

Apache Arrow

Apache Arrow es una biblioteca, disponible para múltiples lenguajes de programación, que proporciona estructuras de datos en columnas para su uso en aplicaciones de análisis de datos. El uso de estructuras tabulares ofrece ciertas ventajas frente a almacenar los datos en filas. Permitiendo un acceso aleatorio mucho más rápido a cada una de las celdas ya que estas se encuentran al lado de la anterior. Lo que hace más eficiente las tareas de iteración sobre los elementos de una columna.

Pero, si Apache Arrow es una biblioteca de software ¿qué son los archivos Arrow? En Apache Arrow también se define un protocolo binario de serialización para empaquetar colecciones de matrices Arrow y emplearlas para la comunicación entre procesos. Pudiéndose usar este tanto para enviar los datos a otro proceso como para almacenar en disco y posteriormente importar en memoria en otro sistema.

Parquet

Por otro lado, Parquet es un formato de archivo en columnas para la serialización de datos. Al leer un archivo Parquet es necesario descomprimir y decodificar su contenido en algún tipo de estructura de datos en memoria. No proporcionando, a diferencia de Apache Arrow, una estructura de datos para almacenar esta en memoria, sino que el contenido del archivo ha de ser traducido a una nativa del lenguaje, como puede ser el caso de los objetos DataFrame.

El formato Parquet está diseñado específicamente para reducir el tamaño de las operaciones de lectura y escritura. Lo que se consigue a costa de utilizar la CPU para codificar y decodificar los datos.

Diferencia entre Apache Arrow y Parquet

Así que, una vez visto en qué consiste cada uno de los archivos, se puede ver que en muchas aplicaciones el uso de Arrow y Parquet es indiferente. Aunque es necesario tener algunas cosas en mente a la hora de seleccionar uno u otro.

  • Parquet se ha diseñado desde el principio para la creación de archivos, es decir, se espera que cualquier programa futuro que pueda leer este formato lo importara sin problemas. Mientras que Apache Arrow es una librería que proporciona estructura de datos.
  • El proceso de lectura es generalmente más costoso en el caso de Parquet, ya que los datos se deben descomprimir y decodificar para su uso en memoria. Por otro lado, en el caso de Arrow, no es necesario decodificar los datos.
  • Los archivos Parquet suelen ser mucho más pequeños que el protocolo Arrow en disco debido a los esquemas de codificación de datos que utiliza Parquet.

Conclusiones

Apache Arrow y Parquet son dos excelentes opciones para trabajar con grandes conjuntos de datos. Reduciendo el tamaño de los archivos frente a las soluciones tradicionales como los archivos CSV. Aunque, si únicamente queremos almacenar los datos en archivos y seguir usando nuestras estructuras de datos, la mejor opción es usar el formato Parquet.

Imagen de greissdesign en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Analytics Lane lanza ScoreFlow, un SaaS para construir y desplegar scorecards de crédito

En Analytics Lane seguimos evolucionando nuestras herramientas y damos un paso más con el lanzamiento…

3 días ago

DBSCAN y la selección de ε: teoría, intuición y aplicación práctica

Cuando hablamos de clustering, lo primero que viene a la mente suele ser k-means. Pero…

4 días ago

El bestiario de los indicadores económicos absurdos: El zoo patrio

Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…

1 semana ago

Por qué el banco te ofrece un 3% TAE y no es lo que parece

Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…

2 semanas ago

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…

2 semanas ago

This website uses cookies.