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
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)