Resumen del curso/Haz que perdure1 de 3

Guarda una consulta como activo

AnteriorSiguiente

Guarda una consulta como activo

Convierte una consulta auditada en un activo de Bruin con encabezado, dependencias y descripción.

De algo puntual a algo persistente

Una consulta que ejecutaste una vez vive solo en el historial de tu terminal. Un activo es una consulta guardada como archivo, de modo que puede volver a ejecutarse, tener dependencias y revisarse. Bruin guarda cada activo en pipeline/assets/ con un encabezado breve que indica a Bruin qué es y qué necesita.

El encabezado de un activo está al principio del archivo .sql, entre /* @bruin y @bruin */. Nombra el activo, establece su tipo, enumera de qué depends y contiene una description. La lista depends indica a Bruin qué tablas debe construir primero, de modo que el orden sea correcto sin que tengas que controlarlo. El nombre del activo no lleva un esquema delante, igual que todas las demás tablas de este proyecto.

Tabla o vista

materialization decide cómo se almacena el resultado. type: table guarda las filas, así que las lecturas son rápidas y los números quedan fijos hasta la siguiente ejecución. type: view guarda la consulta y la recalcula en cada lectura, por lo que siempre está actualizada pero no hace trabajo hasta que se consulta. Este curso usa una tabla con strategy: create+replace, que reconstruye la tabla local pequeña en cada ejecución.

Un encabezado terminado se ve así, con el cuerpo de tu consulta debajo:

/* @bruin
name: category_growth
type: duckdb.sql
description: >-
  Una fila por categoría de producto, comparando los ingresos de línea de 2023 y 2024
  (quantity * net_price). Los ingresos usan net_price, no unit_price.
depends:
  - orders
  - order_items
  - products
materialization:
  type: table
  strategy: create+replace
@bruin */

-- aquí va tu consulta auditada

Tu tarea

Guarda la consulta central corregida de las lecciones de interrogación - vive en queries/agent_v1.sql - como un activo nuevo en pipeline/assets/category_growth.sql, con un encabezado como el anterior y el cuerpo de la consulta debajo. Dale una materialización de tabla, la lista depends correcta y una descripción que indique qué representa una fila y qué definición de ingresos utiliza.

Después valídalo, constrúyelo e inspecciónalo:

bruin validate pipeline/pipeline.yml
bruin run pipeline/assets/category_growth.sql
bruin query --connection duckdb-default \
  --description "row count of the new category growth asset" \
  --query "SELECT COUNT(*) AS categories FROM category_growth;"

bruin validate pasa, bruin run crea la tabla y el resultado tiene una fila por categoría. Hay ocho categorías en los datos, así que espera ocho filas - o nueve si tu consulta conserva las líneas cuyo producto falta en un grupo «Unknown». Confirma que el grano coincide con la descripción que escribiste.

Comprueba tu comprensión

  • ¿Cuál es la diferencia entre una materialización table y una view?
  • ¿Qué hace depends?
  • ¿Cuántas filas debe tener category_growth y qué representa una fila?

Hazlo con tu agente

Di next lesson y tu agente te enseñará esto, te hará estas preguntas y después asignará la tarea anterior. Hazla a mano y luego di review my work - comparará tu trabajo con una rúbrica y te dirá qué corregir o marcará la lección como terminada.

Sign up to our newsletter

Practical updates on open-source data pipelines, AI analysts, governance, and what we are shipping at Bruin.

The signup form is hosted by Brevo. Allow marketing cookies to load it.