img_header_blog

    Conseil N°8 pour être un super Data Engineer

    [fa icon="calendar"] 30/04/20 13:49 / par Laurent Letourmy

    2019-12-04-Conseil8-Data-Engineer

    Dans les articles précédents nous avons abordé différentes bonnes pratiques autour de la taille et du rôle des jobs, et de l’automatisation de l'exécution de vos jobs à l’aide d’un orchestrateur.  Et si vous laissiez vos jobs vous informer, à l’aide de traces, dans quelle étape du traitement sont-ils ?

    Conseil N°8 : Tracer les évènements importants du job

     

    Contrairement à une application web, un job est muet quand il s’exécute si on ne s’occupe pas de le faire parler avec des traces.

    Il est vital, pour une bonne gestion de vos jobs en production, de mettre en place des traces aux moments clés de leurs exécutions, afin d’être en mesure de répondre aux questions suivantes :

    Mon job a-t-il débuté ?

    Que fait mon job en ce moment et qu’a-t-il déjà réalisé ?

    Combien de temps mon job a-t-il mis pour réaliser une étape ?

    Pourquoi mon job a-t-il échoué ?

    Combien y avait-il de lignes dans les données en entrée et les données en sortie ?

    Mon job est-t-il terminé ?

    A contrario, il ne faut surtout pas tracer des informations confidentielles comme des logins/passwords/credentials/clés/... , ce qui constituerait un faille importante de sécurité.

    Même si, pour la plupart, c’est une évidence : toutes les traces doivent débuter par un horodatage (timestamp).

    Voici un petit exemple pour illustrer ce conseil :

    19/02/28 14:54:00 INFO ForgetMeJob$: Begin of Job

    19/02/28 14:54:01 INFO ConfigurationReader$: Reading configuration from myfile.json

    19/02/28 14:54:02 INFO DataInReader$: Loading data from customer table

    19/02/28 14:54:16 INFO DataInReader$: Nb of customer : 15890389

    19/02/28 14:57:43 INFO Filter$: Filtering customers

    19/02/28 14:58:50 INFO Filter$: Nb of customer : 6567657

    19/02/28 15:02:21 INFO Remove$: Removing customers

    19/02/28 15:02:21 INFO Remove$: Nb of customer : 6567657

    19/02/28 15:02:27 INFO ForgetMeJob$: End of job

     

    Conclusion:

    L'implémentation des traces dans vos jobs est un simple réflexe qui peut vous éclairer sur leurs états d’avancement. Initiez l’échange avec vos jobs, prenez de leurs nouvelles, posez leur les questions adéquates et ils  vous répondront à leur tour par “les traces”. Nous allons continuer avec cet échange dans le prochain article afin de mieux comprendre le fonctionnement d’un traitement et comment gagner en efficacité.

    ____________________________________________

    Pour relire le conseil N°7 c'est par ici

    Pour relire le conseil N°6 c'est par ici

    Pour relire le conseil N°5 c'est par ici

    Pour relire le conseil N°4 c'est par ici

    Pour relire le conseil N°3 c'est par ici

    Pour relire le conseil N°2 c'est par ici

    Pour relire le conseil N°1 c'est par ici

     

    Pour postuler directement et joindre notre équipe de Data Engineer, c'est par ici.

    Thèmes : Actu Ysance, Data Services, Data Engineer

    Laurent Letourmy

    Par Laurent Letourmy

    Ingénieur Epita, il a débuté sa carrière dans le groupe Cross Systems dont il a co-fondé la filiale parisienne en 1996. La société connaît une forte croissance et le groupe s'introduit sur le Nouveau Marché en 1999 et atteindra une capitalisation de 800M€. Spécialiste reconnu des architectures transactionnelles, il y exerce diverses responsabilités techniques, managériales et commerciales et travaille avec des clients tels que le Club Med, Voyages-Sncf.com, Orange. Entrepreneur passionné de technologies innovantes, vainqueur de deux hackathons dans la Silicon Valley, investisseur actif au sein de nombreux projets pionniers B2B et B2C. En 2005, il co-fonde et dirige Ysance qui connaît un fort développement depuis ses débuts.

    S'abonner au blog