Comment mettre les fichiers dans la mémoire à l'aide de cache Distribué Hadoop?
Autant que je sache, cache distribué des copies de fichiers à chaque nœud, puis la carte ou réduire lit les fichiers à partir du système de fichiers local.
Ma question est: Est-il un moyen que nous pouvons mettre nos fichiers en mémoire à l'aide de cache distribué Hadoop, de sorte que chaque carte ou de réduire les permet de lire des fichiers directement à partir de la mémoire?
Mon MapReduce programme distribue une image png qui est d'environ 1M à chaque nœud, chaque carte tâche lectures de l'image à partir du cache distribué et fait un peu de traitement de l'image avec une autre photo de l'entrée de la carte.
OriginalL'auteur hequn8128 | 2013-12-12
Vous devez vous connecter pour publier un commentaire.
Charger l'image dans setup().
OriginalL'auteur user.
grande question. Je suis aussi en train d'essayer de résoudre le problème similaire. Je ne pense pas que Hadoop prend en charge dans la mémoire cache de la boîte. Toutefois, il ne devrait pas être très difficile d'avoir un autre dans la mémoire cache quelque part sur la grille à cet effet. Nous ne pouvons passer à l'emplacement de la cache et le nom du paramètre dans la Configuration du Travail.
Aussi loin que l'exemple de code ci-dessus, il ne répond pas à la question d'origine. En outre, il met en valeur non-optimale de l'exemple de code. Idéalement, vous devriez accéder au fichier de cache dans le cadre de la méthode setup() et cache tout ce que vous voulez utiliser dans le cadre de la méthode map (). Dans l'exemple ci-dessus le cache de fichier sera lu une seule fois pour chaque paire clé-valeur qui compromet avec la performance de la tâche de mapreduce.
OriginalL'auteur Saket