Я также рекомендую вам рассмотреть Spark, сейчас работа с большими данными в основном на нём.
Насчёт:
Начать нужно с самостоятельной реализации MapReduce без сторонних библиотек.
MapReduce довольно простая концепция, базовая реализация не покажет вам ещё ворох проблем реальной жизни. Сложнее это всё правильно готовить.
Лучше, на мой взгляд, взять готовый инструмент и поиграться, попробовать как разные действия влияют на результат.
Если говорить о Spark, есть интерактивная консоль zeppelin.apache.org. Для того чтобы поиграться — супер. Находим большой датасет и крутим-вертим его. Плюс Spark использует тот же MapReduce, но с некоторыми улучшениями.
У Spark неплохая документация, после нее ещё очень крутая книга: High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark.
Также рекомендую посмотреть Cassandra. Особенно с подходом который для неё используется. Он довольно простой и интересный.
Kafka или RabbitMQ или другой брокер сообщений — must have. То же самое, теория, как устроены, зачем. Как учить: Habr, документация, практика.
Насчёт:
MapReduce довольно простая концепция, базовая реализация не покажет вам ещё ворох проблем реальной жизни. Сложнее это всё правильно готовить.
Лучше, на мой взгляд, взять готовый инструмент и поиграться, попробовать как разные действия влияют на результат.
Если говорить о Spark, есть интерактивная консоль zeppelin.apache.org. Для того чтобы поиграться — супер. Находим большой датасет и крутим-вертим его. Плюс Spark использует тот же MapReduce, но с некоторыми улучшениями.
У Spark неплохая документация, после нее ещё очень крутая книга: High Performance Spark: Best Practices for Scaling and Optimizing Apache Spark.
Также рекомендую посмотреть Cassandra. Особенно с подходом который для неё используется. Он довольно простой и интересный.
Kafka или RabbitMQ или другой брокер сообщений — must have. То же самое, теория, как устроены, зачем. Как учить: Habr, документация, практика.