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
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
)