Как сделать R tm corpus из 100 миллионов твитов?
Я хочу создать текстовый корпус из 100 миллионов твитов, используя пакет Rs распределенных вычислений tm (называемый tm.plugin.dc). Твиты хранятся в большой таблице MySQL на моем ноутбуке. Мой ноутбук устарел, поэтому я использую кластер Hadoop, который я установил на Amazon EC2.
Документация tm.plugin.dc из CRAN говорит, что в настоящее время поддерживается только DirSource. Документация, похоже, предполагает, что DirSource допускает только один документ для каждого файла. Мне нужен корпус для обработки каждого твита в качестве документа. У меня 100 миллионов твитов - это значит, что мне нужно сделать 100 миллионов файлов на моем старом ноутбуке? Это кажется чрезмерным. Есть ли лучший способ?
Что я пробовал до сих пор:
-
Сделать дамп файла таблицы MySQL как единый (массивный).sql файл. Загрузите файл на S3. Перенесите файл из S3 в кластер. Импортируйте файл в Hive с помощью инструмента Clouderas Sqoop. Что теперь? Я не могу понять, как заставить DirSource работать с Hive.
-
Сделайте каждый твит XML файл на моем ноутбуке. Но как? Мой компьютер старый и не может сделать это хорошо.... Если бы я мог пройти мимо этого, я бы: Загрузил все 100 миллионов XML файлов в папку в Amazons S3. Скопируйте папку S3 в кластер Hadoop. Point DirSource в папку.
Ответы
Ответ 1
не было бы проще и разумнее сделать огромный файл HDFS со 100 миллионами твитов, а затем обработать их стандартным пакетом R ' tm?
Этот подход мне кажется более естественным, поскольку HDFS разрабатывается для больших файлов и распределенной среды, а R - отличный аналитический инструмент, но без parallelism (или ограниченного). Ваш подход похож на использование инструментов для чего-то, что они не были разработаны для...
Ответ 2
Я бы настоятельно рекомендовал проверить этот url http://www.quora.com/How-can-R-and-Hadoop-be-used-together. Это даст вам необходимую информацию о вашей проблеме.
Ответ 3
Пакет TM в основном работает с термином и моделью документа. Он создает матрицу терминов документов или матрицу документов. Эта матрица содержит такие функции, как термин (слово) и его частоту в документе. Поскольку вы хотите выполнить анализ данных twitter, вы должны иметь каждый твит в качестве документа, а затем вы можете создать TDM или DTM. И может выполнять различные анализы, такие как поиск ассоциаций, поиск частот или кластеризация или вычисление меры TDF-IDF и т.д.
Вам нужно собрать корпус источника каталогов. Поэтому вам нужно иметь базовый каталог, который содержит отдельные документы, которые являются твитом.
В зависимости от используемой ОС Что бы я сделал, если бы окна создавали .bat файл или простой javascript или java-код для чтения строк MySQL для файла твитов и FTP - это каталог, присутствующий в локальной файловой системе Hadoop Box.
После того, как файлы были FTP, мы можем скопировать каталог в HDFS, используя Hadoop Copy From Local Command.