In Base de datos Última actualización:
Comparte en:
Cloudways ofrece alojamiento en la nube administrado para empresas de cualquier tamaño para alojar un sitio web o aplicaciones web complejas.

Apache Parquet ofrece varios beneficios para el almacenamiento y la recuperación de datos en comparación con los métodos tradicionales como CSV.

El formato parquet está diseñado para un procesamiento de datos más rápido de tipos complejos. En este artículo, hablamos sobre cómo el formato Parquet es adecuado para las crecientes necesidades de datos de hoy.

Antes de profundizar en los detalles del formato Parquet, comprendamos qué son los datos CSV y los desafíos que plantean para el almacenamiento de datos.

¿Qué es el almacenamiento CSV?

Todos hemos escuchado mucho sobre CSV (Comma Sseparado Values): una de las formas más comunes de organizar y formatear datos. El almacenamiento de datos CSV se basa en filas. Los archivos CSV se almacenan con la extensión .csv. Podemos almacenar y abrir datos CSV usando Excel, Hojas de cálculo de Google o cualquier editor de texto. Los datos son fácilmente visible una vez que se abre el archivo.

Bueno, eso no es bueno, definitivamente no para un formato de base de datos.

Además, a medida que aumenta el volumen de datos, resulta difícil consultar, administrar y recuperar.

A continuación, se muestra un ejemplo de datos almacenados en un archivo .CSV:

EmpId,First name,Last name, Division
2012011,Sam,Butcher,IT
2013031,Mike,Johnson,Human Resource
2010052,Bill,Matthew,Architect
2010079,Jose,Brian,IT
2012120,Adam,James,Solutions

Si lo vemos en Excel, podemos ver una estructura fila-columna como se muestra a continuación:

Desafíos con el almacenamiento CSV

Los almacenamientos en hileras como CSV son adecuados para Creatar Update y Doperaciones elete.

Qué pasa con la R¿Has leído en CRUD, entonces?

Imagine un millón de filas en el archivo .csv anterior. Se necesitaría un tiempo razonable para abrir el archivo y buscar los datos que está buscando. No es tan genial. La mayoría de los proveedores de nube como AWS cobran a las empresas en función de la cantidad de datos escaneados o almacenados; nuevamente, los archivos CSV consumen mucho espacio.

El almacenamiento CSV no tiene una opción exclusiva para almacenar metadatos, lo que hace que el escaneo de datos sea una tarea tediosa.

Entonces, ¿cuál es la solución óptima y rentable para realizar todas las operaciones CRUD? Exploremos.

¿Qué es el almacenamiento de datos de Parquet?

parquet es un formato de almacenamiento de código abierto para almacenar datos. Es ampliamente utilizado en Hadoop y ecosistemas Spark. Los archivos de parquet se almacenan con la extensión .parquet.

El parquet es un formato muy estructurado. También se puede utilizar para optimizar los datos brutos complejos presentes a granel en los lagos de datos. Esto puede reducir significativamente el tiempo de consulta.

Parquet hace que el almacenamiento de datos sea eficiente y la recuperación más rápida debido a una combinación de formatos de almacenamiento basados ​​en filas y columnas (híbridos). En este formato, los datos se dividen tanto horizontal como verticalmente. El formato parquet también elimina en gran medida la sobrecarga de análisis.

El formato restringe el número total de operaciones de E / S y, en última instancia, el costo.

Parquet también almacena los metadatos, que almacena información sobre datos como el esquema de datos, el número de valores, la ubicación de las columnas, el valor mínimo, el número máximo de grupos de filas, el tipo de codificación, etc. Los metadatos se almacenan en diferentes niveles en el archivo. , lo que agiliza el acceso a los datos.

En el acceso basado en filas como CSV, la recuperación de datos lleva tiempo ya que la consulta tiene que navegar por cada fila y obtener los valores de columna particulares. Con el almacenamiento de parquet, se puede acceder a todas las columnas necesarias a la vez.

En resumen,

  • Parquet se basa en la estructura columnar para el almacenamiento de datos
  • Es un formato de datos optimizado para almacenar datos complejos a granel en sistemas de almacenamiento.
  • El formato parquet incluye varios métodos para la compresión y codificación de datos
  • Reduce significativamente el tiempo de escaneo de datos y el tiempo de consulta y ocupa menos espacio en disco en comparación con otros formatos de almacenamiento como CSV
  • Minimiza la cantidad de operaciones de E / S, lo que reduce el costo de almacenamiento y ejecución de consultas.
  • Incluye metadatos que facilitan la búsqueda de datos.
  • Proporciona soporte de código abierto

Formato de datos de parquet

Antes de entrar en un ejemplo, comprendamos con más detalle cómo se almacenan los datos en el formato Parquet:

Podemos tener múltiples particiones horizontales conocidas como grupos de filas en un archivo. Dentro de cada grupo de filas, se aplica la partición vertical. Las columnas se dividen en varios fragmentos de columnas. Los datos se almacenan como páginas dentro de los fragmentos de columna. Cada página contiene los valores de datos codificados y los metadatos. Como mencionamos anteriormente, los metadatos de todo el archivo también se almacenan en el pie de página del archivo en el nivel del grupo de filas.

Como los datos se dividen en fragmentos de columnas, también es fácil agregar nuevos datos codificando los nuevos valores en un nuevo fragmento y archivo. Luego, los metadatos se actualizan para los archivos y grupos de filas afectados. Así, podemos decir que Parquet es un formato flexible.

Parquet admite de forma nativa la compresión de datos mediante técnicas de compresión de páginas y codificación de diccionarios. Veamos un ejemplo simple de compresión de diccionario:


Tenga en cuenta que en el ejemplo anterior, vemos la división de TI 4 veces. Entonces, mientras se almacenan en el diccionario, el formato codifica los datos con otro valor fácil de almacenar (0,1,2…) junto con la cantidad de veces que se repite continuamente: IT, IT se cambia a 0,2 para guardar más espacio. Consultar datos comprimidos lleva menos tiempo.

Comparación cara a cara

Ahora que tenemos una idea clara de cómo se ven los formatos CSV y Parquet, es hora de que algunas estadísticas comparen ambos formatos:

CSV parquet
Formato de almacenamiento basado en filas. Un híbrido de formatos de almacenamiento basados ​​en filas y en columnas.
Consume mucho espacio ya que no hay disponible una opción de compresión predeterminada. Por ejemplo, un archivo de 1TB ocupará el mismo espacio cuando se almacena en Amazon S3 o cualquier otra nube. Comprime los datos mientras se almacenan, por lo que consume menos espacio. Un archivo de 1 TB almacenado en formato Parquet ocupará solo 130 GB de espacio.
El tiempo de ejecución de la consulta es lento debido a la búsqueda basada en filas. Para cada columna, se debe recuperar cada fila de datos. El tiempo de consulta es aproximadamente 34 veces más rápido debido al almacenamiento basado en columnas y a la presencia de metadatos.
Se deben escanear más datos por consulta. Aproximadamente un 99% menos de datos se escanean para la ejecución de la consulta, por lo que optimizar el rendimiento.
La mayoría de los dispositivos de almacenamiento se cargan en función del espacio de almacenamiento, por lo que el formato CSV significa un alto costo de almacenamiento. Menor costo de almacenamiento ya que los datos se almacenan en formato codificado y comprimido.
El esquema de archivo debe inferirse (lo que genera errores) o suministrarse (tedioso). El esquema de archivo se almacena en los metadatos.
El formato es adecuado para tipos de datos simples. Parquet es adecuado incluso para tipos complejos como esquemas anidados, matrices, diccionarios.

Conclusión 👩‍💻

Hemos visto a través de ejemplos que Parquet es más eficiente que CSV en términos de costo, flexibilidad y rendimiento. Es un mecanismo eficaz para almacenar y recuperar datos, especialmente cuando el mundo entero se está moviendo hacia almacenamiento en la nube y optimización del espacio. Todas las plataformas principales como Azure, AWS y BigQuery admiten el formato Parquet.

Comparte en:
  • ramya shankar
    Autor
    Desde la infancia hasta ahora, mi amor por la escritura nunca se detuvo, sino que solo mejoró día a día, ¡gracias a las oportunidades que se me presentaron! Empecé con simples entradas de blog que escribía simplemente observando mi entorno, y luego me enganché…

Gracias a nuestros patrocinadores

Más lecturas excelentes en la base de datos

Impulse su negocio

Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • La herramienta de conversión de texto a voz que utiliza IA para generar voces realistas parecidas a las humanas.

    Prueba la IA de Murf
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.

    Prueba Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno para ayudarlo a administrar proyectos, tareas, trabajo, ventas, CRM, operaciones, workflows, y más.

    Intente Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.

    Intente Intruder