CommencerCommencer gratuitement

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

Afficher le cours

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)
Modifier et exécuter le code