Как сделать R tm corpus из 100 миллионов твитов? - программирование

Как сделать 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 в папку.

4b9b3361

Ответ 1

не было бы проще и разумнее сделать огромный файл HDFS со 100 миллионами твитов, а затем обработать их стандартным пакетом R ' tm?

Этот подход мне кажется более естественным, поскольку HDFS разрабатывается для больших файлов и распределенной среды, а R - отличный аналитический инструмент, но без parallelism (или ограниченного). Ваш подход похож на использование инструментов для чего-то, что они не были разработаны для...

Ответ 3

Пакет TM в основном работает с термином и моделью документа. Он создает матрицу терминов документов или матрицу документов. Эта матрица содержит такие функции, как термин (слово) и его частоту в документе. Поскольку вы хотите выполнить анализ данных twitter, вы должны иметь каждый твит в качестве документа, а затем вы можете создать TDM или DTM. И может выполнять различные анализы, такие как поиск ассоциаций, поиск частот или кластеризация или вычисление меры TDF-IDF и т.д.

Вам нужно собрать корпус источника каталогов. Поэтому вам нужно иметь базовый каталог, который содержит отдельные документы, которые являются твитом.

В зависимости от используемой ОС Что бы я сделал, если бы окна создавали .bat файл или простой javascript или java-код для чтения строк MySQL для файла твитов и FTP - это каталог, присутствующий в локальной файловой системе Hadoop Box.

После того, как файлы были FTP, мы можем скопировать каталог в HDFS, используя Hadoop Copy From Local Command.