Arquitectura de Datos Medallion
La arquitectura de datos Medallion es un enfoque estructurado para organizar y gestionar datos en un lago de datos. Este enfoque divide los datos en diferentes capas o niveles, cada uno con un propósito específico y un nivel de calidad de datos. Las capas típicas en una arquitectura Medallion son: Bronce, Plata y Oro.
1. Capa Bronce
La capa Bronce es la capa de datos crudos. Aquí se almacenan los datos tal como se reciben de las fuentes, sin ninguna transformación o limpieza significativa. Esta capa sirve como un repositorio de datos históricos y permite la trazabilidad completa de los datos originales.
Características:
- Datos en su forma original.
- Incluye datos estructurados, semiestructurados y no estructurados.
- Alta disponibilidad y capacidad de almacenamiento.
Ejemplo:
# Guardar datos crudos en la capa Bronce
raw_data.write.format("parquet").mode("overwrite").save("/mnt/data/bronze/raw_data")
2. Capa Plata
La capa Plata contiene datos que han sido limpiados y transformados. En esta capa, se realizan operaciones de limpieza de datos, eliminación de duplicados, corrección de errores y transformación de formatos. Los datos en la capa Plata están listos para análisis y procesamiento adicional.
Características:
- Datos limpios y transformados.
- Mejor calidad de datos en comparación con la capa Bronce.
- Preparación para análisis y procesamiento.
Ejemplo:
# Leer datos de la capa Bronce
raw_data = spark.read.format("parquet").load("/mnt/data/bronze/raw_data")
# Limpiar y transformar los datos
clean_data = raw_data.dropDuplicates().filter("value IS NOT NULL")
# Guardar datos limpios en la capa Plata
clean_data.write.format("parquet").mode("overwrite").save("/mnt/data/silver/clean_data")
3. Capa Oro
La capa Oro contiene datos altamente refinados y optimizados para el consumo por parte de aplicaciones de negocio, informes y análisis avanzados. En esta capa, los datos se agregan, se enriquecen y se optimizan para consultas de alto rendimiento. Los datos en la capa Oro son los más confiables y de mayor calidad.
Características:
- Datos altamente refinados y optimizados.
- Preparados para el consumo por aplicaciones de negocio.
- Alta calidad y confiabilidad.
Ejemplo:
# Leer datos de la capa Plata
clean_data = spark.read.format("parquet").load("/mnt/data/silver/clean_data")
# Enriquecer y agregar datos
enriched_data = clean_data.groupBy("category").agg({"value": "sum"})
# Guardar datos refinados en la capa Oro
enriched_data.write.format("parquet").mode("overwrite").save("/mnt/data/gold/enriched_data")
Conclusión
La arquitectura de datos Medallion proporciona un enfoque estructurado para gestionar datos en un lago de datos, mejorando la calidad y la organización de los datos a través de diferentes capas. Este enfoque facilita la trazabilidad, la limpieza y el enriquecimiento de los datos, permitiendo un análisis más eficiente y confiable.
Top comments (0)