Créer des data marts et des modèles de capture instantanée (snapshots) avec dbt

Étude de cas : créer des modèles de données de commerce électronique avec dbt

Susan Sun

Freelance Data Scientist

Présentation des modèles de data mart dbt

Data marts : des modèles finaux propres et accessibles.

Cas d'utilisation

  • Magasins de caractéristiques pour l'équipe science des données
  • Indicateurs clés agrégés pour l'équipe finances
  • Indicateur de latence pour l'équipe ingénierie
  • Réduit les répétitions en conservant le SQL comme code
Étude de cas : créer des modèles de données de commerce électronique avec dbt

Data marts du commerce électronique Looker

Customers

Répond aux questions :

Qui sont nos clients ?

Quels sont leurs comportements d'achat ?

Granularité des données :

Une ligne par client

Exemples de colonnes :

Nom du client, montant dépensé par client

Products

Répond aux questions :

Quel est notre revenu, nos coûts et notre profit ?

Granularité des données :

Une ligne par produit

Exemples de colonnes :

Catégorie de produit, revenu, profit

Étude de cas : créer des modèles de données de commerce électronique avec dbt

Data marts du commerce électronique Looker

Graphique acyclique orienté montrant toutes les sources et modèles dbt et leurs relations ; les sources sont en vert, les modèles et marts en bleu.

Étude de cas : créer des modèles de données de commerce électronique avec dbt

Construction étape par étape

Étape 1 : Peaufinez la logique SQL hors de dbt, puis remplacez les références par la syntaxe dbt.

Capture d'écran d'un fichier SQL d'exemple avec plusieurs CTE.

Étape 2 : Créez des tests de données et la doc

Capture d'écran d'un fichier YAML de modèles dbt montrant les descriptions de table et de colonnes pour un modèle dbt

Étape 3 : Testez la construction ! (p. ex. dbt build)

Étude de cas : créer des modèles de données de commerce électronique avec dbt

Présentation des modèles de snapshot dbt

Cinq statuts de commande :

Processing, Shipped, Complete, Cancelled et Returned

Échantillon de données :

Aperçu du fichier de données des commandes contenant deux lignes de données et 9 colonnes. Noms de colonnes : order id, user id, status, gender, created at, returned at, shipped at, delivered at, et num of items.

Étude de cas : créer des modèles de données de commerce électronique avec dbt

Commandes : capture des changements de statut

  • Créez le fichier orders_snapshot.sql
{% snapshot orders_snapshot %}
{{
    config(target_schema='main',
      unique_key='order_id',
      strategy='timestamp',
      updated_at='created_at')
}}

SELECT * 
FROM 
{{source('looker_ecommerce', 'orders')}}

{% endsnapshot %}
  • Exécuter un modèle de snapshot précis
dbt snapshot -s orders_snapshot.sql
  • Exécuter tous les modèles de snapshot
dbt snapshot
  • Exécuter tous les modèles (y compris les snapshots)
dbt build
1 https://docs.getdbt.com/docs/build/snapshots
Étude de cas : créer des modèles de données de commerce électronique avec dbt

Passons à la pratique !

Étude de cas : créer des modèles de données de commerce électronique avec dbt

Preparing Video For Download...