Guide sur Talend rédigé par un développeur d'Informatica PowerCenter : Partie 1

J'ai récemment commencé à travailler avec Talend en tant que Customer Success Architect. À ce titre, j'aide les clients à se conformer aux règles en matière d'architecture et aux bonnes pratiques afin qu'ils puissent gérer leurs stratégies de données avec Talend. Avant de rejoindre Talend, j'ai travaillé sur plusieurs implémentations de data warehouses utilisant prioritairement Informatica PowerCenter comme outil ETL. Toute transition d'une technologie à une autre peut constituer un véritable défi. Mais, au lieu d'essayer de « reproduire » la façon de faire de PowerCenter dans Talend, prenons un peu de recul pour comprendre le mode de fonctionnement de Talend, ses fonctionnalités et en quoi il diffère de PowerCenter. Dans ce blog, je vais vous faire part de l'expérience que j'ai tirée du passage d'Informatica à une plateforme d'intégration plus moderne afin de faciliter votre migration d'Informatica à Talend.

Talend et Informatica PowerCenter : quelle est la différence ?

Ces deux outils font à peu près la même chose : transférer des données d'une source à une cible, mais de façons différentes. Chacune de ces approches présente des avantages. Il est important de bien comprendre ces avantages et ces inconvénients avant de concevoir votre job ETL.

La première chose à comprendre est que, même si ces deux outils sont dotés d'une interface graphique utilisateur et qu'ils extraient les données depuis des sources, les transforment et les chargent dans une cible, leur implémentation est bien différente. Talend génère un code Java natif qui permet son exécution n'importe où. PowerCenter, pour sa part, génère des métadonnées qui sont conservées dans un référentiel RDBMS utilisé par son moteur propriétaire pour son exécution.

Il importe de bien comprendre que, Talend étant un générateur de code, il peut être exécuté en tant que moteur ETL (exécuté sur son propre serveur autonome) ou ELT (exécuté nativement sur le serveur cible). Le code Java généré par Talend peut être exécuté sur n'importe quelle plateforme prenant en charge Java : sur un serveur dans votre data center, dans le cloud ou même sur votre ordinateur portable. Si les deux plateformes offrent des composants gérant la majeure partie des tâches requises pour l'intégration des données, certaines situations nécessitent un élément personnalisé. Lorsque PowerCenter est utilisé, cela se traduit souvent par un codage sur mesure, un processus pénible et inefficace, selon moi. Pourtant, dans Talend, il est possible de développer vos propres composants dans Java et de les intégrer sans difficulté dans le Studio. Ce sont là des considérations importantes à prendre en compte lors de la conception de votre job d'intégration des données.

Télécharger >> Talend Open Studio for Data Integration

Comment mes jobs sont-ils conçus ?

Autre différence de taille : la façon dont un job est conçu. Commençons par PowerCenter. La première étape consiste à élaborer un mapping (c.-à-d., pour l'essentiel, un « flux de données »). C'est à ce stade que le mapping entre la source et la cible, et la logique de transformation sont définis. Une fois le mapping validé et ses métadonnées enregistrées dans le référentiel, les sessions et les workflows (le « flux de processus ») sont créés. Les connexions physiques avec les objets sources et cibles sont ensuite attribuées, les tâches sont séquencées dans l'ordre d'exécution et les procédures de traitement/notification des erreurs peuvent être mises en œuvre.

Dans Talend, les flux de données et de processus sont mis en œuvre ensemble, en toute transparence. Nous concevons un job qui définit le « flux de processus » à l'aide d'un large éventail de composants offrant des fonctionnalités spécifiques qui implémentent le « flux de données ». Le « flux de processus » est mis en œuvre à l'aide de « déclencheurs » et le « flux de données » entre les composants à l'aide de « lignes » reposant sur un schéma particulier.

Afin de mieux comprendre, comparons les concepts de PowerCenter à ceux de Talend :

Informatica PowerCenter

Talend Studio

Description

Référentiel

Référentiel des projets

Le référentiel de PowerCenter et le référentiel des projets de Talend contiennent des objets de métadonnées réutilisables (jobs, connexions de bases de données, définitions de schémas, etc.). Dans Talend, ces objets sont parfaitement intégrés aux systèmes de contrôle du code source SVN ou Git et n'utilisent pas de systèmes propriétaires de contrôle du code source.

Dossier

Dossier

Les dossiers permettent d'organiser les objets selon leur fonctionnalité. PowerCenter n'autorise pas les sous-dossiers, contrairement à Talend.

Workflow

Job

Le workflow ou le job implémente le flux de processus ETL alors que l'ensemble des connexions et des dépendances est défini. Dans Talend, un job représente à la fois le flux de processus et le flux de données.

Worklet/Session
réutilisable

Joblet

Combinaison d'un ensemble de tâches réutilisable dans l'ensemble des workflows/jobs. Vous pouvez l'utiliser pour des codes réutilisables tels que la gestion des erreurs, les notifications, ou pour des processus répétés.

Session et mapping

Composants

PowerCenter définit séparément les connexions, les emplacements de fichiers et le traitement des erreurs au cours d'une session. Dans Talend, à l'inverse, la fonction de mapping et de session sont combinées et mises en œuvre au sein d'un composant ou d'un ensemble de composants liés par un flux de processus ou de données.

Transformations

Composants

Talend dispose d'une vaste bibliothèque de composants prenant en charge diverses transformations, p. ex. l'un des composants les plus couramment utilisés, tMap, combine les transformations Expression, Lookup, Router et Joiner d'Informatica.

Source et cible — Définitions et connexions

Métadonnées du référentiel

Dans Talend, les définitions et les connexions de schéma peuvent être codées en dur dans chaque composant. Mais il est vivement recommandé, au rang des meilleures pratiques, qu'elles soient définies dans les métadonnées du référentiel, puis réutilisées dans les composants.

Zoom sur l'interface

Pour finir, jetons un coup d'œil à l'interface de Talend Studio qui est basée sur Eclipse et essayons de la comprendre du point de vue d'un développeur PowerCenter.

 

  1. C'est dans le référentiel (dans PowerCenter : Navigator) que toutes les ressources (dossiers, jobs, définitions de schémas et connexions, paramètres et variables) sont définies.
  2. C'est dans la zone de conception (dans PowerCenter : Workspace) que les jobs sont assemblés.
  3. Les onglets contextuels situés en bas permettent de configurer et de documenter les composants et d'exécuter le job. Ils combinent plusieurs fonctions contenues dans les outils Designer et Workflow Manager de PowerCenter.
  4. La palette (dans PowerCenter : barre d'outils Transformation) est une bibliothèque regroupant tous les composants disponibles.
  5. La perspective définit la structure globale du Studio et l'organisation de ses différentes zones. Chaque grand produit Talend offre une perspective différente. Avantage non négligeable : un développeur n'a pas à faire appel à plusieurs outils. L'interface utilisateur unique que l'on retrouve dans l'ensemble des produits améliore sa productivité.

Après avoir travaillé pendant plusieurs années comme architecte Informatica, la leçon la plus importante que j'ai retenue est que la qualité d'une technologie se mesure aux bonnes pratiques sur lesquelles elle repose. Talend ne fait pas exception à cette règle. Si vous souhaitez tirer pleinement parti de votre investissement dans Talend, vous devez mettre en œuvre des bonnes pratiques et les observer dans le cadre du cycle de vie de développement de votre logiciel. Voici quelques liens qui pourront vous éclairer sur les modèles de conception des jobs et les meilleures pratiques de Talend : Partie 1, Partie 2, Partie 3 et Partie 4.

Conclusion

Mon aventure avec Talend vient à peine de commencer. Jusqu'ici, j'ai appris qu'une fois que vous avez compris la différence entre PowerCenter et Talend, la façon dont Talend fonctionne et les bonnes pratiques le concernant, vous pouvez commencer à apporter une incroyable valeur ajoutée à votre entreprise en utilisant Talend comme plateforme d'intégration des données. L'étape suivante de mon aventure avec Talend est la découverte de la plateforme Talend Big Data et ce que j'ai observé jusqu'à présent est très enthousiasmant. J'espère vous faire part de mes constatations dans mon prochain article de blog.

Télécharger >> Talend Open Studio for Data Integration

Prêt à faire vos premiers pas avec Talend ?