DATA OPS

BigQuery Column-Drift Sentinel that Pauses Dependent dbt Pipelines

Snapshots the column list and types of your watched BigQuery tables on a schedule, and when a column is added, dropped, or retyped it disables the downstream dbt/scheduled…

CategoryData Ops
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerSchedule fires every 30 minutes
  • ActionRead current column schema from BigQuery INFORMATION_SCHEMAGoogle BigQueryBigQuery
  • ActionLoad last stored fingerprint from PostgresPostgreSQLPostgres
  • LogicDiff schemas; branch on drift detected
  • ActionDisable affected scheduled queries in BigQueryGoogle BigQueryBigQuery
  • OutputPost column diff and paused jobs to SlackSlack

What it does

This sentinel keeps a fingerprint of every watched BigQuery table — column names, ordinal positions, and data types pulled from `INFORMATION_SCHEMA.COLUMNS`. On each run it compares the live schema against the stored fingerprint. If anything changed, it pauses the dependent pipelines before they can run against the broken contract and notifies the owners with an exact diff.

When to use it

Use it when upstream tables are owned by another team (product, finance) who can rename or drop columns without warning, and a silent drift would corrupt your transformed models or dashboards. It buys you a clean failure instead of bad data flowing downstream.

How it works

  1. 1A schedule fires (e.g. every 30 minutes).
  2. 2Query `INFORMATION_SCHEMA.COLUMNS` for each watched BigQuery dataset to capture the current schema fingerprint.
  3. 3Compare against the last stored fingerprint in Postgres; compute added/dropped/retyped columns.
  4. 4Branch: if no diff, store the fingerprint and exit; if drift is detected, continue.
  5. 5Disable the affected scheduled queries / dbt jobs in BigQuery so they stop running.
  6. 6Post a structured diff to the data team's Slack channel with the table, the change, and the paused jobs.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect BigQueryDatasets, queries, schemas.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.