Как решить задачу в Redis?

Всем доброго времени суток,

Имеется 1,500,000 файлов (от 1кб до 12мб) выгрузки из твиттера, каждый файл это 1 уникальный пользователь, в файле содержатся все посты и ответы пользователя, например:

onStatus @,@ 691006201815957505 @,@ Sun Jan 24 10:14:51 NZDT 2016 @,@ @TerryBrunk how did you like New Zealand when you came with WWA?
onStatus @,@ 693916127768895489 @,@ Mon Feb 01 10:57:51 NZDT 2016 @,@ Would be a damn tragedy if the 7s left Wellington. https://t.co/CLiEC0wd0b
onStatus @,@ 694245265356623872 @,@ Tue Feb 02 08:45:44 NZDT 2016 @,@ New Zealand plagued by 'vampire' attacks - Unexplained Mysteries https://t.co/2htQ3THvSG
onReply to ~|695570687893860352 from ~|SailishWilbur @,@ 695571616252633088 @,@ Sat Feb 06 00:36:11 NZDT 2016 @,@ @SailishWilbur Aus vs NZ one dayer at Westpac tomorrow
onStatus @,@ 697156769605410817 @,@ Wed Feb 10 09:35:01 NZDT 2016 @,@ I liked a @YouTube video https://t.co/4dCuEjVrFR NRL Auckland Nines 2016 Game 13: Warriors vs Sea Eagles Highlights
onStatus @,@ 705281163208867840 @,@ Thu Mar 03 19:38:27 NZDT 2016 @,@ Brian Jonestown Massacre LIVE in Wellington NZ, 2015.: https://t.co/twT1cVoIOM via @YouTube

Нужно занести данные по каждому пользователю в БД Redis и затем решить 5 задач:

1. Определить 5 самых активных пользователей по количеству постов

2. Определить самый популярный день (по самому большому количеству постов) в определенный промежуток времени, например с 11 февраля 2016 по 23 марта 2016

3. 5 самых популярных хэштэгов в постах среди 5 самых популярных пользователей которые имеют наибольшее количество комментариев.

4. Определить 5 самых быстрых пользователей и с самым большим количеством постов. Т.е. сначала нужно определить 5 пользователей с самым большим количеством постов и затем определить среднее время между каждым постом, дабы определить кто из них более шустрый по постингу нового твита.

5. Определить "срок жизни" 5 самых популярных хэштегов, т.е. до момента когда он был последний раз использован и в каком количестве.

Если кто-то может подсказать хотя бы как правильно организовать структуру БД для данных задач, буду очень благодарен, а если еще и псевдокод по каким-либо из изложенных выше задач будет предоставлен тогда буду вообще прыгать от счастья :)

Всем большое спасибо за внимание.
  • Вопрос задан
  • 390 просмотров
Пригласить эксперта
Ответы на вопрос 3
@protven
А зачем тут вообще Редис ? Запихайте все это дело в HDFS и фигачьте по нему Spark'ом. Задача как раз под него.
Ответ написан
Комментировать
@dmtrrr
Backend developer
В процессе обработки файлов заводишь в редисе необходимые счетчики. Задача, как мне кажется, не в использовании редис, а в параллельной обработке большего кол-ва файлов.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
а нахрена в редис это все?
как то он не реляционная бд
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы