Resumen del Curso: 12 Laboratorios de BigQuery

Resumen del Curso: 12 Laboratorios de BigQuery

Bloque 1: Configuración, Ingesta y Optimización de Datos

Laboratorio 1: Inicialización de Entorno y Primeras Consultas

  • Autenticación de la terminal local con Google Cloud utilizando el comando de gcloud auth login.
  • Definición e inicialización del proveedor de Google en Terraform mediante un archivo providers.tf.
  • Creación de un recurso de tipo google_bigquery_dataset de forma declarativa con Terraform.
  • Ejecución de la primera consulta SQL estándar sobre datasets públicos guardando los resultados físicamente en el nuevo dataset.

Laboratorio 2: Ingesta de Datos en Batch (GCS a BigQuery)

  • Despliegue automatizado de un bucket de Cloud Storage con Terraform configurando reglas de ciclo de vida para controlar costes.
  • Transferencia de archivos locales CSV y NDJSON hacia Cloud Storage utilizando el comando gcloud storage cp.
  • Estructuración de un esquema de datos explícito en formato JSON para garantizar la tipación correcta en el destino.
  • Ejecución de trabajos de carga física hacia tablas nativas de BigQuery utilizando la herramienta de CLI bq load.

Laboratorio 3: Tablas Externas y Federación de Datos

  • Creación de un recurso google_bigquery_table configurando el bloque de definición externo en Terraform.
  • Mapeo dinámico de datos apuntando a rutas comodín de Cloud Storage con el patrón *.csv sin duplicar almacenamiento.
  • Análisis de las ventajas e inconvenientes de rendimiento y coste al consultar datos directamente sobre el lago de datos.

Laboratorio 4: Optimización: Particionado y Clustering

  • Configuración física del bloque time_partitioning basado en una columna de tipo fecha (transaction_date) en Terraform.
  • Definición de claves de ordenación interna dentro de cada partición mediante la directiva de clustering para el campo de tiendas.
  • Demostración práctica de reducción del volumen de bytes escaneados mediante el descarte de particiones en las consultas.

Bloque 2: Análisis Avanzado, Modelado Predictivo y Seguridad

Laboratorio 5: SQL Avanzado y Funciones de Ventana (Window Functions)

  • Modularización y estructuración de consultas lógicas complejas utilizando Expresiones de Tabla Comunes (CTEs) con WITH.
  • Implementación de funciones analíticas de ventana como ROW_NUMBER(), LAG() y sumas acumulativas.
  • Creación y consumo de funciones personalizadas reutilizables mediante sentencias de CREATE TEMP FUNCTION en SQL.

Laboratorio 6: BigQuery ML (Machine Learning)

  • Entrenamiento de un modelo predictivo de regresión lineal directamente en la base de datos con la sentencia CREATE OR REPLACE MODEL.
  • Evaluación de las métricas de calidad y precisión del modelo (R-cuadrado, error absoluto medio) mediante la función ML.EVALUATE.
  • Inferencia de estimación de gasto en tiempo real sobre nuevos registros de usuarios utilizando la función ML.PREDICT.

Laboratorio 7: Seguridad, Gobernanza y Control de Acceso (IAM, Filas y Columnas)

  • Creación de taxonomías y etiquetas de políticas de Data Catalog para restringir columnas sensibles (CLS) como el número de seguro social.
  • Configuración de exclusiones geográficas por roles utilizando el recurso google_bigquery_row_access_policy (RLS).
  • Simulación y pruebas de acceso seguro en local alternando el contexto de autenticación mediante claves JSON de cuentas de servicio.

Laboratorio 8: Ingesta en Tiempo Real (Streaming con Pub/Sub)

  • Despliegue automatizado de un tópico y una suscripción de tipo directo de Pub/Sub a BigQuery (bigquery_config) con Terraform.
  • Configuración de accesos IAM concediendo roles de editor y visor de metadatos al agente de servicio de Pub/Sub del proyecto.
  • Publicación de mensajes JSON a través de comandos de terminal y su inserción inmediata sin servidor en BigQuery en milisegundos.

Bloque 3: Integraciones, Ingeniería Analítica y CI/CD

Laboratorio 9: Consultas Federadas con Cloud SQL (PostgreSQL)

  • Despliegue seguro de una instancia compartida de Cloud SQL con PostgreSQL mediante recursos de Terraform.
  • Configuración de un recurso de conexión segura google_bigquery_connection para almacenar credenciales encriptadas en GCP.
  • Ejecución de un cruce híbrido en tiempo real uniendo tablas de BigQuery con PostgreSQL mediante la función EXTERNAL_QUERY.

Laboratorio 10: Transformación de Datos con dbt (Data Build Tool)

  • Aislamiento de dependencias en un entorno virtual e instalación local del adaptador oficial dbt-bigquery.
  • Estructuración de un pipeline por capas dividiendo el proyecto en modelos de staging (vistas) y marts (tablas físicas).
  • Definición de aserciones de reglas de negocio personalizadas y validaciones de esquema dentro de la suite de pruebas de dbt.

Laboratorio 11: Orquestación con Python y BigQuery API

  • Instanciación del cliente oficial de Python heredando de manera transparente los permisos locales del protocolo ADC.
  • Optimización de la velocidad de transferencia y conversión en memoria de resultados de consultas a DataFrames de Pandas vía pyarrow.
  • Control estructurado de excepciones de la API de Google y exportación automatizada de información hacia archivos CSV planos.

Laboratorio 12: CI/CD Pipeline para BigQuery con GitHub Actions

  • Centralización del archivo de estado de Terraform configurando un backend remoto en un bucket seguro de Cloud Storage.
  • Almacenamiento de claves de cuentas de servicio encriptadas dentro de la plataforma de GitHub usando secretos de repositorio (GCP_SA_KEY).
  • Diseño de un flujo de trabajo que ejecuta tareas automáticas de validación semántica en Pull Requests y de despliegue en la rama main.
Newsletter GCP
¿Quieres estar al día con las últimas novedades de Google Cloud Platform? ¡Suscríbete y no te pierdas nada!