Осмысление R-Hive, Elastic MapReduce, RHIPE и интеллектуального анализа текста с помощью R - PullRequest
4 голосов
/ 23 октября 2010

Узнав о MapReduce для решения проблемы компьютерного зрения во время моей недавней стажировки в Google, я почувствовал себя просветленным человеком. Я уже использовал R для интеллектуального анализа текста. Я хотел использовать R для крупномасштабной обработки текста и для экспериментов с тематическим моделированием. Я начал читать учебники и работать над некоторыми из них. Теперь я изложу свое понимание каждого из инструментов:

1) Набор инструментов интеллектуального анализа текста R: предназначен для локальной (на стороне клиента) обработки текста и использует библиотеку XML

2) Hive: Интерактивный Hadoop, предоставляет платформу для отображения / сокращения вызовов, а также предоставляет интерфейс DFS для хранения файлов в DFS.

3) RHIPE: R Hadoop интегрированная среда

4) Elastic MapReduce с R: инфраструктура MapReduce для тех, у кого нет собственных кластеров

5) Распределенное копирование текста с использованием R: попытка сделать плавное перемещение формы локально для обработки на стороне сервера, от R-tm до R-distrib-tm

У меня есть следующие вопросы и путаница по поводу вышеуказанных пакетов

1) Hive и RHIPE и набор инструментов для распределенного анализа текста требуют наличия собственных кластеров. Правильно?

2) Если у меня есть только один компьютер, как будет работать DFS в случае ВИЧ-инфекции

3) Не сталкиваемся ли мы с проблемой дублирования усилий с вышеуказанными пакетами?

Я надеюсь получить ответы на вышеуказанные вопросы в ближайшие несколько дней

Ответы [ 2 ]

2 голосов
/ 02 ноября 2011

(1) Ну, Hive и Rhipe кластер не нужны, их можно запускать на кластере с одним узлом. По сути, RHipe - это фреймворк (на языке R - пакет), который интегрирует R и Hadoop, и вы можете использовать возможности R в Hadoop. Для использования Rhipe вам не нужно иметь кластер, вы можете работать любым способом, то есть либо в режиме кластера, либо в псевдо режиме. Даже если у вас кластер Hadoop из более чем 2 узлов, вы все равно можете использовать Rhipe в локальном режиме, указав свойство mapered.job.tracker = 'local'.

Вы можете перейти на мой сайт (поиск) "Группы пользователей Bangalore R", и вы увидите, как я пытался решить проблемы с помощью Rhipe, я надеюсь, что вы сможете получить честную идею

(2) Хорошо, под Hive вы подразумеваете пакет улья в R? поскольку этот пакет несколько вводит в заблуждение с Hive (хранилище данных Hadoop).

Пакет Hive в R похож на Rhipe только с некоторыми дополнительными функциями (я не прошел полностью). Пакет Hive, когда я увидел, думал, что они интегрировали R с Hive, но после просмотра функциональности это было не так как дата.

Хорошо, хранилище данных Hadoop, которое является HIVE, в основном, если вы заинтересованы в некотором подмножестве результатов, которые должны проходить через подмножество данных, что вы обычно делаете с помощью SQL-запросов. Запросы в HIVE также очень похожи на запросы SQL. Приведу очень простой пример: допустим, у вас есть 1 ТБ данных по акциям для различных акций за последние 10 лет. Теперь первое, что вы сделаете, вы сохраните в HDFS, а затем создадите таблицу HIVE поверх нее. Вот так ... Теперь запустите любой запрос, который вы хотите. Вы также можете захотеть сделать несколько сложных вычислений, например, найти простое скользящее среднее (SMA), в этом случае вы можете написать свой UDF (пользовательская функция). Помимо этого вы также можете использовать UDTF (пользовательская функция генерации таблиц)

(3) Если у вас есть одна система, это означает, что вы запускаете Hadoop в псевдо-режиме. Более того, вам не нужно беспокоиться о том, работает ли Hadoop в псевдо-режиме или в режиме кластера, поскольку Hive необходимо устанавливать только на NameNode, а не на узлах данных. Как только правильная конфигурация будет выполнена, куст будет заботиться о передаче работы в кластере. В отличие от Hive, вам нужно установить R и Rhipe на всех узлах данных, включая NameNode. Но затем, в любой момент времени, если вы хотите запустить задание только в NameNode, вы можете сделать, как я упоминал выше.

(4) Еще одна вещь, Rhipe предназначена только для пакетных заданий, это означает, что задание MR будет выполняться на всем наборе данных, в то время как Hive вы можете запускать на подмножестве данных.

(5) Я хотел бы понять, что именно вы делаете в интеллектуальном анализе текста, пытаетесь ли вы сделать что-то вроде короля НЛП, таких как распознавание имен, используя HMM (скрытые марковские модели), CRF (условные случайные поля), функцию векторы или SVM (опорные векторные машины). Или вы просто пытаетесь сделать кластеризацию документов, индексацию и т. Д. Ну, есть пакеты, такие как тм, openNLP, HMM, SVM и т. Д.

0 голосов
/ 29 октября 2010

Я не знаком с распределенным анализом текста с помощью приложения R, но Hive может работать в локальном кластере или в кластере с одним узлом.Это может быть сделано для экспериментов или на практике, но не имеет смысла иметь распределенную файловую систему для серьезной работы.Что касается дублирования усилий, Hive предназначен для полной реализации SQL поверх Hadoop, поэтому существует дублирование в той мере, в которой и SQL, и R могут одновременно работать с текстовыми данными, но не настолько, насколько оба являются конкретными инструментамис разными сильными сторонами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...