Тот, у кого в руке молоток, во всём видит гвоздь! Глупо? А что если это не молоток, а универсальный инструмент, который может быть и бензопилой, и пылесосом и зубной щёткой?
В мире Big Data есть Hadoop и целый зоопарк инструментов, которые на него пашут и каждый заточен под что-то своё, а ещё там недавно появился Spark, который можно применять для любых целей. Если вы хотите писать в Hadoop с различных БД, стримить всякие источники в реальном времени, параллельно делать с данными какую-нибудь сложную обработку и не при помощи каких-то батчей, скриптов и sql запросов, а при помощи мощного функционального языка – добро пожаловать в Spark!
Данный тренинг познакомит вас с основными компонентами экосистемы Hadoop, а также раскроет перед вами возможности Spark-а. Вы узнаете как он работает, какие задачи он способен выполнять, как им правильно пользоваться. Мы обсудим проблемы и решения, с которыми поначалу сталкиваются неопытные Spark разработчики. Разберемся с его синтаксисом и всякими хитростями, а главное я покажу как можно писать под Spark на Java при помощи известных вам фреймворков, инструментов и концепций. Spring, Maven/Gradle, Junit никуда не уходят, наоборот, вы увидите, что они могут помочь сделать ваше Spark приложение более элегантным, читабельным и привычным.
Будет много заданий, live coding-а и, в конечном итоге, вы выйдете с этого тренинга с достаточными знаниями, чтобы начать самостоятельно работать на Spark-e в привычном мире Java.
Детальная программа:
- Введение в мир Big Data
- Data locality
- Map reduce
- Проблема старых имплементаций, новый подход
- Имплементации Hadoop
- Cloudera
- Hadoop и его зоопарк инструментов
- HDFS
- HBase
- YARN
- Hue
- Sqoop
- Flume
- Hive
- Impala
- Oozie
- Введение в Scala
- Singleton objects
- Функциональное программирование
- Анонимные параметры
- Tuples
- Pattern matching
- Spring
- Ознакомление со всеми модулями (Core, AOP, Rest, MVC)
- Когда надо писать свои BeanPostProcessor-ы
- Как работать больше чем с одним контекстом
- Как настраивать бины, если часть нужной им информации приходит через аргументы main
- Spark
- Ознакомление с основными модулями Spark
- Как Spark работает в кластерном режиме
- Spark Submit
- Spark API
- Scala против Java
- Использование Spring в работе со Spark
- Модульные тесты для Spark
- От REST сервиса до Spark (написание цельного приложение)