Тренинг Погружение в Apache Spark

О чем тренинг?

Spark уже несколько лет является основным рабочим инструментом любого, кто имеет дело с обработкой и хранением больших данных. Однако, зачастую, наспех собранные решения не работают должным образом, многообразие настроек и режимов останавливает Java — разработчика на пути освоения сложной и многоликой экосистемы Spark/Hadoop.

Разработчики продолжают выжимать последние проценты скорости из своей любимой СУБД, хотя путь к построению отчетов над большими корпусами данных уже давно известен.

Если вы Java — разработчик, хотя бы раз взглянувший в сторону Scala, то вам будет комфортно и интересно работать со Spark, написанном на Scala.

Впрочем, со Spark можно работать и используя Java 8. Все Spark-приложения выполняются на JVM, вам пригодится ваш опыт настройки сборщиков мусора и размеров поколений в динамической памяти.

Приступая к построению процессов обработки больших данных, важно понимать, какие компоненты Spark стоит использовать уже сейчас; как корректно настроить окружение и построить свой процесс ETL.

В ходе тренинга будет много взаимодействия с участниками, live coding-а, мы решим несколько практических задач трансформации и анализа данных, поработаем с самой свежей версией Spark, обсудим вопросы анализа и повышения производительности полученных решений.

Подробное описание тем

1. BigData Intro

    • Когда данные уже “большие”?
    • NoSQL vs RBDMS
    • Экосистема Hadoop
    • HDFS
    • Hadoop
    • MapReduce
    • Форматы файлов (Sequence Files, ORC, Parquet)

2. Spark Core

    • Почему стоит использовать Spark?
    • Введение в Scala
    • Старые-добрые RDD
    • Actions/Transformations
    • Кэширование в Spark

    Практическое задание 1.

3. Spark в проде

    • Сборка приложений при помощи Sbt
    • Развертывание приложений в кластере
    • Архитектура Spark-приложений
    • Обеспечение устойчивости к сбоям (Fault Tolerance)
    • Исполнение на стороне клиента и в кластере (Driver/Executor)
    • Spark Standalone кластер
    • Мониторинг Spark-приложений
    • Apache Zeppelin

4. SparkSQL и DataFrames

    • Квадратно-гнездовые DataFrames
    • Чтение из CSV, запись в Parquet
    • SQL:2003 для вашего Spark-кластера
    • Использование SparkSQL вместе с Hive
    • DataFrame API vs DataSet API
    • Когда стоит использовать DataSet?

    Практическое задание 2.

5. Как все устроено в Spark?

    • Построение плана запросов
    • Оптимизатор Catalyst
    • Сокращение объема данных, передаваемых по сети
    • Проект Tungsten (мощь Off-Heap и кодогенерация)
    • Управление памятью в Spark
    • Сериализация
    • Тюним Spark-приложение
Алексей Зиновьев 

Тренер по Java/BigData в компании EPAM, с Hadoop/Spark и прочей бигдатой дружит с 2012 года, форкается и пуллреквестит с 2014, рассказывает с 2015. Особенно любит текстовые данные и большие графы. Несет бигдату в массы в группе https://vk.com/big_data_russia

Более подробная информация о тренере и видеозаписи выступлений:

http://2017.jpoint.ru/talks/handling-with-spark-what-kafka-is-streaming/

http://2015.jpoint.ru/talks/zinoviev/

https://goo.gl/s1PaZG

 

Продолжительность: 5 часов (3 часа лекций + 2 часа практики)

Необходимые знания:

  • Базовые знания Linux (примеры можно запускать на Windows/Linux/MacOS),
  • Уверенные знания Java(или C#) и SQL,
  • Знакомство с Hadoop будет плюсом.

Целевая аудитория тренинга — это разработчики, которые интересуются современными технолгиями BigData. Желателен опыт написания бекендов на Java или C#, для успешного усвоения знаний мастер-класса.

Цена участия:

До 20 сентября — 8000 руб. 

После 20 сентября цена может быть повышена.

Когда?

В 14:00 12 октября 2017 года.

Что нужно иметь на тренинге?

  • ноутбук с 8 GB RAM(OS Windows, Linux или MacOS)
  • IntelliJ IDEA (https://www.jetbrains.com/idea/download)
  • Scala + Sbt plugins для IDEA

Материал по подготовке будет выслан дополнительно.

Место проведения:

Ярославль, Октябрьский переулок, 3

Офис компании “Аквелон” 3 этаж, комната 305.

Конференция Yappi Days 17