Final Peer Reviews for #DEZoomcamp complete! ✅
Just evaluated a complex SkyPulse Streaming Pipeline. Impressed by the real-time flight data visualization and the use of Apache Flink + Redpanda. Reviewing expert architectures like this is a game-changer for my engineering criteria.
Gran lección evaluando pipelines en AWS: no subestimes el dataset. Puedes tener la mejor arquitectura con Redshift y dbt, pero si pruebas con un CSV de 10 filas, se siente como un toy project. Para un portafolio sólido, el volumen de los datos importa muchísimo. #dezoomcamp
Proyecto 3: AWS Data Pipeline — Sales Analytics
El tercer proyecto que revisé es una arquitectura full AWS para ventas: S3, Glue con PySpark, Redshift y Step Functions. Un caso de uso clásico de retail, pero levantado con una infraestructura IaC en Terraform. Muy buen diseño de flujo. #dezoomcamp
De este pipeline de GDELT confirmo lo útil que es separar bien las capas en dbt. Si resuelves la limpieza y el casteo en la capa de staging, los modelos de la capa mart quedan súper limpios y enfocados solo en las agregaciones de negocio. Pura mantenibilidad. #dezoomcamp
Proyecto 2: GDELT Global Event Pulse
Un pipeline que ingesta la base de datos global de noticias GDELT para analizar tensión mundial. Automatizado con Kestra local en Docker y transformado con dbt. Manejar esa cantidad de datos crudos diarios es un reto técnico muy bueno.
#dezoomcamp
Algo clave que me llevo del proyecto NOD Tracker es la importancia del particionamiento en BigQuery. Diseñar tus tablas pensando desde el inicio en cómo las va a consultar el dashboard (Looker) te ahorra tiempo y costos. Arquitectura pensada en el consumo final. #dezoomcamp
Evaluando proyectos del #dezoomcamp.
Proyecto 1: SoCal NOD Tracker
Hoy revisé un pipeline end-to-end que trackea ejecuciones hipotecarias en California usando GCP, Kestra y dbt. Muy interesante ver cómo un buen stack de datos puede dar visibilidad a problemas económicos reales.
Cerrando mi proyecto del #dezoomcamp. Un pipeline end-to-end extrayendo datos y transformando con SQL en BigQuery, orquestado con Bruin. Lo clave para la reproducibilidad: definir la infraestructura con Terraform. Así, cualquiera puede clonar y desplegar la arquitectura completa en minutos.
La reproducibilidad no debe comprometer la seguridad. Al subir el código de mi proyecto del #dezoomcamp, la lección más valiosa fue auditar con "git status" antes de cada push. Un .gitignore estricto para los tfstate de Terraform y llaves JSON te salva de exponer tu cuenta de GCP.
Impacto visual y de negocio (El cruce de datos)
Visualizar los datos confirmó por qué usamos un LEFT JOIN en BigQuery: los estados con mayor potencial de biomasa tienen cero plantas operando.
Un INNER JOIN habría ocultado esta gigante oportunidad del mapa.
#dezoomcamp
Creando el dashboard de mi proyecto #dezoomcamp en Looker Studio.
Tip clave: si tu mapa geográfico se pinta de un solo color, es porque Looker asigna "Record Count" por defecto.
Asegúrate de reemplazarlo con tu métrica real y convertir tu columna de texto a tipo 'Región'.
#DataTalksClub
Optimizando el Data Warehouse (BigQuery) en Reports Layer
BQ no permite particionar por texto (Estado), así que inyectamos un DATE estático (2024-01-01) para el Particionamiento y usamos el Estado para el Clustering. Así los filtros geográficos del Dashboard responderán en milisegundos
#dezoomcamp
Modelado de datos y SQL.
Reports Layer proyecto #dezoomcamp.
Convertimos toneladas de biomasa a GWh con termodinámica real.
Lección clave en SQL: siempre usar LEFT JOIN al cruzar potencial vs realidad. Un INNER JOIN borraría los estados sin plantas, ocultando justamente la oportunidad de negocio.
Ever wonder when a TV show loses its magic? 🎬 I built a local pipeline analyzing 11GB of IMDb data (500M rows) to find out. Built with Bruin CLI, DuckDB & Streamlit, it tracks TV creative decline & finds underrated movie gems.
Code here: [Link] #DataEngineering #Data #DEZoomcamp #SQL #Bruin #Movies
Sanitización y Schema-on-Read
Al leer CSVs crudos del gobierno, BigQuery sanitiza los nombres con acentos y espacios (ej. Tipo_de_energ__a).
La solución es aplicar Schema-on-Read: leer esos nombres temporales y limpiarlos con SQL en la Staging Layer.
#dezoomcamp #DataTalksClub
Tablas Externas, preparando datos para analítica
En la Staging Layer de nuestro proyecto para el #dezoomcamp, usamos External Tables en BigQuery como puente al Data Lake
Dato vital: usar skip_leading_rows = 1 al crear la tabla evita que los encabezados del CSV rompan tus funciones CAST a numéricos
Infraestructura y Conexión (Certificados SSL y Buckets)
Notas para la ingesta de datos:
1) Usa urllib3 para evitar bloqueos por certificados SSL obsoletos al hacer requests
2) Para crear una carpeta en Cloud Storage basta con añadir 'raw/' al nombre del archivo para que ésta se cree
#dezoomcamp
Transformación en memoria (problema con BigQuery)
En mi proyecto del #dezoomcamp aprendí que BigQuery no lee tablas externas en formato .xls ¿La solución en #Bruin? Usar Python (Pandas y io.BytesIO) para convertir el Excel a CSV directamente en la memoria RAM y subirlo limpio a Google Cloud Storage
Capstone project done for #DEZoomcamp 2026! 🎓
Built the SoCal NOD Tracker — a daily foreclosure pipeline across 6 Southern California counties using GCP, Terraform, Kestra, BigQuery, dbt & Looker Studio.
github.com/HighviewOne/SoCal-NOD-Tracker
#DataEngineering
Desplegando mi infraestructura con Terraform para el #dezoomcamp GCP me bloqueó la creación del Data Lake por una regla de seguridad: uniformBucketLevelAccess.
Solucionarlo con una línea de código me recordó por qué hacer IaC es la mejor forma de entender la nube a bajo nivel. #DataTalksClub
Para mi proyecto final del #dezoomcamp analizo el potencial energético de la biomasa en México.
Hoy dejé la consola web de GCP y automaticé la creación de mi Data Lake y BigQuery usando Terraform.
La seguridad y reproducibilidad que te da la infraestructura como código es otro nivel.
México tiene un enorme potencial de biomasa, pero los datos para ubicarlo están en bases de datos gubernamentales aisladas.
Para mi proyecto del #dezoomcamp, construyo un data pipeline que cruza residuos agrícolas con capacidad eléctrica para mapear dónde construir plantas.
Data Ingestion milestone reached! 🏗️
Successfully deployed #AWS S3 with #Terraform and ingested 100k records from the SECOP II API using Python on my James-T-850. Everything is now stored as Parquet.
Repo: github.com/CodingJhames...
#DataEngineering #Python #Cloud #DEZoomcamp
DataTalksClub: a GitHub Activity Analytics Dashboard
I built an end-to-end batch pipeline using GCS, BigQuery, Terraform, Bruin, and Streamlit to turn raw GitHub events into analytics-ready insights.
repo: shorturl.at/CzhMU
#DataEngineering #DEZoomcamp #DataTalksClub #Bruin #BigQuery #GCP
Módulo de streaming del #dezoomcamp completado.
Configurar Redpanda, Flink y Postgres en contenedores y ver cómo fluyen y se agregan los datos en vivo está increíble.
Con esto termino el contenido técnico del bootcamp, ya solo queda el proyecto final.
Probando las Session Windows de Flink.
En vez de cortar el tiempo en bloques fijos, agrupan eventos mientras haya actividad y se cierran tras un tiempo inactivo.
Lo veo súper útil para analizar tiempos de sesión de usuarios en apps.
#dezoomcamp
El concepto de 'Watermark' en Flink me pareció genial. Básicamente es el margen de tolerancia que le das al sistema para esperar eventos que llegan con retraso (por latencia o pérdida de señal) antes de cerrar y procesar el bloque. Puro mundo real. #dezoomcamp
Haciendo agregaciones en tiempo real con PyFlink para el #dezoomcamp. Las Tumbling Windows te permiten hacer un GROUP BY por ventanas de tiempo fijas. Escribir sentencias SQL para streams continuos de datos es un cambio de paradigma interesante.