Créer un ticket Mes tickets
Bienvenue
Connexion  S'inscrire

Connecteur Talend Open Studio

Cet article explique comment utiliser le connecteur Talend pour DataGalaxy

Ce connecteur est disponible dans les modes suivants :

Mode DesktopMode SaaS Online ❌

Présentation du connecteur

Le connecteur pour Talend permet d'importer les traitements d'un projet Talend Open Studio.
Pour cela, nous avons besoin du dossier du workspace Talend contenant a minima : 

  • Un dossier process contenant les fichiers .item et .properties
  • Le fichier talend.project




Les objets récupérés et leurs correspondances dans DataGalaxy sont détaillés dans le tableau suivant :

Objet TalendObjet DataGalaxyCommentaires
Projet (workspace)FluxLe projet (workspace) est importé en tant que flux racine dans le module Traitement, et en tant que source de type relationnel dans le module Dictionnaire pour stocker les tables détectées non mappées.
DossierFlux L'arborescence des dossiers et sous dossiers est représentée à l'aide des objets Flux
JobTraitement Les jobs supprimés (présents dans la corbeille) ne sont pas extraits.
ComposantUnité de traitementLes liens de type “Row “et “Iterate” sont utilisés pour manipuler les flux de données : ils seront agrégés et représentés par une unité de traitement 
  • Un flux est l’ensemble des composants reliés par des relations de type “Row “et “Iterate” (codes FLOW et ITERATE) avec potentiellement plusieurs points d’entrée et plusieurs points de sortie

  • Le nom de l’unité de traitement correspond à celui du dernier composant du flux (il y aura donc autant d’unité de traitement que de sorties dans le flux)

  • La description de l’unité de traitement est une agrégation des noms des composants du flux

Composants d'entrée d'un jobElément en entréeAfin de pouvoir réaliser un import API, le connecteur Talend va importer les définitions des tables et colonnes détectées dans les composants. Le connecteur permet de définir les correspondances entre les définitions d'objets identifiés dans les flux Talend et les objets présents dans DataGalaxy à l'aide de règle de correspondance stockées dans un fichier de mapping. Ce fichier généré automatiquement lors de votre premier import peut être modifié et sera réutilisé lors des prochains imports.
Composants en sortie d'un jobElément en sortie

Etape 1 : Installation

  • Télécharger le connecteur DataGalaxy depuis le portail (voir ici)
  • Extraire l'archive du connecteur dans le répertoire de votre choix
  • Télécharger le plug-in Talend depuis le portail et le copier dans le répertoire /lib du connecteur

Etape 2 : Exécution du connecteur Talend

  • Après avoir démarré le connecteur, accéder aux connecteurs de type Traitement : 
  • S'il a été correctement installé, le plug-in Talend apparaît dans la liste
  • Les informations suivantes sont demandées : 
ParamètreObligatoireDescription
Répertoire de travailOuiChemin vers le répertoire du projet (workspace) Talend
Nom du contexteOuiPermet de sélectionner le contexte à appliquer sur les process importés
Fichier de mappingNonChemin vers un fichier de mapping : fichier permettant de définir des substitutions de chaînes de caractères pour les éléments d'entrée et de sortie des unités de traitement.
Un fichier de mapping peut être généré à l'étape du résumé de l'import lors d'un premier import.

Le bouton Tester permet de contrôler que l'ensemble des fichiers nécessaires pour réaliser l'import sont bien présents dans le dossier projet (workspace) sélectionné.

Informations techniques

Lors de l'étape du résumé de l'import, il est possible de générer un fichier de mapping : 

Le fichier sera généré dans le répertoire /out du connecteur. Il va contenir l'ensemble des tables que le connecteur a détecté dans les composants des jobs Talend. Une détection est de la forme suivante : 

1.beginsWith=\\REPORTING_INTERNE@talend\\REPORTING_INTERNE\\dbo\\deal_company\\
1.replace.path=\\REPORTING_INTERNE@talend\\REPORTING_INTERNE\\dbo\\deal_company
1.replace.type=\\Relational\\Model\\Model\\Table
Si les informations associées aux tables n'ont pas pu être récupérées depuis le composant Talend, les identifiants de process\composant du job Talend seront utilisés afin de créer une arborescence de type Model\Table dans DataGalaxy.
  • L'attribut beginsWith correspond au chemin détecté par le connecteur et va permettre de réaliser un remplacement donc celui-ci ne doit pas être modifié pour que la substitution fonctionne.
  • Les attributs replace.path et replace.type permettent de réaliser le mapping vers une table de votre Dictionnaire existante. Vous pouvez donc modifier cette partie pour faire le lien avec les objets du Dictionnaire déjà existants dans DataGalaxy. Il est également possible d'ignorer un mapping qui permet de ne pas créer de table par défaut. Pour cela, il faut mettre à vide les deux attributs (cf exemple ci-dessous).
Le type doit être fourni en anglais pour que le mapping fonctionne.

Exemple

Dans ce paragraphe, nous allons vous détailler un exemple afin d'illustrer l'utilisation du fichier de mapping.

Nous avons le job hubspot_owners dans notre workspace "REPORTING_INTERNE" : 

Ce job permet d'alimenter la table "husbspot_owner" dans la base de données REPORTING_INTERNE à partir d'un appel API de Hubspot.

Suite à un premier lancement du connecteur Talend en générant un fichier mapping, nous obtenons le mapping suivant : 

1.beginsWith=\\REPORTING_INTERNE@talend\\REPORTING_INTERNE\\dbo\\hubspot_owner\\
1.replace.path=\\REPORTING_INTERNE@talend\\REPORTING_INTERNE\\dbo\\hubspot_owner
1.replace.type=\\Relational\\Model\\Model\\Table
2.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tExtractJSONFields_1\\
2.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tExtractJSONFields_1
2.replace.type=\\Relational\\Model\\Model\\Table
3.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tExtractJSONFields_3\\
3.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tExtractJSONFields_3
3.replace.type=\\Relational\\Model\\Model\\Table
4.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tFilterRow_1\\
4.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tFilterRow_1
4.replace.type=\\Relational\\Model\\Model\\Table
5.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJavaRow_1\\
5.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJavaRow_1
5.replace.type=\\Relational\\Model\\Model\\Table
6.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJavaRow_2\\
6.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJavaRow_2
6.replace.type=\\Relational\\Model\\Model\\Table
7.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJava_1\\
7.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJava_1
7.replace.type=\\Relational\\Model\\Model\\Table
8.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tRESTClient_1\\
8.replace.path=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tRESTClient_1
8.replace.type=\\Relational\\Model\\Model\\Table

Suite à l'import, côté plateforme DataGalaxy, une source a été créée dans le module Dictionnaire afin d'avoir le lineage automatiquement : 

Toutes les tables créées sont celles détectées par le connecteur et listées dans le fichier de mapping.

De plus, le flux est décrit dans l'unité de traitement : 

Dans notre cas, nous avons déjà une source relationnelle REPORTING_INTERNE existante dans le module Dictionnaire, nous souhaitons donc mapper notre job avec celle-ci. Nous avons également les définitions des routes API de l'outil Hubspot dans une source NoSQL :

Nous réalisons les modifications suivantes sur le fichier mapping : 

  • Mapping de la table source hubspot_owner de la source REPORTING_INTERNE
  • Mapping de la réponse de l'API /crm/v3/owners/ de la source API Hubspot
  • Ignorer les autres tables des étapes techniques du job Talend
#Thu Oct 20 10:45:41 CEST 2022
1.beginsWith=\\REPORTING_INTERNE@talend\\REPORTING_INTERNE\\dbo\\hubspot_owner\\
1.replace.path=\\REPORTING_INTERNE\\dbo\\hubspot_owner
1.replace.type=\\Relational\\Model\\Table
2.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tExtractJSONFields_1\\
2.replace.path=
2.replace.type=
3.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tExtractJSONFields_3\\
3.replace.path=\\API Hubspot\\CRM Owners\\/crm/v3/owners/\\get\\responses\\200\\results
3.replace.type=\\NoSql\\Directory\\Directory\\Directory\\File\\SubStructure\\SubStructure
4.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tFilterRow_1\\
4.replace.path=
4.replace.type=
5.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJavaRow_1\\
5.replace.path=
5.replace.type=
6.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJavaRow_2\\
6.replace.path=
6.replace.type=
7.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tJava_1\\
7.replace.path=
7.replace.type=
8.beginsWith=\\REPORTING_INTERNE@talend\\default@talend\\hubspot_owners\\tRESTClient_1\\
8.replace.path=
8.replace.type=
Nous sauvegardons le fichier pour le mettre dans notre connexion Talend et nous relançons le connecteur pour mettre à jour les liens. Après import, nous obtenons bien les liens attendus : 

Releases

DatePlugin
Version
DataGalaxy
release
Desktop Connector
version (minimum)
Description
23/08/20243.0.1v3.69.05.2.3Updated the logger to show more information when using verbose mode  
06/08/20243.0.0v3.65.0
5.0.5Migrated from java 11 to java 17 + CVE fixes


Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.