LoslegenKostenlos loslegen

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 Hochschul­einrichtungen 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

Kurs anzeigen

Anleitung zur Übung

  • Verwende einen Iterator, um Zeilen aus filepath einzulesen.
  • 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)
Code bearbeiten und ausführen