lundi 20 janvier 2014

Book review : Talend Open Studio Cookbook by Rick Barton

Rick barton is a freelance consultant in data integration and ETL for the last 13 years. This book is a recipe of the lessons learned from his past project using Talend Open Studio and Talend Integration Suite. This book is for intermediate and advanced Talend users. He hasn't  started by showing  Open Studio  basics stuff but he went straight by showing tips and tricks to master Talend. He hasn't  included any quick start guide to Talend Open Studio
The book is organized as follow :
Chapter 1 : Introduction and General Principles
Chapter 2 : Metadata and Schemas 
Chapter 3 : Validating Data 
Chapter 4 : Mapping Data 
Chapter 5 : Using Java in Talend
Chapter 6 : Managing Context Variables
Chapter 7 : Working with Databases
Chapter 8 : Managing Files
Chapter 9 : Working with XML, Queues and Web Services
Chapter 10 : Debugging, Logging, and Testing
Chapter 11 : Deployment and Scheduling
Chapter 12 : Common Mistake and Other Useful Hints and Tips
Every  chapter has a sample code that shows how it works. A section called «  Getting ready » shows all the prerequisites to start to job. A section called " how to do it "   shows how to reproduce the job. The missing chapter in the book according to me is "Component creation" which should demonstrate step by step how to add or create a new component in Talend.
If you are already ok with talend basics principles and looking for a way to hone your skills in data integration using Talend tools it’s definitely a book you should go for. You can purchase a copy here http://www.packtpub.com/talend-open-studio-cookbook/book 

mardi 7 janvier 2014

Certification Talend

J’ai passé ma certification Talend pour l'intégration de données  il y’a de cela quelques jours. L’objet de ce billet est de faire un retour d’expérience sur la certification Talend et aussi de parler de mon approche des certifications en général ( Le pourquoi je passe des certifications)

Inscription 
L’achat de la certification se fait directement en ligne à l’aide d’une carte bancaire. Le coût de la certification est de 100$. Après l’achat de la certification en ligne un commercial de Talend vous envoie dans les jours qui suivent les détails de la connexion à la plateforme de test.

Durée et format de l’examen
Le test en ligne n’est pas limité dans le temps du moins vous n'aurez aucun indicateur de temps tout au long du test. Réservez au moins une heure à consacrer à l’examen. Les questions lors de l’examen sont du type QCM (Question à Choix Multiples). Pour réussir à l’examen il faut avoir un score de 80%. L’examen se passe sur une plateforme de test en ligne donc vous pouvez le passer à l’importe quel moment. J'ai choisi de passer ma certification en anglais bien qu'étant francophone parce que l'essentiel des ressources disponibles sont en anglais et des fois la traduction des termes prêtent à confusion.

Ressources et liens utiles pour se préparer
Pour préparer ma certification j'ai lu quelques blogs et livres qui m'ont beaucoup aidé :


Talend offre aussi des formations payantes qui vous préparent aussi à la certification  http://www.talend.com/services/purchase-training-products

Astuces et difficultés
En passant l'examen j'ai gardé mon Talend open studio ouvert et je vérifiais  mes quelques doutes. L'examen de façon général est accessible, si vous êtes habitués à Talend vous n' aurez aucun souci à valider cette certification. Si vous passez la certification en Afrique il faut faire attention à votre connexion internet et s'assurer d'avoir et un bon débit tout au long de l'examen. 


Le pourquoi de la certification talend et des certifications en général  

Je suis tombé sur les outils ETL par un heureux hasard et depuis j'en suis amoureux :). Aussi j'ai vu comment les projets de migrations sont bâclés en Afrique. Pour donner un exemple simple j'ai un compte dans une banque en Afrique ( une grande multi-nationale ). J'ai ouvert mon compte en 2005 et quand je consulte mon historique sur leur site web j'ai juste les données de Novembre 2012. Entretemps il y'a un changement de logiciel et pour minimiser les difficultés de migrations on décide de ne basculer que le solde à l'instant T et pas les transactions. Ce n'est pas génial comme idée, vous perdez une bonne partie de votre historique juste parce que vous changez de logiciel. Vous allez changer de logiciel chaque 5 à 10 ans :). On ne doit pas se permettre  de telle fantaisie avec les données qui constituent la mémoire de l'entreprise. Pour clore ma petite histoire une certification est une façon de montrer qu'on remplit les standards internationaux dans le domaine en question. Elle montre que vous avez passé assez de temps sur le sujet.  Il faut quand même se rendre à l'evidence que le fait de réussir une certification ne fait pas de vous un expert. Réussir à des QCM sur un sujet comme l'intégration de données est juste une validation en supposant que vous ayez fait beaucoup de pratique par le passé. Donc oui pour une certification mais il faut toujours valider ses certifications sur des projets concrets

Enfin le "happy end"

Juste pour vous dire que je suis certifié Talend pour l'intégration de données et si vous avez du boulot pour moi je suis preneur :)








mercredi 13 novembre 2013

amazon s3 avec talend

Ces derniers mois je suis aussi tombé dans la mode du "Cloud Computing". J'ai eu à essayer les services d'Amazon et de Google. En discutant avec +Mawusee Komla Foli-Awli nous sommes promis de faire quelques exemples concrets qui sont parlants pour le contexte africain et même de faire un livre blanc :). La route est encore longue je l'avoue. Mais voici  mon premier billet qui va parler d'un exemple d'utilisation du "cloud". Pour ceux qui sont familiers à ce blog, ils se sont déjà rendu compte que j'adore Talend ( mes amis disent que je pourrai utiliser Talend pour faire mon CV tellement je l'utilise pour tout ). Au delà de mon ressentiment  personnel pour Talend, il s'apprête parfaitement à notre cas d'étude. En gros je vous explique de quoi il s'agit. Dans la plupart des DSI en Afrique pour répondre à la norme d'avoir des sauvegardes en dehors de leurs locaux et ainsi assurer une continuité de service en cas de sinistre, font des sauvegardes de leurs données qui vont déposer dans des coffres forts d'une banque de la place. Ce sont souvent des sauvegardes sur des cartouches qu'une personne va déposer physiquement à la banque. Comme on peut s'en rendre compte le processus n'est pas automatique et soumis au bon vouloir des acteurs.
Dans les lignes qui suivent nous allons faire une démo simple d'une utilisation des storages de la partie IAAS ( Infrastructure As A Service) du cloud d'amazon pour faire une sauvegarde d'une base de données Mysql locale. En gros Amazon offre des disques durs en ligne qui vous permettent si vous souscrivez à leur offre de stocker vos données. Le service s'appelle Amazon S3 ( Simple Storage Service)
Pour les besoins de la démo il nous faut obtenir une clé d'authentification qui va nous permettre d'accéder à notre compte Amazon en programmation. Aller dans Security Credentials puis générez une nouvelle clé.
 Dans Talend nous allons faire une job qui fait un dump d'une base mysql puis à la fin du dump envoie une copie de la sauvegarde sur Amazon S3


On voit un composant tssh qui se connecte par ssh pour faire un dump de la base de données avec la requête mysqldump


Ensuite le composant tS3Put va prendre le fichier dumpé et ira le déposer sur S3.
Vous devriez remplir les champs Access Key et Secret Key avec les clés que vous avez préalablement générer dans la console d'administration d'Amazon AWS.
A la fin de ce job votre dump va dans le data center d'amazon. L'api initial fourni par Amazon permet des reprises de transfert après erreur et est assez robuste et répond bien à notre problématique qui est me mettre notre sauvegarde dans un endroit autre que notre data center local.
On pourra ensuite automatiser notre job Talend pour faire les sauvegardes automatiquement chaque jour et ainsi avoir une copie de nos données hors de nos locaux. 
On peut reproduire le même exemple avec d'autres fournisseurs de cloud comme Google ou bien Microsoft.
A très bientôt pour le livre blanc :).



jeudi 3 octobre 2013

Managing Startups by Tom Eisenmann, O'Reilly

The author Tom Eisenmann is an Harvard Business School professor who studies entrepreneurship. His book is a collection of best blog posts on entrepreneurship as the title mentioned. As writer Tom organized those blogs by topic. The topics covered by this book are wide ranging from how to make a prototype to recruitment techniques and finally get funded by a angel investor or a venture capitalist. All the book is not written in an unique style because it's a collection of personal thoughts and experiences from various founders. Some of the advices in the book are lessons learned the hard way and share so that you can take care of it during your startup endeavour. If you are entrepreneur at heart go through this book it should give you a good insight of difficulty we should encounter when trying to create a startup. You can go directly to a topic you are interested in or read all the book. Below are the topics covered :

  • Lean Startup
  • Business Models
  • Customer Discovery and Validation
  • Marketing: Demand Generation and Optimization
  • Sales, Marketing, and PR Management
  • Product Management/Product Design
  • Business Development and Scaling
  • Funding Strategy
  • Company Culture, Organizational Structure, Recruiting, and Other HR Issue
  • Startup Failure
  • Exiting by Selling Your Company
  • The Startup Mindset and Coping with Startup Pressure
  • Management and Career Advice

vendredi 2 août 2013

Créer une routine Talend

Talend vient par défaut avec l'essentiel des composants et des routines dont vous auriez besoin dans vos tâches d'intégration de données. Mais dans certains cas il arrive qu'il faut réfléchir "out of the box" comme le disent les Anglais pour ajouter du code personnalisé. Pour cela  il faut :

  • Créer une routine
  • Créer un composant
Dans la suite de ce billet nous allons montrer comment on peut créer une routine avec une librairie java. Pour créer une routine il faut aller dans code  puis routines et dans le menu contextuel choisir créer une routine



Une routine est en fait une classe java avec des méthodes. Toutes les méthodes doivent être statiques. C'est les rares moments dans Talend où l'on est fier d'avoir des bases en Java :).

Nous allons utiliser une libraire libphonenumber qui permet d'analyser, formater, et valider des numéros de téléphone. Nous allons prendre un cas simple qui va nous permettre de déterminer le pays d'un numéro de téléphone au format international
Il faut charger les libraires de libphonenumber dans Talend pour pouvoir utiliser cet API dans Talend. Pour le faire click droit Edit routines librairy. De la vous pouvez ajouter les archives .jar dont vous avez besoin.
  Nous allons créer la méthode statique qui permet de retrouver le pays d'un numéro de télephone.


public static String getCountryCode(String bparty) {
  String swissNumberStr = bparty;
  PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
  PhoneNumber swissNumberProto=null;
  try {
   swissNumberProto = phoneUtil
     .parse(swissNumberStr, "ZZ");
  } catch (NumberParseException e) {
   System.err.println("NumberParseException was thrown: "
     + e.toString());
  }
  PhoneNumberOfflineGeocoder geocoder = PhoneNumberOfflineGeocoder.getInstance();

  return geocoder.getDescriptionForNumber(swissNumberProto, Locale.ENGLISH);
 }
Il faut pas oublier de faire les imports suivants :


import com.google.i18n.phonenumbers.*;
import com.google.i18n.phonenumbers.Phonenumber.PhoneNumber;
import com.google.i18n.phonenumbers.geocoding.*;
import java.util.*;




Maintenant nous allons faire un test simple dans un tJava on utilisera cette routine pour donner le pays d'un numéro en entrée.









Nous pouvons alors intégrer cette routine dans des jobs plus complexes. Alors à vos codes !!!

vendredi 1 mars 2013

Critique du livre Getting Started with Talend Open Studio for Data Integration de Jonathan Bowen PACKT

Les systèmes d'information d'entreprise deviennent de plus en plus complexes. Ils sont composés de systèmes divers qui doivent communiquer entre eux. Demander à un développeur de coder des routines d'intégration de données n'est plus une option viable tellement les règles changent souvent et les codes ne sont pas assez robustes que ceux proposés par les outils d'intégration de données. Talend ( l'un des leaders open source de l’intégration ) fournit un outil d'intégration de données dénommé "Talend Open Source for data intégration".
En général il y a très peu de livres sur l'intégration de données. Toutefois Talend a fait assez d'effort et a une documentation assez fournie sur ses produits. Ce livre loin d'être une pâle copie de documentation officielle, aborde le problème sous un angle différent. La documentation officielle est plus un guide des composants alors que ce livre est plus orienté cas d'utilisation. Ce livre est un guide pas à pas qu'on peut lire d'un trait si l'on est débutant ou bien lire par chapitre spécifique.
Ce livre est composé de 12 chapitres qui montrent l'essentiel des possibilités avec des exemples de jobs à l'appui :

  • Chapter 1: Knowing Talend Open Studio
  • Chapter 2: Working with Talend Open Studio
  • Chapter 3: Transforming Files
  • Chapter 4: Working with Databases
  • Chapter 5: Filtering, Sorting, and Other Processing Techniques
  • Chapter 6: Managing Files
  • Chapter 7: Job Orchestration
  • Chapter 8: Managing Jobs
  • Chapter 9: Global Variables and Contexts
  • Chapter 10: Worked Examples
Un dernier chapitre que j'aurai bien aimé que le livre aborde pour être complet sur les possibilités de Talend est l'utilisation des routines et la création des nouveaux composants.
C'est un livre à lire absolument si vous voulez faire de l’intégration de données avec Talend.

Merci à Sam Foli-Awli  avec qui j'ai co-écrit cette critique 
Lien du livre :  http://www.packtpub.com/getting-started-with-talend-open-studio-for-data-integration/book

samedi 17 novembre 2012

Shipping Greatness By Chris Vander Mey, O'Reilly Media

Have you got a new job as Project Manager or you want to hone your skills as one who already is a Project Manager? Either way, this book is for you! Chris takes the pains to go through all the necessary steps before delivering a good product. As former Project Manager at Amazon and Google, Chris gives you an insight into Amazon and Google's processes. These organizations are known to be successful in launching new products. He sometimes compares the processes used by the two giants and gives personal advice on what he thinks should be the best practices.

The book starts off from the product idea and ends up with a product launch. This is an essential reference book, one you should refer to regularly, so keep it handy. It's full of checklists for all the stages of project management. You would find advice on uncommon tasks like how to acquire a company when building your team and also the usual ones.
The book is divided into two parts: the first focuses on the processes and the second on the skills for launching a great software product.
As the author said "...shipping great software is damn hard...". So you can read this book and learn a little bit from the Chris

Here is the link to the O'Reilly product page