J'ai écrit un simple code de clustering k-means pour Hadoop (deux programmes distincts - mapper et réducteur). Le code fonctionne sur un petit jeu de données de 2 points sur ma boîte locale. Il est écrit en Python et je prévois d'utiliser l'API Streaming.Iterative MapReduce
Je voudrais des suggestions sur la meilleure façon d'exécuter ce programme sur Hadoop. Après chaque cycle de mappeur et de réducteur, de nouveaux centres sont générés. Ces centres sont entrés pour la prochaine itération. D'après ce que je peux voir, chaque itération de mapreduce devra être un travail séparé de mapreduce. Et il me semble que je vais devoir écrire un autre script (python/bash) pour extraire les nouveaux centres de HDFS après chaque phase de réduction, et le renvoyer au mappeur.
Une autre manière plus facile, moins désordonnée? Si le cluster arrive à utiliser un ordonnanceur équitable, il faudra très longtemps avant que ce calcul se termine?