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
-
Exécutez la commande suivante sur votre système pour installer
dbt-watsonx-presto.pip install dbt-watsonx-presto -
Exécutez la commande suivante pour vérifier la version de dbt.
dbt –version -
Exécutez la commande suivante pour créer un projet dbt.
dbt init <project_name>- Sélectionnez un numéro Presto et saisissez-le. Exemple : pour
[1] watsonx_presto, entrez1. - 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.
- Sélectionnez un numéro Presto et saisissez-le. Exemple : pour
-
Créez le fichier
profiles.yml. Pour plus d'informations, voir Configuration(configuration de votre profil). -
Pour tester la connexion, exécutez :
cd <project_name> dbt debug -
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,400Vous 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>: datatypeExemple :
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.
-
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 à 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>