Aller au contenu

Quiz 01 – Spark 4 : contexte, installation et première session

  • Jour 1
  • 20 questions
  • Seuil de réussite : 70 %
  • 20 flashcards

Contenus évalués : Spark face à Hadoop MapReduce et intérêt du calcul en mémoire ; API unifiées en Java, Scala, Python et R ; calcul distribué en partitions et tâches ; nouveauté de Spark 4 : ANSI SQL par défaut ; SparkSession, SparkContext, `getOrCreate` et master `local[*]` ; Spark UI sur le port 4040 et durée de vie de la session ; chargement de `trips.csv` et `trips.parquet` avec `header`, `inferSchema`, `show` et `printSchema` ; prérequis Java 17+, PySpark 4, WSL2 sous Windows et lecture de la sortie de `check_env.py`

Une seule bonne réponse par question. Toutes les valeurs citées sont celles des TP de la formation. Le corrigé détaillé s’affiche après la correction. Ce quiz prépare le QCM de validation des acquis du dernier jour.

Question 1

Dans le TP 1, tu crées ta session avec .master("local[*]"). Que signifie l'étoile ?

Question 2

Tu lances python scripts/check_env.py. La ligne Java affiche ✘ avec openjdk version "11.0.20". Que fais-tu ?

Question 3

Un traitement enchaîne plusieurs étapes sur les mêmes données. Pourquoi Spark est-il nettement plus rapide que Hadoop MapReduce dans ce cas ?

Question 4

Dans la Spark UI, tu ouvres le job du count() sur trips.csv. Le premier de ses 2 stages contient N tâches. À quoi correspond N ?

Question 5

Un autre notebook est déjà ouvert. Tu cliques sur http://localhost:4040 et tu ne retrouves pas tes jobs du TP 1. Que fais-tu ?

Question 6

Avec la configuration par défaut de Spark 4, que produit cette requête ?

SELECT CAST('abc' AS INT) AS valeur
Question 7

À l'étape 1 du TP 1, juste après getOrCreate(), tu écris sc = spark.sparkContext. Qu'est-ce que sc ?

Question 8

Sous Windows natif, check_env.py affiche ✔ jusqu'à SparkSession OK — Spark 4…, puis ✘ sur Écriture / lecture Parquet. Quel est le bon diagnostic ?

Question 9

Tu oublies inferSchema et tu exécutes ce code. Que montre printSchema() ?

df = spark.read.csv("data/trips.csv", header=True)
df.printSchema()
Question 10

Tu fais deux constats. D'abord, l'onglet Jobs montre des jobs créés avant ton count(). Ensuite, dans le bonus, le count() sur trips.csv (lu avec inferSchema=True) est plus lent que sur trips.parquet. Quelle explication relie les deux ?

Question 11

Ton DataFrame df est chargé depuis trips.csv avec header=True, inferSchema=True, et les jobs de lecture sont terminés. Laquelle de ces instructions ajoute un nouveau job dans l'onglet Jobs de la Spark UI ?

Question 12

Tes TP sont en PySpark. Un collègue de ton équipe ne travaille qu'en Scala. Peut-il écrire les mêmes traitements Spark que toi ?

Question 13

Tu exécutes ce code et tu obtiens 120001 au lieu des 120 000 courses attendues. Quelle est la cause ?

spark.read.csv("data/trips.csv", inferSchema=True).count()
Question 14

Tu ouvres TP1_premier_contact.ipynb depuis le dossier jour1/. Tu sautes la première cellule et tu exécutes les étapes 1 et 2. Spark répond :

AnalysisException: [PATH_NOT_FOUND] Path does not exist: file:/home/alice/formation-spark-ml/jour1/data/trips.csv

Quel est le bon diagnostic ?

Question 15

Ta session tourne déjà. Tu modifies la cellule de l'étape 1 pour écrire .master("local[2]"), puis tu la réexécutes sans redémarrer le noyau. sc.master affiche toujours local[*]. Pourquoi ?

Question 16

Tu arrêtes ta session, tu la recrées avec .master("local[1]") et tu recharges trips.csv. Après local[1], tu relances le count() et tu compares avec df.rdd.getNumPartitions(). Que constates-tu ?

Question 17

Tu lances le corrigé avec python jour1/corriges/tp1_premier_contact.py. Le script affiche le lien de la Spark UI, les comptes et les temps, puis il se termine. Tu cliques ensuite sur le lien et la page est inaccessible. Pourquoi ?

Question 18

Un participant obtient cette sortie de check_env.py :

  ✔ Python 3.12
  ✔ Java : openjdk version "21.0.2" 2024-01-16
  ✘ PySpark 3.5.1   → pip install pyspark (version 4.x)
  ✔ Jupyter
  ✔ Git : /usr/bin/git

Il reste des points à corriger (voir les lignes ✘).

Il conclut : « Aucune ligne SparkSession, donc Spark ne démarre pas sur mon poste. » Que lui réponds-tu ?

Question 19

Toute la journée, tes analyses n'utilisent que 4 des 19 colonnes : tpep_pickup_datetime, PULocationID, trip_distance et total_amount. Quel fichier choisis-tu comme source, et pourquoi ?

Question 20

Sous Windows, tu as suivi les prérequis dans WSL2 : dans le terminal Ubuntu, check_env.py affiche « Tout est prêt pour la formation ! ». Tu lances ensuite VS Code normalement depuis Windows et tu ouvres le notebook. L'étape 1 échoue avec ModuleNotFoundError: No module named 'pyspark'. Que fais-tu ?

Cliquez sur une carte pour la retourner. Mélangez-les pour une révision active.

1 / 20

Dépôt des participants : formations2026/formation-spark-ml (branche participants)

Contenu pédagogique © Ambient IT · 140 Avenue Jean Lolive, 93500 Pantin · formation@ambient-it.net · +33 (0)1 48 10 09 46

Organisme de formation enregistré sous le numéro 11 75 54743 75. Cet enregistrement ne vaut pas agrément de l'État.