Installation et utilisation de dbt-watsonx-presto

Cette section décrit les étapes de l'installation et de l'utilisation de dbt-watsonx-presto.

Procédure

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

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

    dbt –version
    
  3. Exécutez la commande suivante pour créer un projet dbt.

    dbt init <project_name>
    
    1. Sélectionnez un numéro Presto et saisissez-le. Exemple : pour [1] watsonx_presto, entrez 1.
    2. Si vous avez déjà un projet portant le même nom, vous devez confirmer si vous voulez écraser profiles.yml. Entrez Y pour confirmer ou N pour rejeter.
  4. Créez le fichier profiles.yml. Pour plus d'informations, voir Configuration(configuration de votre profil).

  5. Pour tester la connexion, exécutez :

    cd <project_name>
    dbt debug
    
  6. Créez un fichier CSV dans le dossier "seeds" pour introduire les données dans watsonx.data. Exemple :

    id, value
    1,100
    2,200
    3,300
    4,400
    

    Vous pouvez rencontrer des erreurs lors de l'exécution des fichiers de semences car dbt ne peut pas gérer tous les types de données en fonction des données contenues dans le connecteur. Pour résoudre ce problème, vous pouvez définir explicitement les types de données que dbt doit utiliser. Allez dans <project_name>/dbt_project.yml et ajoutez :

    seeds:
      <project_name>:
        <seed_file_name>:
          +column_types:
            <col_1>: datatype
            <col_2>: datatype
    

    Exemple :

    seeds:
      demo:
        sample:
          +column_types:
            value: VARCHAR(20)
    

    Les noms de colonnes spécifiés ici doivent correspondre aux colonnes des fichiers CSV.

    N'utilisez pas d'espaces supplémentaires dans les fichiers CSV pour l'ensemencement. Si vous incluez des espaces supplémentaires, vous devez utiliser le même nombre d'espaces dans les requêtes que dans les modèles afin d'éviter les erreurs.

  7. 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
    
  8. 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 à 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.

  9. 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.

  10. 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>