SQOOP vs TALEND :

Quel outil pour connecter vos bases opérationnelles à Hadoop ?

Besoin de mettre en place une liaison entre votre base de données (Oracle, Teradata, DB2, MySQL ou SQL Server) et votre cluster Hadoop ? Dans cet article, nous verrons le scénario d’exploitation des données stockées dans des systèmes opérationnels sur Hadoop.

Aujourd’hui, malgré la transition vers le Big Data, beaucoup d’entreprises ont encore leurs données stockées dans divers systèmes opérationnels : Data warehouse, ERP, SGBDR, Bases de données opérationnelles. Beaucoup d’autres rencontrent encore des problèmes de silos de données, dans lesquels les données de l’entreprises sont dispersées dans différentes bases Access, fichiers Excel ou fichiers plats départemantaux. Cette situation ne permet pas de tirer profit de la donnée pour améliorer l’entreprise.
La meilleure approche pour vraiment valoriser les données aujourd’hui compte tenu de ces problèmes consiste à migrer vers une approche qualifiée de « Data Lake » où Hadoop est utilisé comme support de stockage central. En fait, l’idée derrière le data lake est de fournir un point d’accès unique à la données (Single Data Access Point) qui à son tour dédoublonnera les données et offrira une version unique de la vérité (Single Point of Truth), indispensable pour des résultats fiables. En plus d’être mature et stable, Hadoop est l’une des rares plateformes technologiques du Big Data complètement intégrée aux systèmes opérationnels de l’entreprise par le biais du SQL. [En profitant de la baisse des coûts de stockage, le HDFS, qui est son système de fichiers, est devenu aujourd’hui l’option la profitable en termes de performance et de coûts financiers pour le Data Lake. Grâce à lui, désormais toutes les données opérationnelles de l’entreprise peuvent être rassemblées dans un point unique.
Il y’a quelques temps de cela, lors d’une mission de conseil dans laquelle il fallait établir une liaison entre le cluster Hadoop de l’entreprise et l’EDC (une base Teradata contenant les données des centre d’appels), la cliente a fait un mail
dans laquelle elle nous posait les questions suivantes :
– Pourrais-t-on faire cette liaison sur Talend ?
– Est-ce qu’un traitement spark ou java pourra appeler un service sqoop pour faire l’appel à l’EDC ?
– Comment fait-on pour sécuriser la liaison ?
Ce mail (et plusieurs autres que nous avons vu passé), m’ont montré à quel point il y’a de la confusion sur le rôle des outils de l’écosystème Hadoop. Dans cet article, nous allons vous expliquer succinctement la différence entre Talend et Sqoop et nous allons vous dire comment répondre aux questions du client.

Sqoop.

Sqoop, abbréviation de SQL-to-Hadoop, est un utilitaire de transfert des données d’une base de données relationnelle au HDFS et du HDFS aux bases de données relationnelles. Vous pouvez utiliser Sqoop pour importer des données des SGBDR tels que MySQL, Oracle, SQL Server ou Teradata au HDFS, transformer les données dans Hadoop via le MapReduce ou un autre modèle de calcul, et les exporter en retour dans le SGBDR. Lorsque vous exportez les données du SGBDR pour Hadoop, vous pouvez les stocker sur Hive, HBase ou directement sur le HDFS.

Le processus d’import/export de Sqoop est relativement simple à développer. Tout ce que vous avez à faire en tant qu’utilisateur c’est d’écrire les requêtes SQL qui vont être utilisées pour effectuer le mouvement d’import/export. Par ailleurs, Sqoop utilise le MapReduce pour importer et exporter les données, ce qui est efficace et tolérant aux pannes.

Est-ce qu’un traitement spark ou java pourra appeler un service sqoop pour faire l’appel à l’EDC ?

Ainsi, par rapport au mail du client, vous comprenez qu’un traitement Spark ou Java ne peut pas appeler Sqoop pour faire appel à l’EDC. Dans ce cas de figure, si le script d’import de données a été développé sous un job Spark ou un programme Java, alors ce n’est pas Sqoop qu’il faut utiliser, mais un service de planification d’exécution de jobs sous Hadoop à l’exemple de Oozie ou Control-M.

Comment fait-on pour sécuriser la liaison ?

En ce qui concerne la sécurisation, vous devez savoir que le moyen le plus abouti de sécuriser un cluster Hadoop aujourd’hui reste l’authentification KERBEROS. Kerberos est un protocole d’authentification réseau qui repose sur le cryptage des données. Dans le cluster Hadoop, KERBEROS crypte les données lors de leur circulation entre les différents noeuds du cluster. Ainsi, leur interception frauduleuse ne servira à rien (puisqu’elles sont cryptées). Ainsi, pour sécuriser la liaison dans Sqoop, il vous suffira d’indiquer dans votre script d’import/export, le répertoire de la keytab (la clé d’authentification Kerberos).

Pourrait-on faire cette liaison sur Talend ?

Talend est par définition une plateforme d’intégration de données, en d’autres termes un ETL (Extract Transform Load). Il fournit des outils de connexion à des systèmes opérationnels variés et des outils de traitement de données. Il dispose de plusieurs plateformes telles que Talend Data Integration, Talend Data Quality et Talend Service Bus. Il y’a quelques temps, l’entreprise a rajouté à la plateforme, Talend Open Studio for Big Data, un composant qui ajoute à Talend Data Integration un plug-in qui permet de développer graphiquement des jobs Hadoop.

Pour répondre à la question de la cliente, oui la liaison peut être faite sur Talend. Grâce à Talend open Studio for Big Data, vous pouvez utiliser le plug-in sqoop pour développer un job Sqoop de transfert de données de Teradata vers Hadoop.

Voilà, nous espérons que vous voyez maintenant plus clair sur les façons de transférer les données des systèmes opérationnels vers Hadoop et vice-verça. Si vous avez des questions, des préoccupations, ou un scénario similaire, n’hésitez pas à l’écrire en commentaire ci-bas.

​                 Maîtrisez l’utilisation des technologies Hadoop

Votre ouvrage de référence pour ​vous accompagner dans la réalisation de vos projets Big Data et vous aider à développer les compétences opérationnelles nécessaires sur les technologies principales de l’écosystème Hadoop. Vous y apprendrez :

  • ​Les compétences sur 18 technologies clés de l’écosystème Hadoop
  • ​Les​ ​principes généraux des technologies ​de l’écosystème Hadoop
  • ​La portée stratégique et  fonctionnelle des technologies Hadoop
  • ​La valorisation de vos données à l’aide des technologies du Big Data…

© Copyright 2019,