Développeur Ab Initio : graphs GDE et plans Conduct>It

Chaque nuit, des centaines de millions de lignes passent dans des graphs parallèles que le développeur Ab Initio doit tenir. Les questions font la différence entre un profil capable de répartir une charge sur plusieurs partitions et un profil qui a surtout modifié des transformations existantes.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Développeur Ab Initio : technologies, chaîne du poste, une question et la grille d'évaluation

Le développeur Ab Initio travaille presque toujours dans une grande banque, un assureur ou un opérateur qui traite des volumes très élevés. Il conçoit des graphs dans le GDE, les fait tourner en parallèle sur le Co>Operating System, les versionne dans l'EME et les enchaîne dans des plans Conduct>It. Les missions passent souvent par des ESN, sur des équipes de maintenance et d'évolution de chaînes anciennes et critiques.

L'outil n'est pas en accès libre. Les candidats l'ont donc appris chez un client, et le CV ne dit pas toujours s'ils ont conçu des graphs ou seulement retouché des transformations. Les écarts de niveau se voient sur le parallélisme. Un développeur expérimenté explique pourquoi deux flux doivent être partitionnés sur la même clé avant une jointure, comment repérer une partition surchargée et comment relancer un graph depuis son dernier checkpoint sans recharger des données en double.

Concevoir de nouvelles chaînes ou maintenir l'existant : la réponse du manager change le niveau attendu. Un junior aura surtout modifié des composants Reformat. Un senior doit décrire un graph qu'il a conçu et son schéma de partitionnement. La consolidation nocturne de transactions de cartes fait l'objet du cas pratique.

Les briques Ab Initio d'un développeur

GDE (Graphical Development Environment)

L'atelier graphique où l'on construit les graphs : des composants reliés par des flux de données. Chaque graph est un traitement complet, de la lecture des fichiers à l'écriture des tables. C'est l'écran sur lequel le développeur passe ses journées.

Co>Operating System

Le moteur qui exécute les graphs sur un ou plusieurs serveurs. Il gère le parallélisme, les fichiers répartis et la reprise après incident. Les commandes en ligne (m_ pour les fichiers, air pour l'EME) font partie du quotidien en production.

DML et transformations

Le DML décrit le format des enregistrements : champs, types, délimiteurs, longueurs. Les règles de calcul s'écrivent dans des fonctions de transformation, utilisées par les composants comme Reformat, Join ou Rollup. Un développeur solide écrit et lit ce code sans passer par l'interface.

Composants de traitement

Reformat pour transformer ligne à ligne, Join pour joindre, Rollup pour agréger par clé, Scan pour les cumuls, Dedup Sorted pour dédoublonner, Normalize et Denormalize pour éclater ou regrouper des structures répétées. Beaucoup exigent une entrée triée ou groupée sur la clé, ce que l'entretien doit vérifier.

Partitionnement et multifiles

Les données sont découpées en partitions traitées en même temps : par clé, en round-robin ou par répartition de la charge. Les multifiles stockent un même fichier en plusieurs morceaux sur plusieurs disques. Le niveau d'un candidat se voit surtout ici.

Phases et checkpoints

Un graph peut être découpé en phases qui s'exécutent l'une après l'autre. Un checkpoint en fin de phase permet de relancer depuis ce point après un échec, sans tout refaire. Mal utilisé, le mécanisme laisse des données à moitié chargées.

EME (Enterprise Meta>Environment)

Le référentiel qui versionne les graphs, les DML et les transformations. Chaque développeur travaille dans un sandbox, puis enregistre ses modifications dans l'EME. L'EME sert aussi à l'analyse des dépendances et à la promotion vers la recette et la production.

Conduct>It et Control>Center

Conduct>It assemble graphs et scripts dans des plans, avec leurs dépendances, leurs conditions et leurs reprises. Control>Center sert au suivi et à la planification des traitements en production. Selon l'entreprise, un ordonnanceur externe comme Control-M lance les plans.

Express>It et Metadata Hub

Express>It permet de saisir des règles métier dans des tableaux, que les graphs appliquent ensuite. Metadata Hub centralise le lignage des données. On les rencontre dans les grands comptes, et leur maîtrise est un plus selon le poste.

Ab Initio est un outil propriétaire réservé à de grandes organisations, qui l'emploient sur leurs traitements les plus volumineux : comptes, transactions, sinistres, facturation. Les recrutements se font surtout via des ESN et des sociétés de conseil, sur des missions longues, et le vivier est étroit parce que l'outil ne s'apprend pas hors entreprise. Le poste demande trois choses : concevoir des graphs parallèles corrects, les exploiter de nuit avec des reprises fiables et livrer proprement par l'EME. Certains projets ajoutent des migrations vers Spark ou des services cloud, ce qui demande de connaître aussi ces environnements.

Les savoir-faire Ab Initio à contrôler

  • Conception de graphs et choix des composants
  • Parallélisme, partitionnement et multifiles
  • DML, transformations et paramètres
  • EME, sandboxes et promotion
  • Phases, checkpoints et plans Conduct>It
  • Diagnostic de performance

Des questions d'entretien pour un développeur Ab Initio

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · confirmé

    Vous devez joindre deux fichiers de 300 millions de lignes sur l'identifiant client, dans un graph parallèle à huit partitions. Comment préparez-vous les deux flux avant le Join ?

    Une bonne réponseUn Partition by Key sur l'identifiant client des deux côtés, avec le même nombre de partitions, puis un tri dans chaque partition (ou un Join en mémoire si un côté tient en mémoire). Chaque partition joint alors ses propres clients. Si l'un des deux fichiers est petit, une diffusion à toutes les partitions ou un fichier de lookup évite de repartitionner le gros flux. Le candidat vérifie aussi qu'aucune clé ne concentre la plupart des lignes.

    Signal d'alerteRassembler les deux flux en une seule partition avant de joindre, ou un partitionnement en round-robin d'un côté, qui fait manquer des correspondances sans aucune erreur.

  2. Question 2 · junior à confirmé

    Pour chaque client, vous devez produire le total de ses achats et, pour chaque transaction, le cumul depuis le début du mois. Quels composants utilisez-vous ?

    Une bonne réponseUn Rollup pour le total, qui sort un enregistrement par client, et un Scan pour le cumul, qui sort un enregistrement par transaction avec la somme courante. Les deux demandent des données groupées sur la clé, donc un tri préalable dans chaque partition, sauf en mode en mémoire. Les données doivent aussi être partitionnées sur le client.

    Signal d'alerteUn Reformat avec des variables globales pour accumuler les montants, ou un seul composant pour les deux besoins.

  3. Question 3 · confirmé

    Un graph en quatre phases avec checkpoints échoue en phase 3 au milieu de la nuit. Comment le relancez-vous sans tout refaire ?

    Une bonne réponseAprès correction de la cause, une relance qui repart du dernier checkpoint grâce au fichier de reprise (.rec), sans modifier le graph entre-temps. Si la reprise n'est pas possible, un retour arrière avec m_rollback avant de relancer de zéro. Il vérifie ce que la phase en échec a déjà écrit dans une base, car une table chargée à moitié ne se nettoie pas toute seule. Dans un plan Conduct>It, seule la tâche en échec est relancée.

    Signal d'alerteSupprimer le fichier de reprise et relancer tout le graph sans savoir ce qui a déjà été chargé, ou ne pas connaître le rôle des checkpoints.

  4. Question 4 · confirmé

    Comment faites-vous passer une modification de graph de votre sandbox jusqu'à la production ?

    Une bonne réponseUn enregistrement dans l'EME depuis le sandbox, un tag qui regroupe les versions des objets livrés, puis un export de ce tag et son import dans l'EME de l'environnement cible avec les commandes air, et un check out vers la zone d'exécution de production. Avant de modifier un DML ou une transformation partagés, l'analyse de dépendances dans l'EME montre les graphs touchés.

    Signal d'alerteCopier les fichiers du graph par scp sur le serveur de production, ou modifier directement en production.

  5. Question 5 · senior

    Un graph qui tournait en une heure en met quatre depuis l'arrivée d'un très gros client. Que cherchez-vous ?

    Une bonne réponseUn déséquilibre entre partitions : avec un partitionnement par clé, le gros client tombe dans une seule partition qui travaille pendant que les autres attendent. Il le voit dans les compteurs de lignes par partition du suivi d'exécution. Pistes : une clé de partitionnement plus fine, un traitement à part pour la clé lourde, un lookup au lieu d'une jointure. Il regarde aussi les tris qui débordent sur disque faute de mémoire (paramètre max-core).

    Signal d'alertePasser de huit à seize partitions sans diagnostic, alors que la clé lourde reste dans une seule.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Développeur Ab Initio : ce que les recruteurs demandent

Comment évaluer un développeur Ab Initio sans accès à l'outil pour un test technique ?

Ab Initio n'est pas téléchargeable librement, ce qui rend rare une épreuve sur machine. Un exercice sur tableau blanc fonctionne bien : dessiner le graph d'une jointure entre deux gros fichiers, avec le partitionnement, les tris et les rejets. Ajoutez un extrait de DML et une transformation à lire et à corriger. La personne qui a vraiment conçu des graphs place les composants sans hésiter et explique chaque choix de partitionnement.

Un développeur Informatica ou DataStage peut-il passer sur Ab Initio ?

Les notions d'ETL se transposent : mappings, rejets, chargements incrémentaux, ordonnancement. DataStage parallèle prépare mieux au partitionnement que la plupart des outils. Ce qui demande du temps, c'est la manière de penser Ab Initio : DML, multifiles, phases et checkpoints, EME et commandes en ligne. Pour une mission de run sur une chaîne critique, un profil déjà opérationnel sur l'outil est préférable. Pour un projet avec de la montée en compétence prévue, la reconversion se défend.

Que vérifier sur le CV d'un développeur Ab Initio ?

Les composants et produits cités : GDE et EME sont un minimum, Conduct>It, Control>Center, Express>It ou Metadata Hub indiquent une pratique plus large. Les volumes traités et la fréquence des traitements. La part de conception par rapport à la maintenance. La présence de shell Unix et de SQL, indispensables en production. En entretien, faites raconter un graph conçu de bout en bout et un incident de nuit.

Combien de temps prévoir pour un entretien technique Ab Initio ?

Comptez une heure à une heure et demie : un échange sur les missions passées, des questions par thème (composants, parallélisme, EME, reprise, performance) et une étude de cas où la personne dessine un graph. La trame PDF de Delectus AI suit ce découpage, avec 30 questions, un cas de 20 minutes et une grille de 1 à 4 qui permet de comparer plusieurs candidats sur les mêmes critères.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint