Itérer et filtrer
En tant que consultant·e data, vous recevez des données sous toutes les formes et tous les formats. Un client vient de vous transférer un fichier CSV de 40 gigaoctets contenant des données sur les établissements d’enseignement supérieur dans le monde entier.
Les analystes juniors n’arrivent pas à parser correctement les données faute de mémoire, et il n’y a pas de budget pour les ressources de calcul nécessaires pour traiter l’ensemble du jeu de données. Votre analyse actuelle ne nécessite que l’étude des établissements en Australie. Le chemin du fichier CSV est déjà stocké dans la variable filepath. On vous a demandé de mettre en place un lecteur efficace pour ces données. Les packages parallel, doParallel, foreach et iterators ont été chargés pour vous.
Cet exercice fait partie du cours
Programmation parallèle en R
Instructions
- Utilisez un itérateur pour lire les lignes depuis
filepath. - Combinez les résultats à l’aide d’une fonction appropriée pour créer un data frame.
- Indiquez l’opérateur parallèle.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)