How do I enforce a schema contract on a BigQuery table?
Encode required columns, types, and accepted values as checks on the BigQuery asset. A breaking change fails the run and is caught in CI.
Command
bruin runDefined in
YAML + SQL
Works with
BigQuery + Bruin CLI
What you get
Data contractsin-pipelineblocking
How it works in code
custom_checks:
- name: fresh
query: SELECT count(*) FROM t WHERE loaded_at < now() - interval '1 day' -- bigqueryRun bruin run and the BigQuery run stops the moment the rule is violated.
Related use cases
Quality checks by warehouse
Enforce freshness on Snowflake source tables
How do I fail a run when a Snowflake source is stale?
Quality checks by warehouseCatch row-count anomalies on Snowflake
How do I detect a broken load on Snowflake?
Quality checks by warehouseEnforce a data contract on Snowflake
How do I enforce a schema contract on a Snowflake table?
Catch bad data before it ships
Open source. Built-in and custom checks that run on every pipeline run.