Objetivo
Aplicar Sources y staging en un escenario de ecommerce y producir una salida que otra persona pueda verificar.
Antes de empezar
- Tener descargado el dataset ecommerce del curso
- Crear una carpeta de práctica y conservar el original sin modificar
Explicación
Sources y staging se trabaja aquí sobre el ecommerce del curso. Primero identifica la pregunta que quieres responder y el grain de los datos; después aplica declarar fuentes y limpiar datos cerca del origen. No ejecutes código como una receta: observa qué columnas entran, qué filas pueden desaparecer o duplicarse y qué salida consume la siguiente capa. En un entorno profesional debes separar la lógica técnica de la definición de negocio, usar nombres legibles y conservar una consulta de reconciliación. Cuando el resultado parezca correcto, intenta romperlo con un caso límite: nulos, duplicados, fechas fuera de rango, estados inesperados o un identificador que no exista en la dimensión. El objetivo de esta lección no es memorizar Sources y staging, sino ser capaz de implementarlo, revisarlo y defender por qué la solución es fiable.
Contexto profesional
En un equipo de datos, declarar fuentes y limpiar datos cerca del origen. Este trabajo suele aparecer en incidencias, revisiones de código o entregas de analítica. La diferencia entre una demo y un trabajo profesional es poder explicar el supuesto, reproducir el resultado y dejar una comprobación que detecte errores futuros.
Ejemplo real
select * from {{ source('raw','orders') }}
Archivos o datos de entrada
- data/ecommerce_customers.csv
- data/ecommerce_orders.csv
Práctica guiada
Antes de mirar la solución, reproduce el ejemplo de Sources y staging, guarda la salida y escribe qué supuesto estás haciendo sobre los datos.
Laboratorio paso a paso
- Descarga los archivos indicados y crea una carpeta nueva para esta práctica; no modifiques el original.
- Inspecciona las columnas y escribe qué resultado esperas obtener al aplicar: declarar fuentes y limpiar datos cerca del origen.
- Ejecuta o reproduce el ejemplo técnico: select * from {{ source(‘raw’,’orders’) }}
- Registra el número de filas de entrada y de salida y explica cualquier diferencia antes de seguir.
- Introduce un caso límite deliberado (nulo, duplicado, estado inesperado o valor extremo) y comprueba cómo responde tu solución.
- Guarda la versión final y anota en README los comandos/pasos exactos para repetirla desde cero.
Reto sin ayuda
Repite la práctica cambiando un supuesto importante de Sources y staging; documenta qué se rompe, cómo lo detectas y qué cambio harías para producción.
Resultado esperado
Obtendrás un artefacto reproducible de Sources y staging, con entrada conocida, salida observable y una comprobación que detecta al menos un caso límite.
Cómo verificarlo
Compara conteos, totales y claves con la fuente. Vuelve a ejecutar desde una carpeta limpia siguiendo sólo tu README; si falta un paso, la práctica no está terminada.
Checklist de validación
- La salida se puede reproducir sin pasos ocultos
- Los conteos/totales relevantes están reconciliados con la entrada
- Existe al menos una prueba de caso límite
- No hay secretos ni rutas personales dentro del código
Pista específica
Si te bloqueas con Sources y staging, reduce el problema a una entrada pequeña de 3–5 filas y escribe primero el resultado que debería salir en papel.
Solución paso a paso
Solución de referencia para Sources y staging: trabaja sobre una copia de los datos y valida el grain antes de calcular métricas. Ejecuta `select * from {{ source(‘raw’,’orders’) }}` y compara conteos de filas y agregados con la fuente. Después añade una comprobación para el caso límite que hayas elegido. Si la técnica implica una unión, valida cardinalidad antes y después; si implica una métrica, documenta numerador, denominador y filtros; si implica automatización, devuelve un código de error visible cuando falte un requisito. Finalmente guarda el artefacto en Git con un commit descriptivo y añade al README qué entrada usaste, qué salida obtuviste y cómo verificaste que era correcta. Esa evidencia es parte de la solución, no un añadido opcional.
Errores frecuentes
- Dar por bueno un resultado sólo porque la consulta/script no da error
- No documentar el grain o los filtros de negocio
- Cambiar varias cosas a la vez y no saber qué causó una diferencia
Qué debes recordar
En trabajo real, Sources y staging vale cuando es reproducible, verificable y comprensible para otra persona.
Preguntas de entrevista
- ¿Cómo comprobarías que una implementación de Sources y staging no duplica ni pierde información?
- ¿Qué caso límite probarías primero y por qué?
Siguiente paso
Continúa con la siguiente lección y reutiliza el mismo proyecto ecommerce para acumular trabajo real.
Recursos de esta lección
Preparando contenido…
Quiz de la lección
¿Qué demuestra mejor que has aprendido Sources y staging?