Parallellisering av anrop till chunk.apply
Funktionen chunk.apply() kan också använda parallella processer för att bearbeta data snabbare. När parametern CH.PARALLEL sätts till ett värde större än ett på Linux- och Unix-maskiner (inklusive Mac) läser och bearbetar flera processer data samtidigt, vilket minskar körningstiden. På Windows ignoreras parametern CH.PARALLEL.
Den här övningen är en del av kursen
Skalbar databehandling i R
Övningsinstruktioner
- Benchmark:a funktionen
iotools_read_fun(), först med 1 process och sedan med 3 parallella processer.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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
)