moyespriella.bsky.social
@moyespriella.bsky.social
Ecosistema y Paquetes

No hace falta reinventar la rueda. El Hub de dbt permite instalar paquetes como librerías:

dbt-utils: Macros SQL cross-database.
codegen: Genera el YAML base automáticamente.
dbt-expectations: Tests avanzados de calidad de datos.

#dezoomcamp #DataTalksClub
February 16, 2026 at 5:20 PM
Documentación viva

Documentar suele ser tedioso, pero dbt docs generate lo cambia todo.

Genera un sitio web automático con:

Diccionario de datos (definiciones de columnas).
Grafo de Linaje: Visualizas de dónde viene y a dónde va cada dato.

La documentación vive junto al código.

#dezoomcamp
February 16, 2026 at 4:53 PM
Calidad de datos (Testing) con dbt Tests.

Podemos validar automáticamente:

🔹 Unicidad (unique)
🔹 Valores no nulos (not_null)
🔹 Integridad referencial (relationships)
🔹 Reglas de negocio custom (singular tests)

Si el test falla, el pipeline se detiene.

#dezoomcamp #DataEngineeringZoomcamp
February 16, 2026 at 4:43 PM
La magia de potenciar SQL con Jinja.

{{ ref() }}: Maneja dependencias automáticamente.

{{ source() }}: Abstrae el origen de los datos.

Macros: Funciones reutilizables para no escribir el mismo código 10 veces (DRY: Don't Repeat Yourself).

SQL dinámico > SQL estático

#dezoomcamp #DataTalksClub
February 16, 2026 at 4:29 PM
Estructura de un proyecto dbt

Orden = Calidad

1️⃣ Staging: Limpieza ligera (casting, renombrado), relación 1:1 con la fuente.

2️⃣ Intermediate: Lógica compleja, joins y reglas de negocio.

3️⃣ Marts: Tablas de Hechos y Dimensiones listas para el usuario final.

#dezoomcamp
February 16, 2026 at 4:11 PM
Analytics Engineering

Es el eslabón perdido entre la ingeniería de datos y el análisis.

Con dbt (Data Build Tool), dejamos de escribir queries sueltas y aplicamos prácticas de ingeniería de software al SQL: control de versiones, testing automatizado y CI/CD.

#dezoomcamp #DataEngineeringZoomcamp
February 16, 2026 at 3:58 PM
February 16, 2026 at 3:14 PM
Podado de datos

Concepto técnico detrás del ahorro de costos

Si particionamos por fecha y hacemos WHERE fecha = 'hoy', BigQuery ignora físicamente todos los archivos de ayer y mañana.

Pasamos de escanear 1TB a 100MB en una sola línea de código.

#dezoomcamp #DataEngineeringZoomcamp
February 9, 2026 at 7:56 PM
Tablas Externas vs Materializadas

Una distinción técnica importante que vimos en la tarea.

External Tables: Leen directo de GCS (Parquet/CSV). Ideales para staging, pero no tienen cache ni clustering.

Native Tables: Viven dentro de BigQuery. Más rápidas y optimizables.

#dezoomcamp
February 9, 2026 at 7:54 PM
¿Machine Learning en SQL?

Con BigQuery ML en el #DataEngineeringZoomcamp de #DataTalksClub aprendimos a crear, entrenar y ejecutar modelos directamente en el Data Warehouse.

No tuvimos que mover terabytes de datos a Python.

Podemos entrenar un modelo con CREATE MODEL y predecir con ML.PREDICT.
February 9, 2026 at 7:52 PM
¿Por que evitar usar el SELECT *?

Al ser una base de datos columnar, leer todas las columnas dispara los costos innecesariamente

✅ Selecciona solo las columnas que necesitas

✅ Filtra siempre primero por tu columna particionada

Tu presupuesto te lo agradecerá

#dezoomcamp #DataEngineeringZoomcamp
February 9, 2026 at 7:48 PM
¿Cómo optimizar tablas en BigQuery?

Partitioning: Divide la tabla en segmentos (ej. por día). Reduce costos al ignorar particiones enteras

Clustering: Ordena los datos dentro de la partición. Acelera filtros y sorts

Úsalos juntos para máximo rendimiento

#dezoomcamp #DataTalksClub
February 9, 2026 at 7:44 PM
¿Por qué BigQuery es tan rápido y barato?

Gracias a sus "Internals" ya que almacenamiento y cómputo trabajan por separado

Colossus: Almacenamiento barato y distribuido
Dremel: Motor de cómputo que paraleliza tu query en miles de workers
Jupiter: La red de ultra velocidad que los une

#dezoomcamp
February 9, 2026 at 7:40 PM
Subimos algunos puestos pero los primeros lugares están ampliando su ventaja.

#DataEngineeringZoomcamp #DataTalksClub #dezoomcamp
February 8, 2026 at 3:43 AM
ELT (extract-load-transform)

Proceso que aprendimos para manejar datos:

1. Extraemos datos
2. Los cargamos en nuestro Data Lake (repositorio/bucket para datos crudos)
3. Transformamos con SQL (BigQuery)

Todo orquestado por @kestra.io

#dezoomcamp #DataEngineeringZoomcamp #DataTalksClub #Kestra
February 2, 2026 at 6:03 PM
IA en el curso #DataEngineeringZoomcamp

1. Generación de código usando Copilot
2. Ingeniería de contexto. Copilot tiene acceso a la estructura de nuestro proyecto por lo que facilita la corrección de errores y actializaciones
3. RAG para "leer" documentación

#dezoomcamp #DataTalksClub @kestra.io
February 2, 2026 at 6:00 PM
Data Pipeline (tubería de datos)

Serie de procesos automatizados que mueven datos desde un origen hasta un destino.
#dezoomcamp #DataEngineeringZoomcamp #DataTalksClub
February 2, 2026 at 4:57 PM
Kestra

Es nuestro "director de orquesta" que nos ayudará a que todas nuestras herramientas y plataformas (python, código, bases de datos, cloud, etc.) trabajen juntas.

#dezoomcamp #DataEngineeringZoomcamp #DataTalksClub #Kestra
February 2, 2026 at 4:49 PM
Entendí el "Workflow Orchestration" así:

Usamos YAML (el lenguaje) para escribir un Workflow (la secuencia de tareas) dentro de Kestra (la herramienta), la cual se encarga del Workflow Orchestration (ejecutarlo y gestionarlo).

#dezoomcamp #DataEngineeringZoomcamp #DataTalksClub
February 2, 2026 at 4:30 PM
Llevaba 3 semanas con este error en GCP pero al final se resolvió con dos simples comandos en el Cloud Shell

#dezoomcamp #DataEngineeringZoomcamp
February 2, 2026 at 4:19 PM
No esperaba estar en los primeros puestos pero a ver hasta donde llegamos en el #DataEngineeringZoomcamp de #DataTalksClub

#dezoomcamp
February 2, 2026 at 4:10 PM