[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-dbt-01":3},{"content":4,"date":5,"image":6,"sideArticles":7},"\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"es\">\r\n\r\n\u003Chead>\r\n    \u003Cmeta charset=\"UTF-8\">\r\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    \u003Cmeta name=\"description\"\r\n        content=\"Aprende dbt desde cero. Configura tu entorno en Google Cloud y domina la capa de Staging y Sources para limpiar tus datos de BigQuery.\">\r\n    \u003Cmeta name=\"keywords\" content=\"dbt, BigQuery, Google Cloud, Data Engineering, Sources, Staging, SQL, ELT\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>dbt: Sources y Capa de Staging | Curso dbt GCP\u003C/title>\r\n    \u003Cstyle>\r\n        body {\r\n            font-family: sans-serif;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        h1,\r\n        h2,\r\n        h3 {\r\n            color: #333;\r\n        }\r\n\r\n        ul {\r\n            list-style-type: disc;\r\n            margin-left: 20px;\r\n        }\r\n\r\n        code {\r\n            background-color: #f4f4f4;\r\n            padding: 2px 5px;\r\n            border-radius: 3px;\r\n            font-family: monospace;\r\n        }\r\n    \u003C/style>\r\n\u003C/head>\r\n\r\n\u003Cbody>\r\n    \u003Ch1>dbt: Sources y Capa de Staging (Limpieza Inicial)\u003C/h1>\r\n\r\n    \u003Cp>\u003Cstrong>Autor:\u003C/strong> \u003Ca href=\"https://www.youtube.com/@EduardoMartinezAgrelo\" target=\"_blank\">Eduardo Martínez\r\n            Agrelo\u003C/a>\u003C/p>\r\n\r\n    \u003Cp>Bienvenidos al núcleo de la transformación de datos moderna. dbt (Data Build Tool) no mueve los datos, sino que\r\n        orquesta el SQL dentro de nuestro Data Warehouse. En este primer laboratorio, aprenderemos a conectar dbt con\r\n        BigQuery y a establecer las bases de una arquitectura robusta.\u003C/p>\r\n\r\n    \u003Ch2>¿Qué son las Sources?\u003C/h2>\r\n\r\n    \u003Cp>En dbt, nunca llamamos a las tablas crudas directamente por su nombre de base de datos. Utilizamos\r\n        \u003Cstrong>Sources\u003C/strong>:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Abstracción:\u003C/strong> Definimos el origen de los datos en un archivo YAML para centralizar el\r\n            linaje.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Frescura:\u003C/strong> Permiten monitorizar cuándo fue la última vez que entraron datos a nuestras\r\n            tablas de ingesta.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>La Capa de Staging\u003C/h2>\r\n\r\n    \u003Cp>La regla de oro de dbt es: \u003Cem>un modelo de staging por cada tabla fuente\u003C/em>. Aquí realizamos las\r\n        transformaciones atómicas:\u003C/p>\r\n    \u003Cp>\u003Ccode>SELECT cast(id as string) as customer_id FROM {{ source('raw', 'users') }}\u003C/code>\u003C/p>\r\n    \u003Cp>En esta etapa renombramos columnas para que tengan sentido de negocio, corregimos tipos de datos y eliminamos\r\n        registros irrelevantes, creando una interfaz limpia para el resto del proyecto.\u003C/p>\r\n\r\n    \u003Ch2>Modularidad y Ref\u003C/h2>\r\n\r\n    \u003Cp>La potencia de dbt reside en la función \u003Ccode>ref()\u003C/code>. Al usarla, dbt construye automáticamente el grafo de\r\n        dependencias (DAG). Esto asegura que las tablas se creen en el orden correcto y permite que dbt entienda cómo\r\n        fluye la información desde el origen hasta el reporte final.\u003C/p>\r\n\r\n    \u003Ch2>Conclusión: El fin de los scripts SQL aislados\u003C/h2>\r\n    \u003Cp>Has configurado tu primer proyecto y tu capa de limpieza. Ya no tienes archivos SQL perdidos; tienes un sistema\r\n        interconectado. El siguiente paso es subir el nivel y crear modelos de negocio complejos en la capa de Marts.\r\n    \u003C/p>\r\n\u003C/body>\r\n\r\n\u003C/html>","April 15, 2026","https://storage.googleapis.com/mp-blog/images/curso-gcp-dbt-01.jpg",[8,14,19,24],{"id":9,"title":10,"description":11,"image":12,"date":13},"curso-gcp-apache-spark-01","Spark: Infraestructura como Código con Terraform | Curso Spark, Scala y Terraform","Aprende a desplegar clústeres de Big Data profesionalmente. Domina Terraform para crear infraestructura como código (IaC) en Google Cloud y automatiza tu entorno de Dataproc para Spark.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-01.jpg","March 12, 2026",{"id":15,"title":16,"description":17,"image":18,"date":13},"curso-gcp-apache-spark-02","Spark: Ingesta (Raw to Bronze) y Formatos Columnares | Curso Spark, Scala y Terraform","Domina la ingesta de datos con Spark. Aprende a convertir JSONs pesados en formato Parquet, optimiza tu almacenamiento en un 85% y domina los esquemas estrictos con Scala.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-02.jpg",{"id":20,"title":21,"description":22,"image":23,"date":13},"curso-gcp-apache-spark-03","Spark: Limpieza y Calidad (Bronze to Silver) | Curso Spark, Scala y Terraform","Domina la limpieza de datos en Spark. Aprende a usar Scala para implementar la capa Silver (Plata) de tu arquitectura Medallón, utilizando Case Classes para mayor seguridad.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-03.jpg",{"id":25,"title":26,"description":27,"image":28,"date":13},"curso-gcp-apache-spark-04","Spark: Analítica Avanzada (Silver to Gold) | Curso Spark, Scala y Terraform","Domina el Análisis Avanzado con Spark. Aprende a calcular métricas de negocio con Window Functions y a extraer el Top 3 de canciones por país y día para tu capa Gold.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-04.jpg",1776363703986]