LoslegenKostenlos starten

Aufrufe von chunk.apply parallelisieren

Die Funktion chunk.apply() kann auch Parallelprozesse nutzen, um Daten schneller zu verarbeiten. Wenn der Parameter CH.PARALLEL auf einem Linux- oder Unix-System (einschließlich Mac) auf einen Wert größer als 1 gesetzt ist, lesen und verarbeiten mehrere Prozesse die Daten gleichzeitig und verkürzen so die Laufzeit. Unter Windows wird der Parameter CH.PARALLEL ignoriert.

Diese Übung ist Teil des Kurses

<Kurs>Skalierbare Datenverarbeitung in R</Kurs>
Kurs ansehen

Übungsanweisungen

  • Miss die Laufzeit der Funktion iotools_read_fun(): zuerst mit 1 Prozess und dann mit 3 parallelen Prozessen.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

iotools_read_fun <- function(parallel) {
    fc <- file("mortgage-sample.csv", "rb")
    readLines(fc, n = 1)
    chunk.apply(fc, make_msa_table,
                CH.MAX.SIZE = 1e5, CH.PARALLEL = parallel)
    close(fc)
}

# Benchmark the new function
microbenchmark(
    # Use one process
    ___, 
    # Use three processes
    ___, 
    times = 20
)
Code bearbeiten und ausführen