Итерация и фильтрация
Как консультант по данным, вы работаете с самыми разными форматами и источниками. Клиент передал вам CSV-файл объёмом 40 гигабайт, содержащий данные о высших учебных заведениях по всему миру.
Младшие аналитики не могут корректно обработать этот файл из-за нехватки памяти, а бюджета на дополнительные вычислительные ресурсы нет. В вашем текущем анализе нужны только данные об учреждениях Австралии. Путь к CSV-файлу уже сохранён в переменной filepath. Вам необходимо реализовать эффективный способ чтения этих данных. Пакеты parallel, doParallel, foreach и iterators уже загружены.
Это упражнение является частью курса
Параллельное программирование на R
Инструкции к упражнению
- Используйте итератор для построчного чтения файла
filepath. - Объедините результаты с помощью подходящей функции, чтобы создать фрейм данных.
- Укажите параллельный оператор.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
# Combine the lines as rows
___ = ___
# Use the parallel operator
) ___ {
line <- strsplit(l, ",")[[1]]
if (line[4] == "Australia") {
return(line)
}
}
stopCluster(cl)