DevDays Moscow 2022 

Арсений Ташоян
Должность: Инженер Big Data и ML

Компания: Swisscom

Страна: Швейцария

Биография

Арсений Ташоян работает в подразделении Data Lake компании Swisscom. Он участвует в создании real-time решений, которые позволяют Swisscom проводить умные маркетинговые кампании, предупреждать отток клиентов, находить и валидировать новые модели бизнеса. В работе он использует такие технологии, как Apache Spark, Apache Flink, Apache Kafka и Kubernetes. Кроме того, Арсений ведёт онлайн-лекции для студентов Московского Физико-Технического Института. До Swisscom Арсений работал в Hewlett Packard Enterprise над продуктами в сфере Big Data / ML. Он также был лидером команды, отвечавшей за автоматизацию тестирования комплексных решений для телекоммуникационных операторов.

Мастер-класс

Потоковая Обработка Данных с Apache Spark (Streaming data processing with Apache Spark)

В этом мастер-классе мы научимся решать проблемы, связанные с data stream processing. Мы начнём с основ потоковой обработки. Затем мы познакомимся с Apache Structured Streaming и реализуем несколько простых приложений. По ходу работы мы реализуем несколько бизнес-кейсов из области онлайн-ритейла.

Будет много практики: будем править код, собирать, запускать на кластере. Скучать будет некогда!

Содержание
  • Потоковая обработка данных гораздо сложнее, чем обычная batch-обработка. На то есть несколько причин:
    • Приложение потоковой обработки работает всегда: 24×7. Такое приложение радикально отличается от batch-обработки, имеющей определённые моменты начала и завершения работы.
    • Как происходит восстановление после аварии? Batch-приложение мы можем просто запустить заново, после того, как устранили проблему. Но как перезапустить приложение, которое вообще не должно останавливаться?
    • Что делать со skewed data? Мы знаем различные методики, которые позволяют бороться с проблемой неравномерного распределения данных. Эти методики требуют определённых предварительных знаний о массиве данных. Но потоковая обработка имеет дело с бесконечным массивом данных, который поступает непрерывно.
    • Важны не только данные, но и их временные характеристики. Например, нам важны моменты времени транзакций или порядок транзакций. Более сложная бизнес-логика — труднее реализовать, труднее протестировать.
    • добавить новое поле или изменить семантику существующего поля. Но наше приложение должно работать 24×7 — и при этом обеспечивать совместимость.

    Мы затронем следующие аспекты:

    • агрегация по временным окнам
    • watermarks
    • интеграция с другими системами с помощью Apache Kafka
    • популярные форматы данных

    восстановление после аварии

Целевая аудитория

Инженеры в области Big Data и Machine Learning, разработчики решений для распределённой обработки данных.

Требуемые знания:

  • Experience with Java or Scala
  • Experience with Bash scripting

Basic knowledge of Apache Spark DataFrame API

Технические требования

Требования к компьютеру:

  • ноутбук 16 GB RAM, 4 CPU cores
  • кабель питания для ноутбука

Необходимое ПО:

  • Bash terminal
  • Linux or Mac: just terminal
  • Windows: either GitBash or Windows Subsystem for Linux (WSL)
  • Git command-line client
  • JDK 8 or 11
  • Maven
  • IntelliJ IDEA (or your preferred IDE)

Web browser

« Назад