Test de fumée
🎉 Il est temps de lancer la machine! 🎉
virtualenv / poetry env à utiliser pour exécuter l'ETL devrait généralement être celui du dossier core.dashboards_store. Si vous voulez utiliser un ensemble de dépendances personnalisé, vous devez configurer cssXX.dashboards_store/pyproject.toml selon vos besoins.Nous supposons que vous avez un terminal ouvert dans le dossier <working dir>.
- Activer l'environnement Python
L'environnement Python doit être activé pour que dbt puisse s'exécuter. Si vous obtenez une erreur indiquant que la commande dbt est introuvable, vous avez probablement oublié de l'activer.
cd core.dashboards_store
eval $(poetry env activate)
- Revenir dans le dossier
cssXX.dashboards_storeComme votre projet
cssXX.dashboards_storepeut remplacer certains modèles du Core, et puisqu'il implémente les contrats définis par le Store, vous devriez toujours exécuter l'ETL depuis le dossiercssXX.dashboards_store.
cd ../cssXX.dashboards_store
- Exécuter la commande de diagnostic pour tester la connexion:
dbt debug
La sortie devrait ressembler à ceci:
15:29:16 Running with dbt=1.4.7
dbt version: 1.4.7
python version: 3.8.10
python path: /home/<store_user>/.cache/pypoetry/virtualenvs/core.dashboards_store-pQVMzw-y-py3.8/bin/python
os info: Linux-5.10.16.3-microsoft-standard-WSL2-x86_64-with-glibc2.29
Using profiles.yml file at /home/<store_user>/<working_directory>/<cssXX>.dashboards_store/profiles.yml
Using dbt_project.yml file at /home/<store_user>/<working_directory>/<cssXX>.dashboards_store/dbt_project.yml
Configuration:
profiles.yml file [OK found and valid]
dbt_project.yml file [OK found and valid]
Required dependencies:
- git [OK found]
Connection:
server: <store\'s server IP>
database: <store_dev>
schema: <store_user> -- the default schema should be your name
port: <store\'s server port>
UID: <store_user>
client_id: None
authentication: sql
encrypt: True
trust_cert: True
retries: 1
login_timeout: 0
query_timeout: 0
Connection test: [OK connection ok]
All checks passed!
Qu'est-ce que je viens de faire?
- Si vous obtenez le magnifique
All checks passed!, votre projet est bien configuré. Vous n'avez encore rien matérialisé, mais vous savez au moins que la base de données est joignable depuis votre ordinateur. Il vous reste à alimenter les différentes seeds et les modèles, puis à configurercssXX.dashboards_store/dbt_project.ymlpour matérialiser les modèles sous-jacents aux dashboards. - Si vous obtenez une erreur, quelque chose ne fonctionne pas:
- Vérifiez que les identifiants de la base de données sont corrects, par exemple en essayant de vous connecter à la base avec les mêmes identifiants dans SSMS.
- Vérifiez que la base de données est bien joignable depuis votre ordinateur avec
telnet <ip_de_la_base> <port_de_la_base>. - Recherchez le message d'erreur; il s'agit peut-être d'un problème courant. Que la première page de Google vous soit favorable.
Connexion à la base de données
Pour l'instant, nous n'avons pas connecté le Store à la base de données. Pour connecter le Store et commencer à matérialiser nos vues et nos tables, nous devons dire à dbt où trouver les identifiants et les informations de connexion. Pour cela, nous créons un fichier profiles.yml.
Et maintenant?
Vous avez maintenant un projet dbt cssXX.dashboards_store fonctionnel, qui peut être utilisé pour alimenter la base de données du Store. Malheureusement, vous n'avez pas encore terminé: il reste à configurer le projet cssXX.dashboards_store et à exécuter l'ETL.
