Comment choisir son ETL : les spécificités de Talend

La concurrence entre les éditeurs d’outils ETL augmente de jours en jours. Cela vient en partie du fait que les entreprises utilisent de nombreux outils et de nombreux progiciels. Ils souhaitent de plus en plus analyser, croiser, fiabiliser et maîtriser leurs données dans un but décisionnel. De nombreux outils d’extractions, de transformations et de chargements des données existent actuellement sur le marché, ce qui rend le choix difficile.

Dans cet article, nous allons nous intéresser plus particulièrement à l’ETL Talend.

Qu’est-ce qu’un ETL ?

L’abréviation ETL signifie Extract Transform Load (Extraction Transformation Chargement). Il a pour objectif d’uniformiser des données en provenance de différentes sources de données disparates (bases de données, fichiers plats…), de les nettoyer pour ensuite les transformer (agrégations des données par exemple) et enfin de les charger dans une cible (une base de données le plus souvent). On peut ainsi concevoir un DataWarehouse ou mettre en place des interfaces entre les applications

La première question que l’on se pose est souvent la suivante : « Quel outil ETL choisir et pourquoi ? »

Pour répondre de manière objective à cette question, il faut prendre en compte un certain nombre de critères même si le principe de base reste le même entre tous les ETL. Ainsi, en fonction de ses besoins et de ses moyens, chacun pourra décider quel ETL privilégier.

Talend

Talend Open Studio for Data Integration (TOS)

Talend est un éditeur d’une suite de logiciels Open Source qui existe depuis 2005. Son ETL est connu sous le nom de Talend Open Studio for Data Integration (TOS).

Ce logiciel permet de créer des flux  de manière intuitive à l’aide d’une interface graphique. Un flux représente l’action de transfert de données d’une source vers une autre. Cette interface repose sur un code auto-généré en langage Java.

Talend Open Studio

Cette version de l’outil ne requiert pas de licence pour être utilisée. Il offre un large choix de connecteurs, tant pour les bases de données relationnelles (Oracle, Microsoft SQL server, Postgre SQL, Teradata, etc.) que pour les applications packagées (SAP, Sugar CRM, Microsoft Dynamics, etc.), ainsi que pour les technologies (SMTP, DropBox, LDAP, FTP, etc.).

Cet outil basé sur Eclipse permet la création de flux appelés « Jobs ». Dans ces derniers, un large choix de composants est mis à la disposition de l’utilisateur. On peut y trouver notamment des composants de mapping, d’agrégation, de fusions de données, de tri mais aussi de gestion de fichiers ou bien encore de contrôle et gestion des flux de données.

Le versioning et la génération de jobs autonome sont également gérés dans cet outil. Ainsi, il est possible d’exécuter un job unitairement dans l’environnement souhaité. La portabilité des jobs peut se faire très facilement.

Enfin, il est possible de paramétrer le contexte dans lequel nous souhaitons travailler. Il est par exemple possible de switcher d’un environnement de travail  à un autre (Développement, Qualification, Production).

Il existe également d’autres fonctionnalités plus avancées dans Talend, mais il faut alors acheter une licence auprès de l’éditeur. Ces fonctionnalités ne sont pas accessibles avec la version Open Source.

En outre, cet outil étant un Open source, il est possible de créer vos propres fonctions qui répondront davantage à vos besoins.

Talend Data Integration Server (TIS)

Talend Data Integration Server est une suite logicielle payante qui est composée d’un certain nombre d’applications permettant d’offrir un environnement de développement complet et abouti.

Talend Data Integration Server

Avec cette version payante, vous avez tout d’abord accès au support de l’éditeur Talend (mail, téléphone, portail). En effet, en plus de la communauté Talend, vous pourrez être directement en relation avec un interlocuteur chargé de la maintenance de l’outil.

Vous trouverez ci-après les applications mises à la disposition de l’utilisateur :

  • Un serveur SVN: système de contrôle de version et de contrôle logiciel. Il permet aux développeurs de travailler de manière collaborative sur le même projet alors que SVN gère les droits d’accès, les verrous de lecture / écriture et les autorisations. Le serveur SVN stocke également plusieurs révisions de Jobs, vous permettant de restaurer les versions précédentes et / ou de créer plusieurs branches de travail pour un projet.
  • Un générateur de package: L’application Talend Studio et le Centre Administration Talend (TAC) peuvent à la fois compiler des jobs Data Integration et générer des paquets exécutables Java, prêts à être déployés sur les serveurs d’exécution. Ces paquets sont appelés « artefacts ».
  • Talend Administration Center (TAC): module de gestion de base de l’architecture du serveur Talend. Cette application Web, hébergée sur un serveur Apache Tomcat, peut être utilisée via un navigateur depuis n’importe quel poste de travail. Il permet notamment aux administrateurs et aux équipes d’opérations de gérer les utilisateurs, les projets, le débogage et plusieurs autres fonctionnalités. Le TAC communique avec d’autres modules de l’architecture du serveur Talend, tels que le serveur SVN, le serveur de log, les serveurs de Job et la console d’activité Activity Monitoring Console (AMC).
Talend Administration Center
  • Talend Activity Monitoring Console (AMC) : add-on intégré dans le TAC (Talend Administration Center) qui permet de gérer les jobs et le projet Talend. Cet outil de monitoring avancé, accessible via une interface graphique conviviale, offre un certain nombre de fonctionnalités permettant, notamment, d’exécuter et de planifier des jobs Talend. Il permet également de superviser l’exécution des flux. Cet outil permet ainsi aux administrateurs de l’outil Talend, une gestion plus performante de leurs ressources et des performances d’exécution.
Talend Activity Monitoring Console
  • Une base de données d’administration
  • Talend JobServer : ensemble de serveurs d’exécution qui vous permettent d’exécuter les Jobs développés avec Talend, directement dans le TAC. Si vous travaillez avec des projets locaux, il vous faut activer l’authentification sur Talend JobServer à partir du fichier « users.csv ». En revanche, si vous travaillez avec des projets du TAC, l’authentification sur Talend JobServer est basée sur Talend Administration Center.

Installation de Talend

Avant d’installer Talend Open Studio sur votre poste ou sur un serveur, il vous faut installer Java. Attention, il faut regarder la version de Java qui sera compatible avec la version de Talend que vous souhaitez installer. La dernière version de Talend disponible (V7.0.1) requiert un Java 8 (JRE : Oracle 8 ; JDK : 1.8).

Installation TOS

Pour Installer Talend Open Studio, il vous faut télécharger les sources sur le site internet de Talend. Attention, vous devez vous assurer d’avoir assez de ressources mémoire sur votre machine, Talend étant un outil assez consommateur.

Installation TIS

Vous trouverez ci-dessous les prérequis matériels pour réaliser l’installation de TIS  d’après l’éditeur Talend :

Pré-requis Talend

Pour installer l’intégralité de la plateforme TIS (hormis Talend Studio), il vous faut télécharger l’exécutable  de Talend Installer. Après avoir lancé ce dernier en tant qu’administrateur, vous devrez renseigner un certain nombre de paramètres. De plus, vous allez devoir fournir un fichier contenant vos clés de licence indispensables pour l’utilisation de la gamme de produits Talend. Ces produits s’installent sur un serveur dédié.

Pour installer le client Talend Studio,  il vous faut télécharger l’exécutable « Talend Studio Installer ». Là aussi, vous aurez besoin du fichier contenant vos clés de licence. Ce produit s’installe sur un poste client.

Points Forts de Talend

  • Logiciel gratuit (TOS) avec le code source mis à disposition (avec de nombreuses fonctionnalités supplémentaires payantes)
  • Interface graphique intuitive permettant la compréhension des flux, leur maintenance et leur débogage plus simple et plus rapide
  • Outil puissant et varié : plus de 600 composants disponibles
  • Possibilité de créer ses propres fonctionnalités répondant plus précisément à ses besoins
  • Possibilité de compiler le code java généré afin d’obtenir des batch d’exécution (possibilité de les planifier via des tâches Windows par exemple)
  • Possibilité de dupliquer des jobs
  • Possibilité d’utiliser des contextes afin de pouvoir switcher d’un environnement à un autre (Développement, Qualification, Production)
  • Documentation et communauté très présente

Points Faibles de Talend

  • Difficulté pour rechercher le composant voulu dans la palette sans utiliser le moteur de recherche
  • Seule la notion de « Job » existe, ainsi l’architecture des flux n’est pas toujours facile à comprendre
  • Le mode graphique avec uniquement des clics a ses limites : difficile de communiquer et d’expliquer la démarche suivie
  • Nécessité de connaître le langage Java si l’on souhaite utiliser des fonctions avancées (routines, debug des erreurs qui apparaissent dans la console d’exécution)
  • Lecture et compréhension des logs générés pas toujours très simple et explicite
  • Lorsqu’on lance un job « père », la console d’exécution n’affiche aucune information concernant les jobs « fils », difficulté de suivre l’exécution lors d’une construction imbriquée.
  • Les contextes ne se propagent pas toujours correctement aux jobs fils quand ils sont exécutés directement dans l’interface
  • Il n’y a pas de Console d’Administration avec la version gratuite.
  • Téléchargement des librairies (fichiers .jar externes) utilisées par certains composants, compliqué si un proxy est installé sur l’ordinateur, ou s’il n’y a pas d’accès à internet.
  • Le logiciel est très consommateur de ressources, tout comme l’environnement Eclipse qu’il utilise

CONCLUSION DE L’EXPERT

Tout d’abord, il est important de choisir l’outil d’intégration des données qui correspond le plus à vos besoins, le plus à vos moyens et qui peut être mis en œuvre avec les ressources et les compétences dont vous disposez.

Talend se démarque des autres ETL en étant Open Source, donc gratuit. Toutefois, cela à ses inconvénients car il n’entre pas dans une gamme de produits (console d’administration, outil de monitoring, outils de planification des jobs, …) comme peuvent l’être Microsoft SSIS et SAP Data Services. Pour avoir accès à l’ensemble de la gamme des produits Talend, il vous faut alors vous acquitter d’une licence payante.

Si vous êtes prêt à faire une concession sur l’aspect « produit packagé » intégré à une suite  (Console d’administration, Scheduler, …), la version gratuite de Talend est un bon choix.



Laisser un commentaire

Etes-vous un humain ? *