IniziaInizia gratis

Iterare e filtrare

Come consulente dati, ricevi dati in tutte le forme e formati. Un cliente ha appena trasferito un file CSV da 40 gigabyte con dati sulle istituzioni di studi superiori in tutto il mondo.

Gli analisti junior non riescono a effettuare il parsing corretto dei dati per mancanza di memoria, e non c’è budget per le risorse di calcolo necessarie a gestire l’intero insieme di dati. L’analisi che ti serve ora riguarda solo gli istituti in Australia. Il percorso del file CSV è già memorizzato nella variabile filepath. Ti è stato chiesto di implementare un lettore efficiente per questi dati. I pacchetti parallel, doParallel, foreach e iterators sono già stati caricati per te.

Questo esercizio fa parte del corso

Programmazione parallela in R

Visualizza il corso

Istruzioni dell'esercizio

  • Usa un iteratore per leggere le righe da filepath.
  • Combina i risultati usando una funzione appropriata per creare un data frame.
  • Specifica l’operatore parallelo.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
        # Combine the lines as rows
        ___ = ___
        # Use the parallel operator
        ) ___ {
  line <- strsplit(l, ",")[[1]]
  if (line[4] == "Australia") {
    return(line)
  }
}

stopCluster(cl)
Modifica ed esegui il codice