Archivos Parquet en Julia

Publicado el 22 diciembre 2021 por Daniel Rodríguez @analyticslane

En una publicación reciente se ha visto las ventajas que ofrece el uso de archivos Parquet frente a CSV o Feather en Pandas. Consiguiendo guardar un conjunto de datos aleatorios en un archivo un 10% más pequeño que CSV con compresión hasta 100 veces más rápido. Algo que, en algunos puntos, mejora el rendimiento de Feather. Veamos como se puede trabajar con archivos Parquet en Julia.

Instalación del paquete Parquet.jl

Antes de poder trabajar con archivos Parquet en Julia es necesario instalar el paquete Parquet.jl. Para esto se usará el método estándar de instalación de Julia, esto es, importar Pkg y llamar al método add() de este con el nombre del paquete a instalar. Lo que se puede hacer en las siguientes líneas de código

julia> using Pkg

julia> Pkg.add("Parquet")

Proceso que descargará e instalará tanto el paquete como todas sus dependencias necesarias en nuestro sistema.

Importación de archivos Parquet en Julia

Ahora, una vez instalado el paquete en nuestro sistema, ya es posible trabajar con archivos en formato Parquet con Julia. Para lo que deberemos instanciar el paquete tanto Parquet como DataFrames. Una vez hecho esto se puede llamar a la función read_parquet() con la ruta al archivo y pasar la salida a DataFrame.

julia> using Parquet, DataFrames

julia> df = DataFrame(read_parquet("data.parquet"))

Consiguiendo de esta manera que el contenido del archivo en el objeto df.

Exportación de archivos Parquet en Julia

Por otro lado, para guardar el contenido de un DataFrame en un archivo con formato Parquet es necesario recurrir a la función write_parquet() cuya primer parámetro es la ruta al archivo y el segundo el DataFrame.

julia> write_parquet("julia.parquet", df)

Al igual que sucede en Python, por defecto el archivo se guarda con la compresión snappy, siendo necesario indicar el formato si se desea otro. PAra lo que se tiene que utilizar la propiedad compression_codec:

julia> write_parquet("julia.parquet.gzip", df, compression_codec = "GZIP")

Conclusiones

En esta entrada se ha visto como se puede trabajar con archivos Parquet en Julia, un formato de archivo que tiene muchas ventajas cuando se trabaja con grandes conjuntos de datos. Ventajas que se discutieron en una entrada anterior.

Imagen de PIRO4D en Pixabay