Actualités

[22/03/2017] Smile participe au salon Cloud Computing World Expo

Smile interviendra ce mercredi 22 mars au salon Cloud Computing World Expo pour présenter notre projet collaboratif OCCIware (plateforme standard outillée de connecteurs Cloud).

[22/03/2017] Smile vainqueur des IoT Awards 2017 !

Lors de l'IoT World à Paris, Smile a remporté l'IoT Award dans la catégorie "High-tech" pour son projet de cabine connectée avec Coved.

[17/03/2017] Smile dans le Journal de l'Emploi sur Demain TV

Géraldine Moreau-Luchaire, notre Responsable Recrutement, nous parle des 350 postes à pourvoir en 2017 !

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Extraire des données d'une base Big Data Cassandra avec l'ETL Talend via JDBC

Les bases Big Data arrivent à maturité et permettent de gérer efficacement de fortes volumétries de données.
La base Cassandra offre des avantages certains de performances en mono et multi data center, de robustesse et tolérance aux pannes des nœuds de cluster ainsi qu'une simplicité de mise en œuvre.

Si Talend propose une édition Big Data de son ETL fournissant directement des connecteurs Cassandra, Hive, HBase, MongoDB etc, il est parfois nécessaire d'accéder ponctuellement à une base Cassandra depuis un job de l'édition d'intégration de données classique.

S'il existe un composant additionnel sur le site talendexchange.org permettant de charger des données dans une base Cassandra, il n'en existe pas à ce jour pour en extraire l'information.

Nous développerons donc ici l'accès à Cassandra en utilisant une connexion JDBC générique, bien pratique pour étendre la palette de connecteurs déjà très riche.

Il est important de noter que l'utilisation de cette méthode présente les limites suivantes, inhérentes au driver JDBC de Cassandra :

  • les timeouts ne sont pas encore pleinement gérés par le driver : attention donc si vous devez effectuer des extractions critiques, en masse et/ou complexes
  • les performances sont moindres qu'en utilisant le composant tCassandraInput de l'édition Big Data
  • les requêtes doivent prendre en compte les limites du langage CQL (Cassandra Query Language)

Le driver JDBC pour la base Cassandra est disponible à l'adresse http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/downloads/list .

Son utilisation nécessite des librairies Java (.jar) complémentaires pour fonctionner. Elles peuvent être chargées à l'aide du composant tLibraryLoad :

  • slf4j, log4j et slf-log4j (logging)
  • apache-cassandra, libthrift, apache-cassandra-thrift (dialogue avec la base Cassandra)
  • guava

Une partie des librairies sont fournies avec l'ETL Talend, l'autre avec Cassandra.

Il est possible de définir depuis les métadonnées du repository la connexion à la base Cassandra, ainsi que le groupe de variables de contexte associées. A noter qu'il ne sera alors pas possible de tester la validité de la connexion, les librairies nécessaires ne pouvant être chargées à cette étape.

L'ouverture de la connexion se fait avec un composant tJDBCConnection dont le paramétrage avancé désactivera le mode auto-commit.

L'extraction se fait ensuite avec un composant tJDBCInput. A noter que l'option d'utilisation d'un curseur est dans ce contexte inopérante. Il est ensuite possible d'exploiter les données comme celles provenant d'autres sources de données prises en charge.

Florent
picto

Commentaires

Soyez la premiere personne à ajouter un commentaire sur cet article.
Ecrire un nouveau commentaire