Iterează și filtrează
În calitate de consultant de date, primești date în cele mai variate forme și formate. Un client tocmai ți-a transferat un fișier CSV de 40 de gigaocteți, care conține date despre instituții de învățământ superior din întreaga lume.
Analiștii juniori nu pot procesa corect datele din cauza lipsei de memorie, iar bugetul nu permite achiziționarea resurselor de calcul necesare pentru a gestiona întregul set de date. Analiza ta curentă necesită doar datele despre instituțiile din Australia. Calea către fișierul CSV este deja stocată în variabila filepath. Ți s-a cerut să implementezi un cititor eficient pentru aceste date. Pachetele parallel, doParallel, foreach și iterators sunt deja încărcate.
Acest exercițiu face parte din cursul
Programare paralelă în R
Instrucțiuni pentru exercițiu
- Folosește un iterator pentru a citi liniile din
filepath. - Combină rezultatele utilizând o funcție potrivită pentru a crea un cadru de date.
- Specifică operatorul paralel.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)