Installation et utilisation de dbt-watsonx-spark
Cette section décrit les étapes de l'installation et de l'utilisation de dbt-watsonx-spark.
Avant de commencer
- Abonnement à watsonx.data sur IBM Cloud.
- Provisionner le moteur Spark natif dans watsonx.data.
- Installer DBT core.
Procédure
Créer un serveur de requêtes Spark
Pour que le moteur Spark s'intègre à l'outil dbt et fonctionne comme moteur de requête, vous devez créer un serveur de requête Spark. Voir Créer un serveur de requêtes Spark.
Récupérer les détails de la connexion au serveur de requêtes
Pour configurer le fichier de profil dans l'outil dbt, vous devez enregistrer les détails de la connexion au serveur de requêtes. Voir Récupérer les détails de la connexion au serveur de requêtes.
Configurer profiles.yaml pour l'outil dbt
- Allez dans le fichier
profiles.ymlqui se trouve dans .dbt de votre répertoire personnel. - Coller les détails de la connexion en modifiant les valeurs des paramètres.
- Créez le fichier
profiles.yml. Pour plus d'informations, voir Configuration (paramétrage de votre profil).
Installer l'outil dbt et vérifier la connexion
-
Exécutez la commande suivante sur votre système pour installer
dbt-watsonx-spark.pip install dbt-watsonx-spark -
Exécutez la commande suivante pour vérifier la version de dbt.
dbt --version -
Si vous souhaitez créer un projet dbt, indiquez un <project_name> et exécutez la commande suivante .
dbt init <project_name>- Le système demande de sélectionner la base de données à utiliser. Sélectionnez
watsonx_spark. - Fournir watsonx.data l'hôte, l'URI et le schéma.
- Le système demande de sélectionner la base de données à utiliser. Sélectionnez
-
Pour tester la connexion, exécutez :
cd <project_name> dbt debug -
Exécutez les graines en utilisant la commande suivante pour créer un tableau et insérer les données.
cd <project_name> dbt run -
Dans
<project_name>/models, vous avez les modèles qui effectuent les opérations. Par défaut, dbt définit les opérations commeview. Vous pouvez créer les tables ou les vues selon l'une des méthodes suivantes :-
Spécifier à l'intérieur des modèles (applicable pour ce modèle uniquement)
{{ config(materialized='table/view') }}Si cette déclaration est commentée à l'aide de (--), dbt utilise toujours la configuration. Pour le désactiver, supprimez-le entièrement ou commentez-le dans le style Jinja (
{# … #}). -
Spécifier dans dbt_project.yml (applicable pour tous les modèles)
models: <project_name>: <model_folders>: +materialized: table/viewExemple :
models: demo: example: +materialized: tableSeules certaines déclarations sont prises en charge dans les modèles.
Le caractère point-virgule ( ;) est limité dans les modèles.
-
-
Exécutez les modèles en utilisant la commande suivante pour créer les tables ou les vues.
cd <project_name> dbt runVous pouvez également spécifier les tests que vous souhaitez :
models: - name: <model_name> description: "some description" columns: - name: <col_name> description: "some description" data_tests: - <test_name_1> - <test_name_2>Exemple :
models: - name: my_first_dbt_model description: "A starter dbt model" columns: - name: id description: "The primary key for this table" data_tests: - unique - not_nullLes connecteurs doivent prendre en charge la fonction Create Table as Select (CTAS) pour que les exécutions dbt fonctionnent.
-
Pour générer les documents relatifs aux actions effectuées, exécutez :
cd <project_name> dbt docs generate dbt docs servePar défaut, il s'exécute sur localhost:8080. Pour modifier le port, exécutez :
dbt docs serve –-port <port_number>