Recruter un développeur DataStage sur les jobs parallèles et le batch

Les chaînes de nuit sur environnement IBM, en banque, en assurance ou dans la protection sociale, reposent souvent sur un développeur DataStage. Dans les cinq questions, un candidat qui a vraiment réglé un job parallèle se reconnaît à la façon dont il parle des partitions.

Recevoir la fiche complète

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

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

Un développeur DataStage conçoit et maintient des jobs qui lisent des fichiers plats, des tables DB2 ou Oracle, transforment les données et alimentent un entrepôt. Le cœur de l'outil est son moteur parallèle : chaque job découpe les lignes en partitions traitées en même temps sur plusieurs nœuds. Autour, le quotidien se passe sous Unix, avec des scripts shell, des séquences de jobs et un ordonnanceur comme Control-M ou $Universe. Les missions se trouvent surtout chez les grands comptes et dans les ESN qui les servent, en développement comme en support de production.

DataStage côtoie souvent Informatica ou BusinessObjects dans un CV, et les années d'expérience ne disent pas grand-chose. Certains profils ont surtout relancé des jobs depuis le Director. D'autres savent pourquoi un agrégat devient faux sur quatre nœuds, lisent le score d'un job et rendent une séquence redémarrable. Avec le passage d'Information Server 11.7 à DataStage sur Cloud Pak for Data, la connaissance de la migration commence aussi à compter.

Un bon concepteur de jobs n'accepte pas toujours les nuits d'astreinte, et l'inverse est vrai aussi. Faites donc préciser au manager si le poste penche vers le build ou vers le support de production. Le PDF met en scène la chaîne de nuit d'un assureur.

Moteur parallèle, stages, Unix : l'environnement d'un développeur DataStage

Jobs parallèles (moteur PX)

Le type de job le plus courant. Les données sont réparties en partitions, et chaque étape du job tourne en parallèle sur chacune. Les anciens server jobs, traités ligne à ligne sur un seul processus, existent encore dans certains existants.

Partitionnement et fichier de configuration

Le fichier désigné par APT_CONFIG_FILE décrit les nœuds disponibles et donc le degré de parallélisme. Le partitionnement (hash, modulus, round robin, entire, same) décide quelle ligne va sur quel nœud. Un mauvais choix fausse un agrégat ou un dédoublonnage sans aucun message d'erreur. Commencez l'évaluation par ce point.

Stages de transformation

Transformer pour calculer et filtrer, Lookup, Join et Merge pour rapprocher des flux, Aggregator, Remove Duplicates, Sort, Change Capture pour comparer deux extractions. Chacun a ses exigences de tri et de partitionnement, et le choix entre Lookup et Join dépend du volume de la référence.

Séquences de jobs

Une séquence enchaîne des jobs, des commandes et des boucles, avec des branches selon le succès ou l'échec. Bien conçue, elle redémarre à l'étape qui a échoué au lieu de tout relancer.

Clients Designer, Director, Administrator et commande dsjob

Sur Information Server 11.7, le Designer sert à développer, le Director à lancer et lire les journaux, l'Administrator à régler projets et variables. La commande dsjob lance un job depuis un script et renvoie son statut à l'ordonnanceur.

Unix, shell et ordonnanceur

Le poste demande d'être à l'aise en ligne de commande : contrôle des fichiers reçus, scripts d'enchaînement, archivage, commande orchadmin pour gérer les datasets. Control-M, $Universe ou Autosys pilotent l'ensemble des chaînes de nuit.

Bases sources et cibles

DB2, Oracle, Teradata, et des fichiers venus du mainframe. Une bonne partie des performances se joue dans le SQL d'extraction et dans le mode d'écriture choisi sur le connecteur (insertion, mise à jour, chargement en masse).

DataStage sur Cloud Pak for Data et en service

IBM propose DataStage dans Cloud Pak for Data et en service géré, avec un moteur distant qui exécute les traitements là où se trouvent les données. Les jobs parallèles y deviennent des flux, et les séquences se reprennent en pipelines d'orchestration. Plusieurs grands comptes préparent cette migration depuis Information Server.

Le développeur DataStage travaille surtout pour des grands comptes, où les chaînes de nuit alimentent la comptabilité, le reporting réglementaire ou les outils de pilotage. Une partie des missions relève du développement de nouveaux flux, une autre du support de production, avec gestion des incidents et passage en comité de changement. En ESN, le consultant arrive sur un existant volumineux, avec des normes de développement propres au client. Les projets de modernisation ajoutent deux sujets : la migration vers DataStage sur Cloud Pak for Data et, dans certains cas, le remplacement de jobs par du Spark ou du SQL sur une plateforme cloud. Aucune certification n'est vraiment attendue, l'entretien doit vérifier la pratique du moteur parallèle.

Sur quoi juger un développeur DataStage

  • Partitionnement et moteur parallèle
  • Conception des jobs et choix des stages
  • Performance des jobs volumineux
  • Séquences, paramètres et ordonnancement Unix
  • Rejets, reprise et support de production
  • SQL des bases sources et modernisation

Cinq mises en situation DataStage pour l'entretien

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é

    Un job parallèle qui agrège par client donne des totaux faux dès qu'il tourne sur quatre nœuds au lieu d'un. Que s'est-il passé ?

    Une bonne réponseLes lignes d'un même client se sont retrouvées sur plusieurs partitions, parce que le partitionnement en amont de l'Aggregator n'était pas fait sur la clé (round robin, ou auto qui n'a pas fait ce qu'on croyait). Chaque nœud a calculé un total partiel. La correction : un partitionnement hash sur la clé client, avec tri, avant l'agrégat. Le même piège touche Remove Duplicates et Join.

    Signal d'alerte« C'est un bug de DataStage », ou repasser le job sur un seul nœud sans comprendre la cause.

  2. Question 2 · confirmé

    Lookup, Join ou Merge : quel stage prenez-vous pour rapprocher un flux de 80 millions de lignes avec une table de référence ?

    Une bonne réponseLe Lookup charge la référence en mémoire : idéal si elle est petite, avec un lien de rejet pour les lignes sans correspondance. Si la référence est grosse aussi, le Join, qui demande des entrées triées et partitionnées sur la clé mais ne garde pas tout en mémoire. Le Merge sert à appliquer des mises à jour sur un flux maître unique, avec un rejet par lien de mise à jour.

    Signal d'alerteToujours le Lookup, sans se soucier de la taille de la référence, ou une confusion entre Join et Merge.

  3. Question 3 · senior

    Un job qui tournait en 30 minutes prend maintenant 2 heures. Comment trouvez-vous l'étape qui freine ?

    Une bonne réponseLe moniteur du Director pour le débit par stage et par partition, puis le score du job (APT_DUMP_SCORE) qui montre les tris et repartitionnements insérés automatiquement et les opérateurs combinés. Il cherche un déséquilibre où une partition reçoit la majorité des lignes, un repartitionnement inutile, et regarde côté base : extraction sans filtre, écriture en mise à jour ligne à ligne au lieu d'un chargement en masse.

    Signal d'alerteAjouter des nœuds au fichier de configuration sans diagnostic.

  4. Question 4 · confirmé

    Comment rendez-vous un job réutilisable entre développement, recette et production ?

    Une bonne réponseDes paramètres de job regroupés en parameter sets, avec un fichier de valeurs par environnement, des variables d'environnement pour APT_CONFIG_FILE et les connexions, des mots de passe en paramètres chiffrés. Aucun chemin en dur. Le passage d'un environnement à l'autre se fait par export et import (istool ou Information Server Manager), sans toucher au job.

    Signal d'alerteUne copie du job par environnement, modifiée à la main.

  5. Question 5 · confirmé

    Une séquence de nuit plante à l'étape 7 sur 12. Comment la relancez-vous ?

    Une bonne réponseUne séquence conçue avec les points de reprise activés redémarre à l'étape en échec. Le job en abort est remis à zéro (dsjob -run -mode RESET) avant la relance. Surtout, les jobs sont rejouables : staging vidé et rechargé, suppression des lignes du lot ou de la date avant insertion. Il coordonne la relance avec l'ordonnanceur pour ne pas décaler les chaînes suivantes.

    Signal d'alerteRelancer toute la séquence à la main et nettoyer les doublons le lendemain.

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

DataStage, Informatica, Cloud Pak : vos interrogations

DataStage est-il encore recherché par les entreprises ?

Les grands comptes de la banque, de l'assurance et de la protection sociale en recrutent toujours, car des centaines de jobs alimentent la comptabilité et le reporting. Les offres portent autant sur le support de production que sur le développement. IBM fait évoluer le produit vers Cloud Pak for Data et un service géré, ce qui crée des missions de migration. Les profils expérimentés restent recherchés parce que peu de juniors se forment à l'outil.

Un développeur Informatica peut-il prendre un poste DataStage ?

La logique ETL se transpose : mapping de données, gestion des rejets, chargement d'un entrepôt, ordonnancement. La différence tient au moteur parallèle de DataStage, avec ses partitions, ses tris et son fichier de configuration. Un profil Informatica qui n'a jamais réfléchi au partitionnement produira des résultats faux sur un job multinœud. Posez-lui la question de l'agrégat sur quatre nœuds pour mesurer l'écart.

Comment organiser l'entretien technique d'un développeur DataStage ?

Commencez par un job qu'il a conçu ou dépanné, en lui demandant de le dessiner : stages, partitionnement, volumes. Enchaînez sur des questions par thème, puis un cas où il décrit une chaîne de nuit complète. Si vous voulez un test technique, une capture du score d'un job lent ou un journal Director en abort à commenter suffit, sans accès à un serveur.

Faut-il exiger des compétences Unix pour ce poste ?

Pour la plupart des postes, oui. DataStage sur Information Server tourne en général sur un serveur Unix ou Linux, et le développeur contrôle les fichiers reçus, écrit des scripts d'enchaînement et gère les datasets en ligne de commande. Le support de production demande en plus de lire les journaux et les codes retour renvoyés à l'ordonnanceur. Une question sur les commandes du quotidien suffit à vérifier ce niveau.

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