Это очень широкий вопрос, поэтому на него сложно ответить. Вот некоторые вещи для рассмотрения:
Где вы собираетесь получить данные? Вы упомянули твиттер, но вам все равно придется каким-то образом собирать данные. Вероятно, есть библиотеки для прослушивания потоков Twitter, или вы можете купить данные, если кто-то их продает.
Где вы собираетесь хранить данные? В зависимости от того, сколько у вас будет, и что вы планируете делать с ней, традиционная реляционная база данных может подходить, а может и не подходить. Возможно, вам будет лучше с чем-то, что поддерживает запуск заданий mapreduce «из коробки».
Исходя из ответов на эти вопросы, выбор языков программирования и библиотек будет легче сделать.
Если вы действительно настроены на Java, то я думаю, что кластер Hadoop - это, вероятно, то, с чего вы хотите начать. Он поддерживает написание заданий mapreduce на Java и работает как эффективная платформа для других систем, таких как HBase , хранилище данных, ориентированное на столбцы.
Если ваши данные будут достаточно регулярными (то есть, не будет большого различия в структуре от одной записи к следующей), возможно, Hive будет более подходящим. С Hive вы можете писать SQL-подобные запросы, используя в качестве входных данных только файлы данных. Я никогда не использовал Mahout , но я понимаю, что его возможности машинного обучения подходят для задач интеллектуального анализа данных.
Это всего лишь некоторые идеи, которые приходят на ум. Существует множество вариантов, и выбор между ними зависит от конкретной проблемы, которую вы пытаетесь решить, и от ваших личных вкусов, как от всего остального.