Devoir surveillé Examen Session : principale
de contrôle
Matière : BigData Semestre: 1
Enseignante : Lilia SFAXI Date: Novembre 2019
Filière(s) : GL5- Option Data Science Durée: 1h30
Nombre de pages : 3 Documents : autorisés non autorisés
NB - Il est fortement conseillé de lire chacune des parties en entier avant de commencer à répondre.
Partie 1: Architectures Big Data (12 pts)
Vous êtes responsable d’une société de services qui a récemment reçu un grand projet de mise
en place d’une architecture Big Data pour une multinationale spécialisée dans le textile. Cette
entreprise a beaucoup de filiales dans plusieurs pays, et aimerait réaliser des analyses sur ses
ventes, le comportement de ses clients et de ses fournisseurs, ainsi que le succès de ses
produits. Mais surtout, elle aimerait être capable de fournir des prédictions en temps réel sur
l’état des stocks, si on observe le comportement des ventes précédentes, couplées avec des
évènements extérieurs, tels que la météo, les tendances de la mode, le nombre et le type des
touristes de la ville, les évènements politiques et médiatiques, etc.).
Vous, en tant qu’ancien étudiant en GL option Data Science et (surtout) Data Engineering,
avez votre propre idée sur le sujet. Vous connaissez deux grandes architectures : Lambda et
Kappa, qui pourraient peut-être faire l’affaire…
Question Présenter brièvement chacune de ces architectures. (2pts)
Question Est-ce que l’une de ces architectures (ou bien les deux) est adéquate pour
votre besoin ? Expliquer. (2pts)
Étant vous-même un peu éloigné depuis un moment des tendances techniques en matière
d’architecture logicielle, vous avez demandé à deux de vos collaborateurs de proposer chacun
une architecture qu’il pense adéquate.
Le premier, un architecte logiciel à la base, qui s’est converti récemment au Big Data, mais
qui a quelques bonnes années d’expérience à son actif, vous a proposé l’architecture
suivante :
1
Le deuxième, un jeune data analyste qui a le souci des détails, vous a donné cette
recommandation :
Question Expliquer brièvement le comportement de chacune de ces solutions.
Vous pourrez prendre comme point de départ l’une ou l’autre des architectures
de référence (Lambda et Kappa). (2pts)
Question Montrer pour chacune de ces solutions à quel point elle correspond au
besoin de notre système. (4pt)
Question Laquelle choisiriez-vous (parmi les quatre) ? et pourquoi ? (2pt)
Bon Travail 2
Partie 2: Map Reduce (8 pts)
Vous avez en votre possession un cluster HDFS dans lequel vous stockez depuis des années
les données que vous avez accumulées dans votre blog, que vous avez créé pour les étudiants
de votre fac, et où les étudiants ont pris l’habitude de poster leurs remarques, commentaires
ou articles intéressants. Vous avez décidé de faire une analyse sur la totalité des posts, pour
voir quels sont les sujets les plus abordés par les garçons et par les filles.
Vous avez deux fichiers volumineux en entrée :
- Un fichier appelé « users » contenant les données des utilisateurs, ayant la structure
suivante :
User_id Name Gender Specialty Town Country Fields of interest
- Un fichier appelé « posts » contenant les détails des posts, comme suit :
Post_id User_id Subject Post Timestam Comments Likes Hates
p
Question 1. Écrire l’algorithme de votre Job Map Reduce, permettant de réaliser le
traitement voulu, en montrant les types d’entrées et de sorties de chaque tâche, avec des
exemples de préférence. (5pts)
Il est à noter que tout le traitement doit être réalisé dans un seul Job, en une seule itération.
Question 2. Pensez-vous que, dans ce cas, utiliser HDFS et Map Reduce est idéal ? Si
oui, expliquer pourquoi, sinon, quelle serait la technologie ou paradigme qui serait
adéquat ? (3pts)
Bon Travail 3