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