Мне жаль, что я не очень хорошо понял HBase и Hadoop MapReduce, но я думаю, что вы можете помочь мне найти способ их использования, или, может быть, вы могли бы предложить необходимые мне фреймворки.
Часть I
Есть 1-й поток записей, которые я должен где-то хранить.Они должны быть доступны для некоторых клавиш в зависимости от них.Несколько записей могут иметь один и тот же ключ.Их довольно много.Я должен удалить старые записи по таймауту.
Есть также 2-й поток записей, который тоже очень интенсивный.Для каждой записи (аргумент-запись) мне нужно: получить все записи 1-го strem с ключом записи-аргумента, найти первую соответствующую запись, удалить ее из хранилища 1-го потока, вернуть результат ( res1 ) слияния этих двух записей.
Часть II
3-й поток записей похож на 1-й.Записи должны быть доступны по ключам (отличаются от описанных в части I).Несколько записей, как обычно, будут иметь один и тот же ключ.Их не так много, как в 1-м потоке.Я должен удалить старые записи по таймауту.
Для каждого res1 (аргумент-запись) я должен: получить все записи из 3-го strem с другим ключом этой записи, map эти записи, имеющие res1 в качестве параметра, уменьшают в результате.Записи 3-го потока должны оставаться неизмененными в хранилище.
Предпочтительно, чтобы записи с одинаковым ключом хранились на одном и том же узле, а процедуры, которые получают записи по ключу и выполняют некоторые действия на основе заданного аргументаРекорд предпочтительнее запускать на узле, где эти записи.
Применимы ли HBase и Hadoop MapReduce в моем случае?И как должно выглядеть такое приложение (базовая идея)?Если ответ «нет», существуют ли рамки для разработки такого приложения?
Пожалуйста, задавайте вопросы, если вы не можете получить то, что я хочу.