НачатьНачать бесплатно

Итерация и фильтрация

Как консультант по данным, вы работаете с самыми разными форматами и источниками. Клиент передал вам 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)
Редактировать и запускать код