(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa

DP-700: cómo implementar Data Lakehouse con OneLake y Delta

João Barros 03 de September de 2026 6 min de lectura

Voy a explicar cómo implementar un Data Lakehouse en Microsoft Fabric usando OneLake y Delta tables. Esta competencia es relevante para el examen DP-700 porque muestra cómo organizar datos persistentes para analytics y, en la práctica, mejora fiabilidad, rendimiento y gobernanza de las soluciones analytics. El enfoque Lakehouse combina simplicidad operativa con garantías ACID que son cruciales cuando tienes cargas de trabajo con millones de filas y múltiples consumidores (ETL, data science, Power BI).

Lo que necesitas saber

Un Data Lakehouse combina la escalabilidad de un data lake con estructuras y garantías de un data warehouse. En el contexto de Fabric, OneLake es el almacenamiento unificado y Delta tables (formato Delta) aportan transacciones ACID, snapshots y particiones. Conceptos clave:

  • OneLake: capa de almacenamiento centralizada de Fabric — almacena archivos Parquet, Delta y otros, accesible por todos los workloads (Data Engineering, Power BI, Spark, etc.). Un único repositorio facilita políticas de retención y cifrado a nivel de archivo.
  • Delta table: formato que implementa transacciones ACID, permite updates, deletes, merge y time-travel; mantiene un transaction log que coordina operaciones concurrentes y permite restaurar estados anteriores (por ejemplo, recuperar una versión de hace 3 días).
  • Lakehouse layout: zonas típicas (raw, curated, serving); utilizar controles de acceso y políticas de retención. Por ejemplo, una organización puede tener 10 TB en la zona raw, 2 TB en la zona curated y 200 GB optimizados en la zona serving para informes interactivos.

Ejemplo simple: un flujo de ingestión coloca archivos CSV en la zona raw en OneLake; un pipeline transforma esos archivos a Parquet/Delta en la zona curated; consultas analíticas se realizan sobre Delta tables en la zona serving. En entornos con 100M–500M de registros, es habitual compactar archivos en bloques de 100–256 MB para optimizar lecturas.

Cómo funciona en la práctica

Pasos esenciales para implementar un Lakehouse con OneLake y Delta en Fabric:

  1. Planificación del layout de OneLake: crear carpetas/contenedores para raw/, curated/ y serving/ con políticas de acceso diferentes (ej.: solo el servicio de ingestión tiene write en raw/; equipo de transformación tiene write en curated/; analistas tienen read en serving/).
  2. Ingesta inicial: usar Dataflows, Synapse pipelines, o Spark para copiar archivos a raw/. Para cargas continuas, valora usar streaming (append) o lotes con intervalos de 15 minutos a 24 horas según la latencia deseada.
  3. Transformación a Delta: convertir los datos a Delta tables, aplicar partición cuando sea relevante y mantener esquemas versionados. Por ejemplo, particionar por year/month para conjuntos temporales con decenas de millones de filas por mes.
  4. Exponer para consumo: registrar las Delta tables en el catálogo de datos (metastore) y configurar permisos para equipos de analytics, definiendo grupos y niveles de acceso (read, read/write, admin).

Ejemplo de código Spark (concepto) para crear una Delta table a partir de datos CSV en OneLake. Esto se ejecuta en un Notebook Spark en Fabric:

// montar caminho OneLake
val rawPath = "abfss://container@account.dfs.microsoft.com/raw/sales/"
val curatedPath = "abfss://container@account.dfs.microsoft.com/curated/sales_delta/"

// ler CSV
val df = spark.read.option("header", "true").csv(rawPath)

// limpeza e tipagem
import org.apache.spark.sql.functions._
val dfClean = df.withColumn("amount", col("amount").cast("double"))

// escrever como Delta, particionar por ano
dfClean.write.format("delta")
  .mode("overwrite")
  .partitionBy("year")
  .save(curatedPath)

// registar no metastore
spark.sql(s"CREATE TABLE IF NOT EXISTS curated.sales USING DELTA LOCATION '$curatedPath'")

Notas: en Fabric las rutas y permisos se gestionan vía OneLake; la sintaxis puede variar si usas Python/Scala/SQL en diferentes entornos (Notebook Spark, Dataflow, etc.). En producción, añade pruebas de esquema y validación de calidad (ej.: porcentaje de nulls) antes de sobrescribir una tabla Delta.

Errores comunes

2–3 trampas frecuentes al implementar un Lakehouse en Fabric:

  • No particionar correctamente: elegir columnas de partición con mucha cardinalidad (por ejemplo, customer_id único por fila) crea miles/millones de archivos pequeños; elegir columnas con muy baja cardinalidad fuerza lecturas de muchos datos. Regla práctica: idealmente tienes cientos a algunos miles de archivos por partición, y archivos finales de ~100–250 MB.
  • Ignorar el transaction log: manipular archivos Delta directamente sin usar el motor Delta (ej.: copiar/renombrar archivos en OneLake) corrompe el estado. Usa siempre operaciones soportadas (WRITE, MERGE, VACUUM via Delta APIs). El transaction log permite time-travel y es crítico para consistencia con cargas concurrentes.
  • Permisos mal definidos: dar acceso directo a la zona raw sin control puede causar corrupción o fugas de datos. Segregar zonas y aplicar políticas de acceso y protección de datos — por ejemplo, solo 2 identidades con write en raw, un equipo de data engineering con write en curated y analistas con read en serving.

Cómo practicar

Para consolidar esta competencia, practica lo siguiente:

  • Crea un workspace en Fabric (o usa una suscripción de evaluación) y monta un flujo simple: colocar archivos CSV en raw, transformarlos a Delta en la zona curated y registrar la tabla en el metastore. Haz esto con un dataset de prueba de 1–10 GB (10M–50M filas) para ver comportamiento real.
  • Prueba operaciones Delta: INSERT, UPDATE, DELETE y MERGE; verifica el time-travel (restaurar una versión anterior) y usa VACUUM para eliminar archivos antiguos (nota: retención por defecto es 7 días).
  • Experimenta optimizaciones: crear particiones, compactar archivos (OPTIMIZE) y medir impacto en las queries. En muchos casos OPTIMIZE+ZORDER reduce tiempos de consulta interactivos en 30–70% dependiendo del patrón de acceso.
  • Mide costes y rendimiento: ejecuta queries antes y después de la optimización, registra tiempos y I/O leído para justificar cambios de layout.

Para preparación formal del examen, usa el Practice Assessment OFICIAL y gratuito de Microsoft y la study guide oficial (ambos gratuitos). Estos recursos ayudan a ver las áreas medidas por el examen sin recurrir a materiales prohibidos.

En resumen

  • OneLake + Delta implementan un Lakehouse que aporta escalabilidad y garantías ACID para analytics.
  • Organiza el almacenamiento en zonas (raw/curated/serving) y aplica permisos y políticas de retención para proteger datos y facilitar auditorías.
  • Particionamiento adecuado, uso correcto del transaction log y operaciones soportadas Delta (MERGE/OPTIMIZE/VACUUM) son cruciales para integridad y rendimiento en datasets de decenas a cientos de millones de filas.
  • Practica en un workspace Fabric: crea Delta tables, ejecuta MERGE/UPDATE/DELETE, experimenta OPTIMIZE y time-travel, y mide siempre impacto en latencia y costes.