Zacznij terazZacznij za darmo

Iterowanie i filtrowanie

Jako konsultant danych otrzymujesz dane w różnych formatach i postaciach. Klient właśnie przesłał plik CSV o rozmiarze 40 gigabajtów, zawierający dane o uczelniach wyższych z całego świata.

Młodsi analitycy nie są w stanie poprawnie wczytać tych danych z powodu braku pamięci, a budżet nie pozwala na zakup zasobów obliczeniowych potrzebnych do obsługi całego zbioru danych. Twoja bieżąca analiza wymaga jedynie danych dotyczących uczelni w Australii. Ścieżka do pliku CSV jest już zapisana w zmiennej filepath. Twoim zadaniem jest zaimplementowanie wydajnego mechanizmu odczytu tych danych. Pakiety parallel, doParallel, foreach i iterators są już wczytane.

To ćwiczenie jest częścią kursu

Programowanie równoległe w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj iteratora do odczytu wierszy z pliku filepath.
  • Połącz wyniki za pomocą odpowiedniej funkcji, aby utworzyć ramkę danych.
  • Wskaż operator równoległy.

Interaktywne ćwiczenie praktyczne

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

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