Big Data Moscow 2018

 

Сергей Жемжицкий

CleverDATA, Россия

Биография

Более 13 лет в ИТ. Технический директор, инженер, эксперт в области построения платформ обработки данных, высоконагруженных систем и интеграции.
Имеет значительный опыт работы в инвестиционных банках (Тройка Диалог/Сбербарк CIB).
В CleverDATA отвечает за технологическое развитие программных продуктов 1DMP и 1DMC.
Можно встретить на конференциях, webinar-ах, meetup-ах по построению платформ обработки данных в качестве докладчика.

Доклад

Обмани меня… Разрушаем мифы о Spark-аккумуляторах

На сегодняшний день техники оптимизации обработки данных весьма хорошо известны и понятны. Вот некоторые из них:
1) Вертикальное или горизонтальное масштабирование инфраструктуры путем добавления большего количества серверов, RAM, CPU, GPU, увеличение пропускной способности сети – другими словами, оптимизация методом грубой силы
2) Чтение только тех данных, которые необходимо прочитать, минимизируя дисковый IO, например,
– путем организации данных в соотвествии с паттерном доступа к ним, например, используя шардинг, партиционирование, бакетирование и т.д. или
– путем использования колоночных форматов хранения данных, таких как Parquet и ORC
3) Минимизация сетевого IO
– путем предотвращения ненужных, партиционируя различные наборы данных заранее и одинаковым образом (co-partitioning)
В условиях недостаточного количества вычислительных ресурсов, различные хитрости по оптимизации процессов обработки данных могут стать особенно актуальны.
Например, Spark аккумуляторы, которые зачастую используются при построении конвейеров обработки данных, как самим Spark-ом, так и его пользователями, неплохо подходят для сбора и подсчета метрик.
Однако, гарантии, обеспечиваемые этими аккумуляторами, весьма слабы, ведь официальная документация утверждает, что лишь изменения, выполненные в Spark action-ах будут применены единожды, в то время как, изменения в трансформациях могут применяться более одного раза, тем самым побуждая пользователя обрабатывать один и тот же набор данных минимум дважды, в случае необходимости получения гарантированно-точных показателей.
Мы с вами попробуем разобраться можно ли использовать Spark аккумуляторы для подсчета и сбора метрик гарантированно единожды, в качестве side-effect-а основного процесса обработки данных, тем самым сократив объемы обрабатываемых данных и время выполнения задач в некоторых случаях более чем в 2-а раза, а также с тем, действительно ли верны утверждения документации Spark и, если нет, то в каких случаях.

Дата: 11 октября, 2018