Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

Overview

The CI/CD feature report page

Data Observability CI/CD checks run automatically when you open a pull request (PR) that modifies dbt models. The checks give you the information you need to decide whether a change is safe to merge.

Datadog posts the results as a comment on your PR, and the comment updates each time you push new changes. A full report is also available in Datadog, and you get a link to it in the PR comment.

Check types

Impact Lineage

Impact Lineage builds a graph of everything downstream of your changed dbt models. Use it to assess the blast radius of a change before merging. See which tables, dashboards, and other consumers depend on the models you modified, and route review to the right owners.

See Lineage for more detail on how Datadog builds and navigates lineage graphs.

Drift Detection

Drift Detection compares the data produced by your models before and after your changes using a series of statistical checks. Use it to confirm that a model change produces the expected output, or to catch unintended side effects such as significant row-count changes, null-rate shifts, or cardinality changes in a column’s values.

Setup

1. Connect your source control provider and dbt project

  1. Connect your source-control provider. CI/CD checks support GitHub and GitLab.
  2. Connect the supported data source account where your dbt models run.
  3. Connect your dbt Cloud or dbt Core project to Datadog. You can also connect your dbt project while configuring CI/CD checks.

2. Select your dbt project and repository

  1. From the CI/CD settings, click Add CI/CD Checks.
  2. Select the dbt project you want to add checks for.
  3. Select the main job for the project. This is the job with the most knowledge of your dbt schema.
  4. If Datadog doesn’t automatically infer the repository from your source-control provider, select it manually.
The CI/CD feature creation page

Advanced settings

If your dbt project doesn’t live at the root of your repository, you can specify the path to your dbt project in the advanced settings.

3. Configure checks

You can enable each check independently. Enabling all checks yields the richest reports.

Impact Lineage

Impact lineage generates a graph of the downstream assets that may be affected by your model changes.

General settings
SettingDescription
Run on Draft Pull/Merge RequestsEnable this option to run the check on draft pull or merge requests.

Drift Detection

Drift detection compares the current state of your data on the branch to a baseline and flags any deviations. For Datadog to understand which models ran as part of a CI pipeline, you must send OpenLineage events from your CI job. Datadog uses these events as triggers for drift detection checks. See the OpenLineage setup documentation for instructions on how to set up OpenLineage.

General settings
SettingDescription
Run on Draft Pull/Merge RequestsEnable this option to run the check on draft pull or merge requests.
ThresholdThe threshold for drift detection (for example, 0.1 for 10% drift). If a metric exceeds this threshold, it shows up as a warning in the check results.
Downstream ChecksWhen a dbt model changes, drift detection checks are generated for it and any downstream dbt models. This setting controls how far downstream the checks run.
dbt Cloud
SettingDescription
CI Job URLThe locator for the dbt Cloud CI job that’s triggered by pull requests, materializes dbt models for CI, and sends OpenLineage events to Datadog. These typically look like https://cloud.getdbt.com/....
dbt Core
SettingDescription
CI Job NameThe name of the job that’s triggered by pull requests, materializes dbt models for CI, and sends OpenLineage events to Datadog.
CI Job NamespaceThe OPENLINEAGE_NAMESPACE variable specified when sending OpenLineage events from the job specified above. See Set the environment variables. If you don’t set this variable when sending OpenLineage events, you don’t need to specify it here.

Further reading