Puedes leer todo sin registrarte. Solo crearemos un perfil anónimo cuando decidas guardar tu progreso.
Lección 2 de 5
Select, filter y withColumn
La limpieza fiable hace explícitos nulos, tipos, nombres y reglas antes de publicar Silver.
- Duración
- 17 min aprox.
- Objetivo
- La limpieza fiable hace explícitos nulos, tipos, nombres y reglas antes de publicar Silver.
- Siguiente paso
- Continuar con la siguiente lección
Ver detalles del módulo
DataFrames, transformaciones y datos complejos
Domina las operaciones que aparecen en ETL real: joins, arrays, structs, ventanas y deduplicación.
- Transformar columnas y filas con funciones nativas
- Manipular arrays, maps y structs
- Combinar y deduplicar datasets de forma determinista
02ImplementaciónSelect, filter y withColumn
La limpieza fiable hace explícitos nulos, tipos, nombres y reglas antes de publicar Silver.
+
Select, filter y withColumn
La limpieza fiable hace explícitos nulos, tipos, nombres y reglas antes de publicar Silver.
Convierte tipos con cast o try_cast según la política de error, normaliza texto con funciones nativas y decide si un nulo se rechaza, imputa o conserva. Una conversión silenciosa a null debe medirse.
select con expresiones explícitas produce contratos más revisables que arrastrar todas las columnas. Añade columnas técnicas como ingestion_ts o source_file cuando aporten trazabilidad.
Modelo mental
Limpiar datos significa convertir ambigüedad de origen en un contrato explícito, no encadenar dropna y cast hasta que el job termine. Primero se define el grain de la tabla, las columnas canónicas, tipos, nulos permitidos, zonas horarias y reglas de dominio. Después se distinguen tres resultados: válido, corregible y rechazado. try_cast convierte errores de representación en null para poder medirlos; cast estricto puede ser preferible cuando el contrato exige fallo. Silver debe conservar claves y evidencia de origen suficientes para reconciliar. Una regla de calidad sin denominador, umbral y acción es solo una expresión, no un control operativo.
Significado exacto de una fila y conjunto mínimo de dimensiones que identifica un hecho.
Evita duplicados conceptuales y agregaciones incorrectas en capas posteriores.Conversión que devuelve null cuando un valor no puede representarse en el tipo solicitado.
Permite cuantificar errores sin abortar todo el lote, siempre que se controle el null resultante.Destino gobernado para registros inválidos junto con su causa y contexto de ingestión.
Conserva evidencia y permite reparación sin contaminar la tabla confiable.SELECT order_id,
try_cast(amount AS DECIMAL(18,2)) AS amount,
lower(trim(email)) AS email
FROM main.bronze.orders
WHERE order_id IS NOT NULL;Cuenta los amount convertidos a null antes de aceptar el lote.
Puntos clave
- Cada nulo requiere una política
- El esquema objetivo debe ser explícito
- Las funciones nativas conservan optimización
Evita
- Rellenar todos los nulos con cero
- Usar SELECT * en un contrato Silver
Recuerdo activo