Iterieren und filtern
Als Datenberater:in bekommst du Daten in allen möglichen Formen und Formaten. Ein Kunde hat dir gerade eine 40‑Gigabyte‑CSV-Datei mit Daten zu Hochschuleinrichtungen weltweit übertragen.
Die Junior-Analyst:innen können die Daten aufgrund mangelnden Speichers nicht korrekt parsen, und es gibt kein Budget für die Rechenressourcen, die zur Verarbeitung des gesamten Datensatzes nötig wären. Für deine aktuelle Analyse brauchst du nur Institute in Australien. Der Dateipfad der CSV ist bereits in der Variablen filepath gespeichert. Du wurdest gebeten, einen effizienten Reader für diese Daten zu implementieren. Die Pakete parallel, doParallel, foreach und iterators sind bereits geladen.
Diese Übung ist Teil des Kurses
Paralleles Programmieren in R
Anleitung zur Übung
- Verwende einen Iterator, um Zeilen aus
filepatheinzulesen. - Fasse die Ergebnisse mit einer geeigneten Funktion zu einem Data Frame zusammen.
- Gib den Parallel-Operator an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)