Contenido del curso
Modelos dimensionales
- 6

Data Warehouse, Data Lake y Lakehouse
07:02 min - 7

Modelo estrella vs copo de nieve en datos
05:14 min - 8

Tipos de dimensiones lentamente cambiantes
04:32 min - 9

Dimensión tipo 1: sobrescribir sin guardar historia
07:13 min - 10

Dimensión tipo 2
06:05 min - 11

Dimensión tipo 3: historia en columnas
03:31 min - 12

Tabla de hechos (fact)
09:04 min - 13

Configuración de herramientas para Data Warehouse y ETL
03:22 min - 14

Cómo extraer dimensiones de preguntas de negocio
08:54 min - 15

Diseño de tablas en un modelo dimensional
11:23 min
ETL para inserción en Data Warehouse
- 16

Documento de mapeo en ETL para data warehouse
Viendo ahora - 17

Creando tablas dimensionales en Redshift
07:09 min - 18

Extracción: querys en SQL
17:28 min - 19

Cruce de fuentes en Pentaho con Stream Lookup
09:25 min - 20

Transformación ETL con Pentaho paso a paso
15:19 min - 21

Carga de datos transformados a Redshift con Pentaho
15:01 min - 22

Cómo cargar la tabla de hechos con Pentaho
12:21 min - 23

Cómo calcular MaxID y MaxDate en Pentaho
17:26 min - 24

Orquestar ETL en Pentaho: job
24:27 min - 25

Solución ETL con dimensiones en paralelo en Redshift
07:27 min
Cierre
Documento de mapeo en ETL para data warehouse
Resumen
Antes de mover un solo dato hacia tu data warehouse, necesitas saber de dónde sale cada campo y cómo llega a su destino. Ahí entra el documento de mapeo en ETL, una herramienta que te ayuda a rastrear el origen, el tipo de dato y las transformaciones necesarias para construir un modelo dimensional confiable. Es la guía que conecta tus fuentes con tu modelo final.
¿Qué es un documento de mapeo y para qué sirve en un proceso ETL?
Es el plano que documenta cada campo de tu modelo dimensional y su relación con las fuentes de datos. Sin él, cualquier proceso de extracción y transformación se vuelve adivinanza.
La propuesta de plantilla que se trabaja en la clase [00:32] divide la información en dos grandes bloques: target y source. El target representa el destino, es decir, la dimensión o tabla del data warehouse a la que llegará el dato. El source describe la fuente, con detalles como tabla, columna, si es primary key, qué transformación aplicar y observaciones relevantes.
Una ventaja clave: para un mismo target puedes tener varios sources. Si tu dimensión cliente se alimenta de tres bases distintas, agregas columnas adicionales de source y mantienes la trazabilidad.
¿Qué incluye un documento de mapeo de datos? Incluye el campo destino (target), su tipo de dato, la tabla y columna origen (source), si esa columna es llave primaria, la transformación a aplicar y observaciones. Sirve para documentar el flujo completo de un ETL.
¿Cómo mapear una dimensión cliente desde varias tablas?
El ejercicio parte del modelo dimensional ya construido sobre la base de datos de Adventure Works [02:00], con dimensiones de clientes, productos, vendedores (como dimensión lentamente cambiante tipo dos, con fecha de inicio y fin) y territorios.
Para la dimensión clientes se listan los campos target: ID cliente, código del cliente como varchar, nombre, apellido, nombre completo, números de celular, casa y trabajo, y ciudad de residencia. A partir de ahí, comienza la cacería del dato.
¿Dónde encuentro los datos del cliente en la base?
Al consultar la tabla Sales.Customer [03:30], aparece un CustomerID que se convierte en el código del cliente, y un PersonID que conecta con la tabla Person. La tabla de clientes no tiene nombres ni apellidos directamente; esos atributos viven en Person.
Para descubrir cómo se relacionan las tablas, basta con clic derecho sobre la tabla en el esquema correspondiente y seleccionar ver diagrama [05:10]. Ese diagrama muestra que Customer se une con Person a través de PersonID y BusinessEntityID.
- FirstName y LastName salen de la tabla Person.
- CustomerID sale de Customer y es la primary key.
- El nombre completo no existe en la base, así que requiere una transformación de concatenación entre nombre y apellido.
¿Cómo manejo teléfonos cuando están en filas y no en columnas?
Esta parte es interesante. La tabla PersonPhone [07:45] guarda los teléfonos por filas, no por columnas. Cada fila tiene un PhoneNumberTypeID que distingue el tipo: 1 para celular, 2 para casa y 3 para trabajo.
Para llevarlo al modelo dimensional necesitas una transformación que pivotee esos valores: capturas el campo PhoneNumber tres veces, cada una filtrando por el tipo correspondiente. Esto convierte filas en columnas y deja los tres teléfonos disponibles como atributos del cliente.
¿Por qué un modelo dimensional facilita el análisis? Porque consolida en una sola dimensión los atributos que en la base operacional estaban dispersos en varias tablas. Quien analice los datos no tiene que reconstruir relaciones complejas cada vez.
¿Cómo documento las transformaciones y la ciudad del cliente?
Para la ciudad de residencia, el recorrido pasa por BusinessEntityAddress [10:30], que conecta a la persona con un AddressID y un AddressTypeID. Desde Address puedes obtener directamente el campo City, que es lo que pide la regla de negocio, y filtrar por el tipo de dirección que corresponde a la casa.
En el documento de mapeo quedan registradas todas las condiciones: la tabla origen, la columna específica y la transformación con la condición exacta. Por ejemplo, para celular la observación es "cuando PhoneNumberTypeID = 1".
¿Qué tipos de transformaciones puedo encontrar en un ETL?
Las transformaciones no se limitan a concatenar o filtrar. Aparecen varios escenarios típicos cuando trabajas con datos crudos:
- Homologación de valores: dos textos que significan lo mismo pero se escriben distinto y deben unificarse.
- Normalización de fechas: formatos diferentes que deben llegar a un único estándar.
- Desagrupación de campos: valores agrupados que se separan en columnas o atributos adicionales.
- Concatenación: combinar nombre y apellido para construir un nombre completo.
- Pivoteo de filas a columnas: cuando un atributo está en filas con un tipo identificador, como los teléfonos.
Después de aplicar estas transformaciones, tu modelo queda mucho más robusto y listo para análisis.
¿Qué reto sigue después de mapear la dimensión cliente?
El ejercicio propuesto [16:20] es completar el documento mapeando las tablas de producto, territorio, vendedor y la tabla de hechos. La idea es que apliques el mismo método: identificar target, rastrear sources con el diagrama de la base, definir llaves primarias y describir cada transformación necesaria.
Una vez tengas ese mapeo, el siguiente paso es modelarlo físicamente en la base de datos y crear las tablas. Cuéntame en los comentarios cómo resolviste el mapeo de la tabla de hechos y qué transformaciones identificaste.