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

  1. Allez dans le fichier profiles.yml qui se trouve dans .dbt de votre répertoire personnel.
  2. Coller les détails de la connexion en modifiant les valeurs des paramètres.
  3. 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

  1. Exécutez la commande suivante sur votre système pour installer dbt-watsonx-spark.

    pip install dbt-watsonx-spark
    
  2. Exécutez la commande suivante pour vérifier la version de dbt.

    dbt --version
    
  3. Si vous souhaitez créer un projet dbt, indiquez un <project_name> et exécutez la commande suivante .

    dbt init <project_name>
    
    1. Le système demande de sélectionner la base de données à utiliser. Sélectionnez watsonx_spark.
    2. Fournir watsonx.data l'hôte, l'URI et le schéma.
  4. Pour tester la connexion, exécutez :

    cd <project_name>
    dbt debug
    
  5. 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
    
  6. Dans <project_name>/models, vous avez les modèles qui effectuent les opérations. Par défaut, dbt définit les opérations comme view. 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/view
      

      Exemple :

      models:
        demo:
          example:
            +materialized: table
      

      Seules certaines déclarations sont prises en charge dans les modèles.

    Le caractère point-virgule ( ;) est limité dans les modèles.

  7. Exécutez les modèles en utilisant la commande suivante pour créer les tables ou les vues.

    cd <project_name>
    dbt run
    

    Vous 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_null
    

    Les connecteurs doivent prendre en charge la fonction Create Table as Select (CTAS) pour que les exécutions dbt fonctionnent.

  8. Pour générer les documents relatifs aux actions effectuées, exécutez :

    cd <project_name>
    dbt docs generate
    dbt docs serve
    

    Par défaut, il s'exécute sur localhost:8080. Pour modifier le port, exécutez :

    dbt docs serve –-port <port_number>