Paralelizando chamadas para chunk.apply
A função chunk.apply() também pode usar processos paralelos para acelerar o processamento dos dados. Quando o parâmetro CH.PARALLEL é definido como um valor maior que um em máquinas Linux e Unix (incluindo Mac), vários processos leem e processam os dados ao mesmo tempo, reduzindo o tempo de execução. No Windows, o parâmetro CH.PARALLEL é ignorado.
Este exercício faz parte do curso
Processamento de Dados em Escala no R
Instruções do exercício
- Faça o benchmark da função
iotools_read_fun(), primeiro com 1 processo e depois com 3 processos paralelos.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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
)