LoslegenKostenlos loslegen

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

Skalierbare Datenverarbeitung in R

Kurs anzeigen

Anleitung zur Übung

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

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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