Vous pouvez écrire des Jobs Hadoop autres que Java, donc J'ai créé un wrapper appelé SkipJack qui peut implémenter Python qui est fort en apprentissage automatique avec Hadoop Python Mokumokukai et New Year.
GitHub est ci-dessous. (Pas de pip) GitHub-SkipJack
Détails ci-dessous
HadoopStreaming
À Hadoop
--Exécuter Java sur la partie esclave (Tutoriel Haoop MR) --Exécuter des fichiers via une entrée / sortie standard sur la partie esclave (Tutoriel Hadoop Streaming)
Il existe deux méthodes d'exécution, Hadoop peut être utilisé dans tous les langages qui peuvent gérer les entrées / sorties standard. (Streaming Hadoop)
Vous n'êtes donc pas obligé d'utiliser Mahout simplement parce que vous faites du machine learning avec Hadoop, Vous pouvez l'implémenter dans votre bibliothèque préférée à l'aide de Python, qui est puissant en apprentissage automatique.
Pour le flux général de préparation de Hadoop, reportez-vous à Introduction de Hadoop et MapReduce par Python.
La plus importante bibliothèque d'apprentissage automatique implémentée en Python. Pour l'utiliser, il est également nécessaire d'installer Numpy et Scipy, mais comme il n'est pas facile de l'installer avec pip seul, J'ai téléchargé la série 3 de Anaconda qui contient un ensemble de bibliothèques depuis le début et je l'ai installée sur tous les esclaves.
SkipJack
Dans Hadoop Streaming, la commande d'exécution de hadoop devait être tapée à la main, ce qui était gênant. En exécutant python
** Décidez du Job à exécuter → Exécuter Hadoop → Évaluer le résultat → Déterminer le Job à exécuter ensuite → Ci-dessous, boucle jusqu'à l'arrêt **
J'ai fait un emballage qui peut faire. Si vous implémentez le mappeur, le réducteur et la méthode d'évaluation des résultats, vous n'avez pas besoin d'écrire un travail de routine.
Le contenu est C'est aussi simple que d'exécuter les commandes Hadoop (exécuter, mettre un fichier, lire le résultat (cat)).
Dans l'exemple,
--WordCount + Alpha
Nous en avons préparé deux.
Recommended Posts