Aller au contenu principal

Activer le suivi de l'historique (SCD de type 2)

S'applique à : Icône de coche verte connecteurs SaaS Icône de coche verte connecteurs de base de données Icône de coche verte connecteurs basés sur la query

Le paramètre de suivi de l’historique, également appelé paramètre de dimensions à évolution lente (SCD), détermine comment gérer les modifications de vos données au fil du temps. Désactivez le suivi de l’historique (SCD de type 1) pour remplacer les enregistrements obsolètes au fur et à mesure de leur mise à jour et de leur suppression dans la source. Activez le suivi de l'historique (SCD de type 2) pour conserver l'historique de ces modifications. La suppression d’une table ou d’une colonne dans la source ne supprime pas ces données de la destination, même lorsque le SCD de type 1 est sélectionné.

Tous les connecteurs ne prennent pas en charge le SCD de type 2. Pour plus de détails sur la prise en charge, consultez la section Disponibilité des fonctionnalités sur la page d'aperçu de votre connecteur.

Comportement du suivi de l'historique

Par exemple, supposons que vous ingérez la table suivante :

Exemple de table source

Imaginons aussi que la couleur préférée d'Alice devient violette le 2 janvier.

Si le suivi de l'historique est désactivé (SCD de type 1), la prochaine exécution du pipeline d'ingestion met à jour cette ligne dans la table de destination.

Exemple de SCD de type 1

Si le suivi de l'historique est activé (SCD de type 2), le pipeline d'ingestion conserve l'ancienne ligne et ajoute la mise à jour comme nouvelle ligne. Il marque l'ancienne ligne comme inactive afin que vous sachiez quelle ligne est à jour.

Exemple de SCD de type 2

Activez le suivi de l'historique dans l'interface utilisateur

Vous pouvez activer le suivi de l'historique lorsque vous créez ou modifiez des pipelines d'ingestion gérés dans l'interface utilisateur de Databricks.

Dans la page Source de l'assistant d'ingestion de données, sélectionnez Activé dans le menu déroulant Suivi de l'historique (SCD de type 2).

Paramètre facultatif de suivi de l’historique dans l’interface utilisateur

Activer le suivi de l'historique à l'aide de l'API

Vous pouvez activer le suivi de l'historique lorsque vous créez ou modifiez des pipelines d'ingestion gérés à l'aide de Declarative Automation Bundles, de notebooks ou du CLI Databricks en spécifiant le parameter scd_type.

  • SCD_TYPE_1: Suivi de l'historique désactivé
  • SCD_TYPE_2: Suivi de l'historique activé

Exemples : Google Analytics

Le SCD de type 2 est pris en charge pour les tables users et pseudonymous_users en utilisant last_updated_date comme colonne de curseur. Ce n'est pas pris en charge pour les tables d'événements qui ne permettent que l'ajout.

Par default, le suivi de l'historique est désactivé (SCD de type 1). La configuration YAML suivante montre comment modifier ce paramètre dans un bundle :

YAML
resources:
pipelines:
pipeline_ga4:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_url: <project-id>
source_schema: <property-name>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_2

Exemples : Salesforce

Par default, le suivi de l'historique est désactivé (SCD de type 1). La configuration YAML suivante montre comment modifier ce paramètre dans un bundle :

YAML
resources:
pipelines:
pipeline_sfdc:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_schema: <source-schema>
source_table: <source-table>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_2

Exemples : SQL Server

La colonne de séquence que vous spécifiez dans la configuration du pipeline (par exemple, last_updated, modified_at ou version_number) détermine la durée pendant laquelle chaque version de ligne était active (enregistrée dans les colonnes __START_AT et __END_AT de la table cible).

Les types de colonnes sequence_by suivants sont pris en charge :

  • Horodatage
  • Date
  • Entier
  • Long
  • Chaîne

Par default, le suivi de l'historique est désactivé (SCD de type 1). La configuration YAML suivante montre comment modifier ce paramètre dans un bundle :

YAML
resources:
pipelines:
pipeline_sqlserver:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- table:
source_catalog: <source-catalog>
source_schema: <source-schema>
source_table: <source-table>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_2
sequence_by: <sequence-column>

Exemples : Rapports Workday

Par default, le suivi de l'historique est désactivé (SCD de type 1). La configuration YAML suivante montre comment modifier ce paramètre dans un bundle :

YAML
resources:
pipelines:
pipeline_workday:
name: <pipeline-name>
catalog: <destination-catalog>
schema: <destination-schema>
ingestion_definition:
connection_name: <connection-name>
objects:
- report:
source_url: <report-url>
destination_catalog: <destination-catalog>
destination_schema: <destination-schema>
table_configuration:
scd_type: SCD_TYPE_2

Limitations

L’exécution d’un refresh complet remplace l’intégralité de la table. Cela supprime toutes les versions de lignes précédentes. Le nouvel historique est suivi à partir du point de refresh.