ÎncepețiÎncepe gratuit

Paralelizarea apelurilor către chunk.apply

Funcția chunk.apply() poate utiliza și procese paralele pentru a procesa datele mai rapid. Când parametrul CH.PARALLEL este setat la o valoare mai mare decât unu pe sisteme Linux și Unix (inclusiv Mac), mai multe procese citesc și procesează datele simultan, reducând astfel timpul de execuție. Pe Windows, parametrul CH.PARALLEL este ignorat.

Acest exercițiu face parte din cursul

Procesarea scalabilă a datelor în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Măsoară performanța funcției iotools_read_fun(), mai întâi cu 1 proces, apoi cu 3 procese paralele.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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
)
Editează și rulează codul