Étude de cas : créer des modèles de données de commerce électronique avec dbt
Susan Sun
Freelance Data Scientist
Installer dbt
pip install dbt
Initialiser le projet dbt looker_ecommerce
dbt init looker_ecommerce
Vérifier la configuration
cd looker_ecommerce
dbt debug
Répertoire des fichiers auto‑générés par dbt :

distribution_centers.csv est petit et statique, avec seulement 10 lignes
Extrait du fichier brut distribution_centers.csv

orders.csv est volumineux et se met à jour en continu : 125 000 lignes et 9 colonnes
Extrait du fichier brut orders.csv :

Fichier de données brut « Distribution center » :
Fichier de données brut « Orders » :
dbt seeddbt sourcedbt init génère la structure de base :
looker_ecommerce/
macros/
models/
seeds/
snapshots/
tests/
dbt_project.yml
Charger distribution_center comme seed :
looker_ecommerce/
macros/
models/
stg_looker__distribution_centers.sql
seeds/
looker__distribution_centers.csv
snapshots/
tests/
dbt_project.yml
Dans stg_looker__distribution_centers.sql :
SELECT
id,
name,
latitude,
longitude
FROM
{{ref('looker__distribution_centers')}}
Charger orders comme source :
looker_ecommerce/
macros/
models/
stg_looker__orders.sql
seeds/
snapshots/
tests/
dbt_project.yml
Dans stg_looker__orders.sql :
SELECT *
FROM
{{source('looker_ecommerce', 'orders')}}
Pour documenter les sources :
looker_ecommerce/
macros/
models/
_looker__sources.yml
seeds/
snapshots/
tests/
dbt_project.yml
Dans _looker__sources.yml :
version: 2
sources:
- name: looker_ecommerce
tables:
- name: orders
_looker__models.yml dans le même répertoire models :version: 2
models:
- name: stg_looker__distribution_centers
description: Nom et emplacement du centre de distribution
- name: stg_looker__orders
description: Renseignements sur les commandes, p. ex. le statut
looker_ecommerce/
macros/
models/
_looker__models.yml
_looker__sources.yml
stg_looker__distribution_centers.sql
stg_looker__orders.sql
seeds/
looker__distribution_centers.csv
snapshots/
tests/
dbt_project.yml
Charge les fichiers csv comme fichiers seed
dbt seed
Crée ou met à jour tous les modèles du projet dbt
dbt run
Crée ou met à jour le modèle spécifié
dbt run --select model
Exécute tous les tests du projet dbt
dbt test
Exécute les tests pour le modèle spécifié
dbt test --select model
Combine dbt run et dbt test en une seule commande !
dbt build
dbt build --select model
Structure de nommage des models :
<data_source>__<model_name>.sqlp. ex.
stg_looker__distribution_centers.sqlstg_looker__orders.sqlStructure de nommage des fichiers yaml :
_<data_source>__<artifact_type>.ymlp. ex.
_looker__models.yml_looker__sources.ymlÉtude de cas : créer des modèles de données de commerce électronique avec dbt