CommencerCommencer gratuitement

Créer un RDD de base et le transformer

Le volume de données non structurées (lignes de journaux, images, fichiers binaires) augmente considérablement et PySpark est un excellent framework pour analyser ce type de données à l'aide des RDD. Dans cet exercice en trois parties, vous écrirez un code qui calcule les mots les plus courants dans les Œuvres complètes de William Shakespeare.

Voici en bref les étapes de l'écriture du programme de comptage de mots :

  • Créez un RDD de base à partir du fichier Complete_Shakespeare.txt.
  • Utilisez la transformation RDD pour créer une longue liste de mots à partir de chaque élément du RDD de base.
  • Supprimez les mots vides de vos données.
  • Créez un RDD de paires où chaque élément est un tuple de paires de ('w', 1)
  • Regroupez les éléments du RDD de paires par clé (mot) et additionnez leurs valeurs.
  • Échangez les clés (mots) et les valeurs (nombres) de manière à ce que les clés soient les nombres et les valeurs les mots.
  • Enfin, triez le RDD par ordre décroissant et affichez les 10 mots les plus fréquents et leur fréquence.

Dans ce premier exercice, vous allez créer un RDD de base à partir du fichier Complete_Shakespeare.txt et le transformer pour créer une longue liste de mots.

N'oubliez pas que vous disposez déjà d'un SparkContext sc dans votre espace de travail. Une variable file_path (qui est le chemin d'accès au fichier Complete_Shakespeare.txt ) est également chargée à votre intention.

Cet exercice fait partie du cours

Principes fondamentaux des mégadonnées avec PySpark

Afficher le cours

Instructions

  • Créez un RDD appelé baseRDD qui lit les lignes de file_path.
  • Transformez le baseRDD en une longue liste de mots et créez un nouveau splitRDD.
  • Comptez le nombre total de mots dans splitRDD.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Create a baseRDD from the file path
baseRDD = sc.____(file_path)

# Split the lines of baseRDD into words
splitRDD = baseRDD.____(lambda x: x.split())

# Count the total number of words
print("Total number of words in splitRDD:", splitRDD.____())
Modifier et exécuter le code