Accéder au contenu principal Passer au contenu complémentaire

dbt Cloud - Import

Availability-note AWS

Prérequis du pont

Ce pont :
  • nécessite un accès à Internet vers https://repo.maven.apache.org/maven2/ et/ou d'autres sites d'outils permettant de télécharger des pilotes dans <TDC_HOME>/data/download/MIMB/.

Spécifications du pont

Fournisseur dbt Labs
Nom de l'outil dbt Cloud
Version de l'outil Core v1.3 à version courante
Site Web de l'outil https://docs.getdbt.com/docs/ (uniquement en anglais)
Méthodologie supportée [Intégration de données] Multimodèle, Référentiel de métadonnées, ELT (Data Stores sources et cibles, Lignage de transformation, Parsage d'expressions) via l'API Cloud Administrative, GraphQL sur un fichier JSON
Profiling de données
Collecte incrémentale
Collecte multi-modèle
Navigation dans le référentiel distant pour sélectionner un modèle

SPÉCIFICATIONS
Outil : dbt Labs/dbt Cloud version Core v1.3 à version courante via l'API Cloud Administrative, GraphQL sur un fichier JSON
Consultez https://docs.getdbt.com/docs/
Métadonnées : [Intégration de données] Multimodèle, Référentiel de métadonnées, ELT (Data Stores sources et cibles, Lignage de transformation, Parsage d'expressions)
Composant : DbtCloudApi version 11.2.0

AVERTISSEMENT
Ce pont d'import requiert un accès à Internet pour télécharger les bibliothèques tierces :
- par exemple https://repo.maven.apache.org/maven2/ pour télécharger les bibliothèques tierces open source,
- et plus de sites pour d'autres logiciels tiers, comme les pilotes JDBC spécifiques pour les bases de données.

Les bibliothèques tierces téléchargées sont stockées dans $HOME/data/download/MIMB/
- Si le protocole HTTPS échoue, le pont d'import essaye ensuite avec HTTP.
- Si un proxy est utilisé pour accéder à Internet, vous devez configurer ce proxy dans l'environnement JRE (voir l'option -j dans le paramètre Divers).
- Si le pont d'import n'a pas d'accès à Internet, le répertoire $HOME/data/download/MIMB/ peut être copié depuis un autre serveur qui a accès à Internet, où la commande $HOME/bin/MIMB.sh (ou .bat) -d peut être utilisée pour télécharger en une fois toutes les bibliothèques tierces utilisées par tous les ponts.

En exécutant ce pont d'import, vous reconnaissez être responsable des conditions d'utilisation et de toute autre faille de sécurité potentielle liées au téléchargement de ces bibliothèques logicielles tierces.

VUE D'ENSEMBLE
dbt est un workflow de transformation basé sur un outil d'intégration de données (DI/ETL).
dbt Cloud est la version (achat d'une licence) Cloud déployée basée sur dbt Core.
https://docs.getdbt.com/docs/introduction
https://docs.getdbt.com/docs/cloud/about-cloud/dbt-cloud-features

Les projets dbt sont déployés en tant que jobs dbt. L'exécution du runtime d'un job dbt génère un fichier manifest.json qui est un fichier seul contenant une représentation complète des ressources de votre projet dbt (modèles, tests, macros, etc), y compris les configurations des nœuds et les propriétés des ressources.
https://docs.getdbt.com/reference/artifacts/manifest-json

Ce pont d'import utilise l'API REST du serveur Cloud dbt afin de récupérer le fichier manifest.json dbt core des jobs dbt, puis parse les fichiers dbt manifest.json afin de déterminer les connexions de données sources/cibles et le lignage du flux de données au niveau des colonnes entre ces connexions de données.

Après spécification d'une URL au format d'API GraphQL, le pont d'import convertit automatiquement l'URL spécifiée au format d'API Administrative (uniquement pour définir l'espace de noms des modèles). Assurez-vous que votre URL {YOUR_ACCESS_URL} est la même pour les deux endpoints d'API.
Par ex. https://metadata.metaintegration.cloud.getdbt.com/graphql sera convertie en https://metaintegration.cloud.getdbt.com

Pour plus d'informations concernant les versions disponibles de dbt Core, consultez https://docs.getdbt.com/docs/dbt-versions/core

PRÉREQUIS
Nécessite l'accès à l'API Administrative (même en utilisant l'API GraphQL) pour définir l'espace de noms des modèles dbt (à quel compte, projet, environnement, job et à quelle exécution il appartient).

Nécessite les autorisations permettant l'import de dbt Cloud à l'aide de GraphQL - Member (Membre), Account Admin (Admin de compte), Job Admin (Admin de job) et Read-Only (Lecture seule). L'autorisation "Metadata-only (Métadonnées uniquement)" configurée n'est pas compatible, car elle n'a pas d'accès à l'API Administrative.

FOIRE AUX QUESTIONS
n/a

LIMITATIONS
Consultez les limitations générales connues à l'adresse MIMB Known Limitations ou dans Documentation/ReadMe/MIMBKnownLimitations.html où elles sont regroupées

La seule version dbt Core actuellement supportée est la v1.5.

SUPPORT
Fournissez un package de dépannage avec :
- le log de débogage (peut être défini dans l'UI ou dans conf/conf.properties avec MIR_LOG_LEVEL=6)
- la sauvegarde des métadonnées si disponible (peut être configurée dans le paramètre Divers avec l'option -backup, même si cette option commune n'est pas implémentée pour tous les ponts pour des raisons techniques).


Paramètres du pont

Nom du paramètre Description Type Valeurs Défaut Périmètre
URL URL permettant d'activer la connectivité à un tenant dbt privé.
Data Build Tool utilise deux approches d'obtention de modèles :
API (REST) Administrative - https://docs.getdbt.com/docs/dbt-cloud-apis/admin-cloud-api Par ex.
https://{YOUR_ACCESS_URL}

API (GRAPHQL) Discovery - https://docs.getdbt.com/docs/dbt-cloud-apis/discovery-querying Par ex.
https://metadata.{YOUR_ACCESS_URL}/graphql

Note : Si vous souhaitez utiliser l'API Discovery (GRAPHQL), votre clé doit également avoir accès à l'API d'administration (REST).
Chaîne de caractères   https://cloud.getdbt.com/ Éléments obligatoires
Clé Chaque utilisateur dbt Cloud ayant une licence Developer (Développeur) reçoit un jeton d'API. Ce jeton peut être utilisé pour exécuter des requêtes sur l'API dbt Cloud, au nom de l'utilisateur. Les jetons d'API des utilisateurs héritent des autorisations de l'utilisateur pour lequel ils ont été créés.
Vous pouvez trouver votre jeton d'API utilisateur dans la page Profil, sous le libellé Accès aux API.
MOT DE PASSE     Éléments obligatoires
Account Nom du compte dbt. REPOSITORY_MODEL     Éléments obligatoires
Environnement Nom de l'environnement dbt. REPOSITORY_MODEL     Éléments obligatoires
Project (Projet) Nom du projet ou modèle Regex dbt.

Si 'DBT.*' est spécifié, le pont d'import filtre la liste des projets à importer ou à parcourir. Vous obtenez le résultat 'DBT Snowflake Project', 'DBT Google BigQuery Project', etc.

Voici la syntaxe adéquate pour les modèles :
'DBT.*' retourne tous les projets commençant par 'DBT' ;
'.*DBT' retourne tous les projets terminant par 'DBT' ;
'.*DBT.*' retourne tous les projets dont le nom contient 'DBT' ;
'DBT.*Snowflake.*' retourne tous les projets dont le nom commence par 'DBT' et contient 'Snowflake'.

Syntaxe de paramètres de projets "Project"
DBT Snowflake Project
DOM.*;.*Analysis.*
DBT Snowflake Project;DOM.*;.*Analysis.*.
REPOSITORY_SUBSET      
Miscellaneous INTRODUCTION
Spécifiez les options Divers, commençant par un tiret et suivies éventuellement par des paramètres, par exemple :
-connection.cast MyDatabase1="MICROSOFT SQL SERVER"
Certaines options peuvent être utilisées plusieurs fois, si applicable, par exemple :
-connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
La liste d'options pouvant être une longue chaîne, il est possible de la charger à partir d'un fichier qui doit être situé dans ${MODEL_BRIDGE_HOME}\data\MIMB\parameters et avoir l'extension .txt. Dans ce cas, toutes les options doivent être définies au sein de ce fichier comme seule valeur de ce paramètre, par exemple
ETL/Miscellaneous.txt

OPTIONS DE L'ENVIRONNEMENT JAVA
-java.memory <taille maximale de la mémoire Java> (anciennement -m)

1 Go par défaut sur un JRE de 64 bits ou tel que défini dans conf/conf.properties, par exemple
-java.memory 8G
-java.memory 8000M

-java.parameters <options de ligne de commande de Java Runtime Environment> (anciennement -j)

Cette option doit être la dernière dans le paramètre Divers car tout le texte après -java.parameters est passé tel quel à la JRE. Par ex.
-java.parameters -Dname=value -Xms1G
L'option suivante doit être définie lorsqu'un proxy est utilisé pour accéder à Internet (cela est essentiel pour accéder à https://repo.maven.apache.org/maven2/ et exceptionnellement à quelques autres sites d'outils) afin de télécharger les bibliothèques logicielles tierces nécessaires.
Note : La majorité des proxys sont relatifs au chiffrement (HTTPS) du trafic extérieur (à l'entreprise) et à la confiance en le trafic intérieur pouvant accéder au proxy via HTTP. Dans ce cas, une requête HTTPS atteint le proxy via HTTP où le proxy la chiffre en HTTPS.
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

OPTIONS D'IMPORT DU MODÈLE
-model.name <nom modèle>

Écrase le nom du modèle, par ex.
-model.name "My Model Name"

-prescript <nom script>

Cette option permet d'exécuter un script avant l'exécution du pont.
Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh.
Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..).
Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec.
Par exemple :
-prescript "script.bat arg1 arg2"

-postscript <nom script>

Cette option permet d'exécuter un script après l'exécution réussie du pont.
Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh.
Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..).
Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec.
Par exemple :
-postscript "script.bat arg1 arg2"

-cache.clear

Vide le cache avant l'import et va exécuter un import complet avec collecte incrémentale.

Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée.
Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée.

-backup <répertoire>

Cette option permet de sauvegarder les métadonnées d'entrée du pont à des fins de débogage. Le <répertoire> fourni doit être vide.

L'utilisation principale de cette option concerne les ponts d'import des data stores, en particulier les ponts d'import basés sur des bases de données JDBC.

Notez que cette option n'est pas opérationnelle sur certains ponts, notamment :
- les ponts d'import basés sur des fichiers (car des fichiers d'entrée peuvent être utilisés à la place)
- les ponts d'import de référentiels d'intégration de données/BI (car les outils natifs de sauvegarde du référentiel peuvent être utilisés à la place)
- Certains ponts d'import basés sur des API (par ex. basés sur COM) pour des raisons techniques.

OPTIONS DES CONNEXIONS DE DONNÉES
Les connexions de données sont produites par les ponts d'import, généralement à partir des outils ETL/DI et BI pour faire référence aux data stores sources et cibles qu'elles utilisent. Ces connexions de données sont ensuite utilisées par les outils de gestion des métadonnées pour connecter ces dernières (connexion des métadonnées) à leurs data stores réels (par exemple, bases de données, système de fichiers, etc.) afin de produire le lignage complet de flux de données et de l'analyse d'impact de bout en bout. Le nom des connexions de données doit être unique dans chaque modèle d'import. Les noms de connexion de données utilisés dans les outils de conception DI/BI sont utilisés quand cela est possible, sinon ils sont générés en étant courts mais significatifs, comme le nom de la base de données/du schéma, le chemin d'accès au système de fichiers ou l'URI (Uniform Resource Identifier). L'option suivante vous permet de manipuler les connexions. Ces options remplacent les options héritées -c, -cd et -cs.

-connection.cast ConnectionName=ConnectionType

Lance une connexion à une base de données générique (par exemple ODBC/JDBC) pour un type de base de données précis (par exemple ORACLE) pour une analyse SQL, par exemple
-connection.cast "My Database"="MICROSOFT SQL SERVER".
La liste des types de connexions aux data stores comprend :
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

Renomme une connexion existante, par exemple, par ex.
-connection.rename OldConnectionName=NewConnectionName
Plusieurs connexions de bases de données existantes peuvent être renommées et fusionnées en une nouvelle connexion de base de données, par exemple :
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

Scinde une connexion de base de données en une ou plusieurs connexions de base de données.
Une connexion de base de données peut être scindée en une connexion par schéma, par exemple :
-connection.split MyDatabase
Toutes les connexions de base de données peuvent être fractionnées en une connexion par schéma, par exemple :
-connection.split *
Une connexion de base de données peut être explicitement fractionnée en une nouvelle connexion de base de données en ajoutant un nom de schéma à une base de données, par exemple :
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

Mappe un chemin d'accès source à un chemin d'accès de destination. Cela est utile pour les connexions aux systèmes de fichiers lorsque différents chemins d'accès pointent vers le même objet (répertoire ou fichier).
Sur Hadoop, un processus peut écrire dans un fichier CSV spécifié avec le chemin d'accès complet HDFS, tandis qu'un autre processus lit d'une table Hive implémentée (externe) par le même fichier spécifié à l'aide d'un chemin d'accès relatif avec un nom et une extension de fichier par défaut, par exemple :
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
Sous Linux, il peut être fait référence à un répertoire (ou à un fichier) donné tel que /data par plusieurs liens symboliques tels que /users/john et /users/paul, par exemple :
-connection.map /data=/users/John -connection.map /data=/users/paul
Sous Windows, il peut être fait référence à un répertoire donné tel que C:\data par plusieurs lecteurs réseau tels que M: et N:, par exemple :
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName

Écrase les règles de rapprochement insensibles à la casse par défaut pour les identifiants d'objets dans la connexion spécifiée, si le type du data store détecté supporte cette configuration (par ex. Microsoft SQL Server, MySQL etc.), par exemple :
-connection.casesensitive "My Database"

-connection.level AggregationLevel

Spécifie le niveau d'agrégation pour les connexions externes, par exemple -connection.level catalog
Liste des valeurs supportées :
server (serveur)
catalog (catalogue)
schema (schéma)(par défaut)

OPTIONS DES AUTRES PONTS
-import.multithreading NumberThreads

Nombre de threads workers pour le traitement asynchrone des métadonnées.
- Laissez le paramètre vide pour configurer la valeur de NumberThreads comme celle du nombre de coeurs de processeur disponibles.

- Spécifiez une valeur numérique supérieure ou égale à 1 pour indiquer le nombre réel de threads.

Si la valeur spécifiée n'est pas valide, un avertissement sera émis et cette valeur sera remplacée par 1.
Si vous manquez de mémoire lors du traitement asynchrone, réessayez avec un nombre plus petit.
Si votre machine dispose de beaucoup de mémoire (par exemple 10 Go ou plus), vous pouvez essayer avec un plus grand nombre pour le traitement simultané de nombreux modèles.
Notez que la définition d'un nombre trop important peut engendrer une diminution des performances en raison d'un conflit des ressources.

-model.test.skip

Skips processing Test models (Ignorer le traitement des modèles de test)
Votre projet peut contenir des tests pour les modèles et si votre projet contient des Jobs, il comprend une commande 'dbt test', les modèles de Jobs sont créés dans le manifeste :
https://docs.getdbt.com/reference/node-selection/test-selection-examples
Si le paramètre est renseigné, les modèles de test ne sont pas traités.
Note : Les modèles de test seront traités par défaut.

-model.analysis.skip

Skips processing Analysis models (Ignorer le traitement des modèles d'analyse)
Votre projet peut contenir des modèles d'analyse : https://docs.getdbt.com/docs/build/analyses#overview
Si le paramètre est renseigné, les modèles d'analyse ne seront pas traités.
Note : Les modèles d'analyse seront traités par défaut.

-import.discovery.api

Spécifiez l'URL au format suivant 'https://{YOUR_ACCESS_URL}'. Le pont d'import convertit l'URL spécifiée en 'https://metadata.{YOUR_ACCESS_URL}/graphql' de manière automatique.
Cependant, si l'URL spécifiée est au format 'https://metadata.{YOUR_ACCESS_URL}/graphql', l'URL ne sera pas convertie. Par ex.
https://metaintegration.cloud.getdbt.com sera convertie en https://metadata.metaintegration.cloud.getdbt.com/graphql
Chaîne de caractères      

 

Mapping du pont

Les informations de mapping ne sont pas disponibles

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.