Ask AI

Asset checks#

Dagster allows you to define and execute data quality checks on your Software-defined Assets. Each asset check verifies some property of a data asset, e.g. that there are no null values in a particular column.

When viewing an asset in Dagster’s UI, you can see all of its checks, and whether they’ve passed, failed, or haven’t run.


Benefits#

Using asset checks helps you:

  • Ensure that data produced by your pipeline is timely and high quality
  • Catch problems in the source data that your pipeline depends on
  • Communicate what the data produced by your pipeline is expected to look like (aka act as a data contract)
  • Block downstream assets from materializing when issues arise

How it works#

Asset checks are defined in code alongside the asset(s) they target. You can use Python to define them, or if using dbt, load your dbt tests into Dagster as asset checks. Refer to the Defining and executing asset checks guide for more info.

Using schedules and sensors, you can automate the execution of jobs that include asset checks and the assets that they target. Checks can also be executed on a one-off basis using the Dagster UI. Refer to the Executing checks section of the Defining and executing asset checks guide for more info.

With asset checks, you can also:


Limitations#

  • Dagster's UI is tested with a maximum of 1000 checks per asset. It's designed with the expectation that most assets will have fewer than 50 checks. If you have a use case that doesn't fit these limits, reach out to Dagster support to discuss.

  • Checks are currently only supported per-asset, not per-partition. See this issue for updates.