POC pour Hadoop en temps réel scénario
J'ai un peu un problème. Je veux apprendre sur Hadoop et comment je pourrais l'utiliser pour gérer des flux de données en temps réel. En tant que tel, je veux construire un significative POC autour d'elle pour que je puisse le montrer quand je dois prouver ma connaissance devant un employeur potentiel ou de l'introduire dans mon cabinet.
Je serais tiens également à mentionner que je suis limité en ressources matérielles. Juste mon portable et moi 🙂 je connais les bases de Hadoop et ont écrit 2-3 de base M. emplois. Je veux faire quelque chose de plus significatif ou monde réel.
S'il vous plaît suggérer.
Merci d'avance.
- Si vous souhaitez appliquer et montrez-moi que vous utilisez (Hadoop) M. pour l'analyse en temps réel, je serais immédiatement le coup de votre application vers la corbeille.
- Si vous voulez faire quelque chose de significatif en temps réel puis utilisez
Storm
,Gridgain
ouImpala
. - Vous pouvez envisager de le faire tourner des machines virtuelles sur le cloud si vous êtes limité en ressources matérielles. Et encore une idée, si vous voulez juste MapReduce, vous pouvez essayer d'Amazon Elastic Map Reduce.
Vous devez vous connecter pour publier un commentaire.
Je voudrais souligner un certain nombre de choses.
Si vous voulez faire un POC avec seulement 1 ordinateur portable, il ya peu d'intérêt dans l'utilisation d'Hadoop.
Aussi, comme dit par d'autres personnes, Hadoop n'est pas conçu pour le temps réel de l'application, car il y a une surcharge dans l'exécution de la Carte/réduction des emplois.
Cela étant dit, Cloudera publié Impala qui travaille avec l'écosystème Hadoop (plus précisément de la Ruche metastore) pour atteindre la performance temps réel. Sachez que pour y parvenir, il ne génère pas de Map/reduce emplois, et est actuellement en version bêta, donc de l'utiliser avec précaution.
Donc, je conseille vraiment d'aller à l'Impala de sorte que vous pouvez toujours utiliser un écosystème Hadoop, mais si vous êtes également prendre en considération les alternatives voici quelques autres cadres qui pourrait être utile:
À la fin, je pense que vous devriez vraiment analyser vos besoins, et de voir si l'utilisation d'Hadoop est ce que vous avez besoin, parce que c'est seulement dans le temps réel de l'espace. Il y a plusieurs autres projets qui pourraient vous aider à obtenir en temps réel les performances.
Si vous voulez des idées de projets à mettre en valeur, je suggère de regarder ce lien. Elle sont quelques exemples:
Impala
semble être votre meilleur pari. Vous ne serez pas obtenir en temps réel des performances à la vanille, avec Hadoop.Si vous souhaitez obtenir vos mains sales sur un très prometteur streaming cadre, essayez BDAS SPARK streaming. Attention, ce n'est pas encore sorti, mais vous pouvez jouer dans votre ordinateur portable avec la version github (https://github.com/mesos/spark/tree/streaming)
Il existe de nombreux échantillons pour obtenir vous avez commencé.
Aussi cela a de nombreux avantages sur les cadres existants,
1. Il vous donne la possibilité de combiner en temps réel et batch de calcul dans une pile
2. Il vous donnera un REPL où vous pouvez essayer votre des requêtes ad hoc de manière interactive.
3. Vous pouvez exécuter dans votre ordinateur portable en mode local.
Il existe de nombreux autres avantages, mais ces trois, je crois suffira à vos besoin pour commencer.
Vous pourriez avoir à apprendre scala pour essayer le REPL 🙁
Pour plus d'informations, consultez http://spark-project.org/
Hadoop est une haut débit orienté cadre approprié pour le processus de traitement par lots. Si vous êtes intéressé par traitement et d'analyser d'énormes ensembles de données en temps réel s'il vous plaît examiner tempête sur twitter.
L'un des chic problème qui, je suis sûr que la plupart du temps réel que n'importe quoi d'autre. La Négociation D'Options. La clé ici est de regarder pour les nouvelles,les tendances de twitter, facebook, youtube et ensuite d'identifier des candidats pour une éventuelle vente ou d'achat. Vous aurez besoin d'une bonne compétence et d'élaborer la mise en œuvre de Mahout avec Nutch/Lucene, puis utilisez les tendances des données afin de comprendre la situation actuelle et le système devrait recommander paris (options).
Je suis clairement biaisé, mais je vous recommande aussi de regarder GridGain pour quoi que ce soit en temps réel. GridGain est En Mémoire de Données Plate-forme qui fournit de l'ACIDE de la banque de données NoSQL et rapide en mémoire MapReduce.
Je pense que vous pouvez avoir un POC en cours d'exécution, par exemple, une ligne/algorithme récursif pour la régression dans mapreduce. Mais rappelez-vous que ce sera juste prouver que "l'apprentissage de la règle" des œuvres. Peut-être (jamais essayé), vous pouvez utiliser les résultats en temps réel par en parler à votre réducteurs pour les écrire dans un fichier temporaire qui peut être lu par un autre thread.
Aussi Mahout vous permet de configurer votre base de données dans différents
SequenceFile
s. Vous pouvez l'utiliser pour simuler un stream en ligne et de classer/cluster votre jeu de données "en ligne". Vous pouvez même copier une partie des données dans le dossier avec les autres données avant que l'algorithme a commencé à courir.Mahout en Action les détails de la façon de le faire.
Voir si l'un de ces ensembles de données est à votre goût: http://archive.ics.uci.edu/ml/datasets.html
Si vous voulez construire une application en temps réel,alors je vous suggère d'utiliser Apache Spark cadre qui est utilisé pour le traitement en temps réel et aussi le soutien polyglotte API(Scala,Java,Python,R)
Je cherchais quelque chose comme cela -
https://www.kaggle.com/competitions
Ce sont bien les problèmes définis, beaucoup d'entre eux de Gros problèmes de Données. Et certains d'entre eux nécessitent de traitement en temps réel.
Mais merci à tous ceux qui ont répondu.