Ficha D-06
Microsoft Fabric · Databricks · Power BI
Plataforma de datos con Microsoft Fabric o Databricks
01
Qué es la formación en plataforma de datos y para quién
Para quién
equipos de IT y de sistemas, ingenieros y arquitectos de datos, desarrolladores de BI y analistas avanzados que ya escriben SQL. Conocer Python ayuda, pero no es imprescindible: los notebooks se trabajan paso a paso.
Qué gana la organización
un equipo que entiende la arquitectura antes de construirla, un criterio propio para elegir entre Fabric, Databricks o la coexistencia de ambos, convenciones comunes de capas, nombres, permisos y entornos, y una estimación de costes basada en vuestras cargas.
Alineada con las certificaciones
cubre buena parte de los contenidos de DP-600, DP-700 y Databricks Certified Data Engineer Associate según su temario vigente. No es una preparación de examen, pero deja la base hecha.
02
Objetivos: diseñar, construir y operar un lakehouse
OA-1
OA-2
OA-3
OA-4
OA-5
OA-6
OA-7
03
Temario de Fabric y Databricks, módulo a módulo
M1
Arquitectura lakehouse y medallón
1.1
1.2
1.3
1.4
1.5
M2
Ingesta de datos
2.1
2.2
2.3
M3
Transformar con notebooks, PySpark y SQL
3.1
3.2
3.3
3.4
3.5
3.6
M4
Orquestación y calidad del dato
4.1
4.2
4.3
M5
Gobierno y seguridad
5.1
5.2
5.3
5.4
M6
Servir los datos a Power BI y a la IA
6.1
6.2
6.3
M7
Costes, capacidades y paso a producción
7.1
7.2
7.3
M8
Laboratorio final integrador
8.1
04
Fabric, Databricks, Snowflake y BigQuery, pieza a pieza
Tarea
Microsoft Fabric
Databricks
Snowflake o BigQuery
Almacenar
Microsoft Fabric
Databricks
Snowflake o BigQuery
Ingerir
Microsoft Fabric
Databricks
Snowflake o BigQuery
Transformar
Microsoft Fabric
Databricks
Snowflake o BigQuery
Orquestar
Microsoft Fabric
Databricks
Snowflake o BigQuery
Gobernar
Microsoft Fabric
Databricks
Snowflake o BigQuery
Servir a Power BI
Microsoft Fabric
Databricks
Snowflake o BigQuery
IA sobre los datos
Microsoft Fabric
Databricks
Snowflake o BigQuery
Pagar el cómputo
Microsoft Fabric
Databricks
Snowflake o BigQuery
Pasar a producción
Microsoft Fabric
Databricks
Snowflake o BigQuery
05
Entornos y permisos para la formación de plataforma
Para todos
- Ordenador propio y conocimientos de SQL. Python ayuda, pero no es imprescindible
- Dos o tres orígenes reales, o una copia con datos no sensibles, elegidos antes de la formación
- Si no tenéis entorno, BertIA prepara uno de formación en Fabric o en Databricks
Microsoft Fabric
capacidad F · Power BI
- Área de trabajo de formación en una capacidad de Fabric, con permiso de colaborador o superior para cada participante
- Licencia Power BI Pro o Premium por usuario para publicar el informe del laboratorio
- Una capacidad de prueba de Fabric sirve para la formación, aunque no para Copilot
Databricks
Azure, AWS o Google Cloud
- Espacio de trabajo con Unity Catalog activado y un catálogo de formación
- Cómputo sin servidor o una directiva de clúster para el grupo, y un almacén SQL
- Permisos para crear esquemas, tablas, volúmenes y trabajos en el catálogo de formación
06
Material de arquitectura y código que se entrega
diagrama y PDF
repositorio Git
documento compartido
YAML y guía
Excel
07
Código PySpark de ejemplo para un lakehouse por capas
M3 · 3.2 · de Bronze a Silver
PySpark
from pyspark.sql import functions as F, Window bronze = spark.read.table("bronze.ventas")
w = Window.partitionBy("pedido_id", "linea").orderBy(F.col("_ingesta_ts").desc())
silver = (bronze
.withColumn("_fila", F.row_number().over(w))
.filter(F.col("_fila") == 1)
.drop("_fila")
.withColumn("fecha", F.to_date("fecha", "dd/MM/yyyy"))
.withColumn("importe", F.col("importe").cast("decimal(18,2)")))
silver.write.mode("overwrite").option("overwriteSchema", "true").saveAsTable("silver.ventas") M4 · 4.3 · calidad declarada
PySpark
from pyspark import pipelines as dp
from pyspark.sql import functions as F @dp.table(name="silver_ventas")
@dp.expect_or_drop("importe_valido", "importe >= 0")
@dp.expect_or_fail("cliente_informado", "cliente_id IS NOT NULL")
def silver_ventas():
return (spark.readStream.table("bronze.ventas")
.withColumn("importe", F.col("importe").cast("decimal(18,2)"))) M3 · 3.3 · actualizar Gold con la API de Delta
PySpark
from delta.tables import DeltaTable gold = DeltaTable.forName(spark, "gold.dim_cliente")
cambios = spark.read.table("silver.clientes")
(gold.alias("t")
.merge(cambios.alias("s"), "t.cliente_id = s.cliente_id")
.whenMatchedUpdateAll(condition="s.fecha_modificacion > t.fecha_modificacion")
.whenNotMatchedInsertAll()
.execute()) 08
Problemas típicos de una plataforma de datos y su solución
Síntoma
Qué se hace
- Cargas idempotentes: MERGE por clave de negocio o deduplicación por ventana en Silver, nunca añadir sin más.
- Revisar los límites de la capacidad, la seguridad definida en el punto de conexión SQL y las vistas que fuerzan el paso; en Gold, tablas físicas optimizadas en lugar de vistas.
- Analizar en la aplicación de métricas qué elemento consume, mover cargas pesadas a horario nocturno y separar capacidades de desarrollo y producción.
- Directivas de clúster, autoterminación, cómputo sin servidor para trabajos cortos y seguimiento en las tablas del sistema de facturación.
- Permisos por grupos en Unity Catalog o en Fabric, linaje activado y un propietario por cada esquema de Gold.
- Todo pasa por Git y por canalizaciones de implementación o Declarative Automation Bundles; en producción no se edita directamente.
09
Preguntas frecuentes sobre Microsoft Fabric y Databricks
¿Qué elegimos, Fabric o Databricks?
¿Se imparte en las dos plataformas a la vez?
¿Prepara para DP-600, DP-700 o Databricks Certified Data Engineer Associate?
¿Necesitamos saber Python?
¿Trabajamos con nuestros datos?
¿Qué pasa si no tenemos entorno de Fabric o Databricks?
¿Y después de la formación?
¿Es bonificable por FUNDAE?
¿Hay ejercicios evaluados o examen?
Ficha técnica
Siguiente paso
Llevemos la formación a vuestra plataforma de datos