Passer

Conseil N°8 pour être un super Data Engineer

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.