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
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)