Chạy song song các lệnh gọi đến chunk.apply
Hàm chunk.apply() cũng có thể tận dụng các tiến trình chạy song song để xử lý dữ liệu nhanh hơn. Khi tham số CH.PARALLEL được đặt lớn hơn một trên máy Linux và Unix (bao gồm cả Mac), nhiều tiến trình sẽ đồng thời đọc và xử lý dữ liệu, từ đó giảm thời gian chạy. Trên Windows, tham số CH.PARALLEL sẽ bị bỏ qua.
Bài tập này là một phần của khóa học
Xử lý dữ liệu có khả năng mở rộng trong R
Hướng dẫn bài tập
- Đo hiệu năng hàm
iotools_read_fun(), trước tiên với 1 tiến trình và sau đó với 3 tiến trình song song.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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
)