Если вы думаете, что работа с Hadoop — кластером это написание MapReduce Job или SQL‑подобных запросов на Hive, вы заблуждаетесь. Такой подход вкупе с недоиспользованием мощи JVM ведет к деградации разработки и стрельбе в воздух пачками денег.
Итак, надеваем пробковый шлем, ставим прививку от высокомерия и идем рубить лианы неоптимальных решений.
Мы посмотрим как выглядит укрощение дикого Hadoop-решения, состряпанного на коленке; обсудим границы применимости лямбд и стримов; подумаем, как можно выиграть лишние терабайты на правильно выбранной реализации JOIN; обратимся к логам GC, полным мудрости и ненужной инфы; получим власть над перенаправлением данных на разные редьюсеры.
Хорошо, а если серьезно, то в лекции будут просверлены следующие вещи:
- Демоны Hadoop и HDFS как типичные Java‑приложения;
- Особенности Java API;
- Контейниризация по — Hadoop-вски;
- Границы кастомизации в Hadoop;
- Разные подходы к реализации JOIN;
- Ориентированный ациклический граф MR-задач;
- Места в решении, которые стоит оптимизировать в первую очередь;
- Настройки JVM, которые вам действительно нужны;
- Разработка, отладка и тестирование.
Этот доклад для тех, кто уже в курсе всей нервотрепки с BigData, имеет некоторый опыт с Hadoop, но хочет познать все его возможности.
Алексей Зиновьев, EPAM
Java/BigData — тренер в EPAM, вольный специалист по машинному обучению.