2010-10-23 6 views
4

Après avoir appris sur MapReduce pour résoudre un problème de vision par ordinateur lors de mon récent stage chez Google, je me suis sentie comme une personne éclairée. J'avais déjà utilisé R pour l'exploration de texte. Je voulais utiliser R pour le traitement de texte à grande échelle et pour des expériences de modélisation de sujets. J'ai commencé à lire des tutoriels et à travailler sur certains d'entre eux. Hadoop interative,: Je vais maintenant poser ma compréhension de chacun des outils:Comprendre R-Hive, Elastic MapReduce, RHIPE et l'extraction de texte Distrubted avec R

1) Texte R boîte à outils d'extraction: Hive Conçu pour le traitement de texte local (côté client) et il utilise la bibliothèque XML

2) fournit le cadre pour appeler map/reduce et fournit également l'interface DFS pour stocker les fichiers sur le DFS.

3) RHIPE: R Hadoop environnement intégré

4) Elastic MapReduce avec R: un cadre MapReduce pour ceux qui ne possèdent pas leurs propres groupes

5) Text Mining dans R: Une tentative de faire sous forme de mouvement sans faille traitement côté local du serveur, de R-tm à R-distribué-tm

J'ai les questions et les confusions suivantes sur les forfaits ci-dessus

1) ruche et RHIPE et le texte distribué mi ning toolbox a besoin de vos propres clusters. Droite?

2) Si j'ai juste un ordinateur comment serait DFS travailler en cas de HIVE

3) Sommes-nous face au problème de la duplication des efforts avec les paquets ci-dessus?

J'espère obtenir un aperçu sur les questions ci-dessus dans les prochains jours

Répondre

0

Je ne suis pas au courant de l'extraction de texte distribué avec l'application R, mais Hive peut fonctionner sur un cluster local ou sur un simple cluster de nœuds. Cela peut être fait pour expérimenter ou dans la pratique, mais cela va à l'encontre du but d'avoir un système de fichiers distribué pour un travail sérieux. En ce qui concerne la duplication des efforts, Hive est censé être une implémentation SQL complète au-dessus de Hadoop, donc il y a duplication dans la mesure où SQL et R peuvent tous deux travailler avec des données texte, mais pas autant que les deux sont des outils spécifiques avec des forces différentes.

2

(1) Well Hive et Rhipe n'ont pas besoin de cluster, vous pouvez les exécuter sur un cluster à un seul nœud. RHipe est fondamentalement un framework (en langage R un paquet) qui intègre R et Hadoop et vous pouvez tirer parti de la puissance de R sur Hadoop. Pour utiliser Rhipe, vous n'avez pas besoin d'un cluster, vous pouvez exécuter l'une ou l'autre manière, c'est-à-dire en mode cluster ou en mode pseudo. Même si vous avez un cluster Hadoop de plus de 2 nœuds, vous pouvez toujours utiliser Rhipe en mode local en spécifiant la propriété mapered.job.tracker = 'local'.

Vous pouvez aller sur mon site (recherche) « Bangalore R groupes d'utilisateurs » et vous pouvez voir comment j'ai essayé de résoudre les problèmes à l'aide Rhipe, j'espère que vous pouvez avoir une idée juste

(2) Bien par Hive signifie que vous voulez dire paquet de ruche dans R? puisque ce paquet est quelque peu trompeur avec Hive (hadoop dataware house). Le paquet de ruche dans R est semblable à Rhipe seulement avec quelques fonctionnalités additionnelles (je n'ai pas complètement traversé) .. Le paquet de ruche quand j'ai vu je pensais qu'ils ont intégré R avec Hive, mais après avoir vu la fonctionnalité c'était pas comme dat.

Well Hadoop Data Warehouse qui est HIVE, est fondamentalement si vous êtes intéressé par un sous-ensemble de résultats qui devraient passer par un sous-ensemble de données, ce que vous faites normalement en utilisant des requêtes SQL. Les requêtes dans HIVE sont également très similaires aux requêtes SQL. Pour vous donner un exemple très simple: disons que vous avez 1 To de données de stock pour divers stocks pour les 10 dernières années. Maintenant, la première chose que vous ferez est que vous allez stocker sur HDFS et ensuite vous créerez une table HIVE au-dessus. C'est ça ... Maintenant, lancez la requête que vous souhaitez. Vous pouvez également effectuer une calculatiion complexe, par exemple trouver une moyenne mobile simple (SMA), dans ce cas, vous pouvez écrire votre UDF (fonction userr définie). En outre, vous pouvez également utiliser UDTF (fonction de création de table définie par l'utilisateur)

(3) Si vous avez un système, cela signifie que vous exécutez Hadoop en mode pseudo. De plus, vous ne devez pas vous inquiéter si Hadoop fonctionne en mode pseudo ou en mode cluster, car Hive doit être installé uniquement sur NameNode, pas sur les nœuds de données. Une fois la configuration effectuée, ruche prendra soin de soumettre le travail sur cluster. Contrairement à Hive, vous devez installer R et Rhipe sur tous les nœuds de données, y compris NameNode. Mais à tout moment, si vous voulez exécuter le travail uniquement dans NameNode, vous pouvez faire ce que j'ai mentionné ci-dessus.

(4) Une autre chose Rhipe est destiné uniquement aux travaux par lots, ce qui signifie que le travail MR s'exécutera sur l'ensemble des données tandis que Hive vous pouvez exécuter sur un sous-ensemble de données.

(5) Je voudrais comprendre ce que vous faites exactement dans l'exploration de texte, essayez-vous de faire des choses comme la reconnaissance d'entité de nom en utilisant HMM (Hidden Markov Models), CRF (Condition Random fields), vecteurs de caractéristiques ou SVM (Support Vector machines). Ou vous simple en essayant de faire le regroupement de document, l'indexation etc. Eh bien il y a des paquets comme tm, openNLP, HMM, SVM etc.

Questions connexes