У вашей задачи есть несколько неизвестных опций.
Какая ожидаемая общая загрузка? 10 тем x 800 сообщений x 1 КБ текста в час не требует каких-либо конкретных вещей, и вы можете простоиспользуйте что-то простое, например, приложение Spring Boot или приложение Go.Вы говорите о стеке BigData, и я предполагаю, что у вас будет много тем.
У стека больших данных, как у Cloudera, есть по крайней мере два хороших инструмента для обработки потокового вещания высокого уровня: Kafka и Spark Streaming.Kafka - это брокер сообщений, который может справиться с действительно высокой нагрузкой с поддержкой репликации, высокой доступности и т. Д. Spark Streaming - это среда, которая позволяет обрабатывать данные на лету.Особенно, если у вас сложная логика обработки.
Что касается небольших файлов , это действительно зависит от вашего случая.Почему и как вам нужно их хранить?
Вы можете просто не хранить эти файлы в HDFS и помещать уже декодированные данные в HBase (или другую БД, как хотите).HBase будет иметь дело с файлами и регионами самостоятельно.
Если вы хотите сохранить эти незакодированные файлы в качестве некоего основного набора необработанных данных, вы можете поместить файлы во временное хранилище, сжать несколько файлов в большое и записать большой в HDFS.,Существует множество вариантов сделать это с Kafka, Spark Streaming или другим подобным фреймворком.
Кроме того, существует множество различных потоковых фреймворков, таких как Apache Storm, Apache Flink, Apache Beamили Кафки ручьи.У каждого из них есть свои плюсы и минусы.