IniziaInizia gratis

Crea un RDD di base e trasformalo

Il volume di dati non strutturati (righe di log, immagini, file binari) è in crescita vertiginosa, e PySpark è un ottimo framework per analizzare questo tipo di dati tramite gli RDD. In questo esercizio in 3 parti, scriverai del codice che calcola le parole più comuni tratte dalle Opere complete di William Shakespeare.

Ecco i passaggi principali per scrivere il programma di conteggio delle parole:

  • Crea un RDD di base dal file Complete_Shakespeare.txt.
  • Usa una trasformazione RDD per creare un lungo elenco di parole da ogni elemento dell'RDD di base.
  • Rimuovi le stop word dai tuoi dati.
  • Crea un pair RDD in cui ogni elemento è una tupla coppia di ('w', 1).
  • Raggruppa gli elementi del pair RDD per chiave (parola) e somma i loro valori.
  • Scambia le chiavi (parola) e i valori (conteggi) in modo che la chiave sia il conteggio e il valore la parola.
  • Infine, ordina l'RDD in ordine decrescente e stampa le 10 parole più frequenti e le loro frequenze.

In questo primo esercizio, creerai un RDD di base dal file Complete_Shakespeare.txt e lo trasformerai per ottenere un lungo elenco di parole.

Ricorda: hai già uno SparkContext sc disponibile nel tuo workspace. Anche una variabile file_path (che è il percorso del file Complete_Shakespeare.txt) è stata caricata per te.

Questo esercizio fa parte del corso

Fondamenti di Big Data con PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un RDD chiamato baseRDD che legga le righe da file_path.
  • Trasforma baseRDD in un lungo elenco di parole e crea un nuovo splitRDD.
  • Conta il numero totale di parole in splitRDD.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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.____())
Modifica ed esegui il codice