Zacznij terazZacznij za darmo

Zrównoleglanie wywołań chunk.apply

Funkcja chunk.apply() może również korzystać z równoległych procesów, aby szybciej przetwarzać dane. Gdy parametr CH.PARALLEL zostanie ustawiony na wartość większą niż jeden na maszynach z systemem Linux lub Unix (w tym na Macu), dane są jednocześnie odczytywane i przetwarzane przez wiele procesów, co skraca czas wykonania. Na systemie Windows parametr CH.PARALLEL jest ignorowany.

To ćwiczenie jest częścią kursu

Skalowalne przetwarzanie danych w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Przeprowadź benchmark funkcji iotools_read_fun() — najpierw z 1 procesem, a następnie z 3 równoległymi procesami.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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
)
Edytuj i uruchom kod