SlideShare a Scribd company logo
1
Потоковые алгоритмы
в задачах обработки
больших данных
Виктор Евстратов,
data scientist Segmento
2
3
RTB
• Ход аукциона
• Терминология
4
Нагрузка и железо
• 30k RPS (2.5 млрд запросов в день)
• > 250 млн профилей
• > 1 млн сайтов
• Несколько десятков серверов
• Hadoop-кластер
5
Что хотят заказчики
• Показы
• Посещения сайтов
• Хорошие поведенческие характеристики—
большое количество посещённых страниц,
долгие сессии, ...
• Конверсии — покупки, заполнения формы
обратной связи, тест-драйвы,…
6
Данные
• Базовая доступная информация:
OS, браузер, ...
• Прочая информация
Всё, что научимся добывать сами
… или найдем, где купить
7
Потокововые
алгоритмы — что?
Позволяют что-то посчитать
в условиях ограниченной памяти <<
объёма обрабатываемых данных
8
Потокововые
алгоритмы — зачем?
Хотим отслеживать показатели
здоровья системы:
качество прогнозов
характеристики пользовательского трафика
… и другие
9
Потокововые
алгоритмы — зачем?
Хотим отслеживать показатели
здоровья системы:
качество прогнозов
характеристики
пользовательского трафика
… и другие
Хотим прямо сейчас
10
Что будем оценивать?
Медианы и распределения
характеристик трафика
11
12
Распределение
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
150 155 160 165 165 175 180 185
(На самом деле плотность)
190
13
Среднее против медианы
Это среднее
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
150 155 160 165 170 175 180 185 190
14
Среднее против медианы
А это — медиана
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
150 155 160 165 170 175 180
Какая разница?!
185 190
15
Среднее против медианы
Time Bandits (1981, Monty Python)
16
Среднее против медианы
0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
130 140 150 160 170 180 190

17
Мотивирующий пример —
интересы трафика
• Умеем определять интересы пользователей
• Хотим составить портрет ЦА
18
Мотивирующий пример —
интересы трафика
19
Мотивирующий пример —
интересы трафика
20
Интересы
«Спортивные автомобили»: очень интересно
«Бары и рестораны»: интересно
«Детская одежда»: неинтересно
Пётр
21
Интересы
«Спортивные автомобили»: очень интересно, неинтересно
«Бары и рестораны»: интересно, интересно
«Детская одежда»: неинтересно, очень интересно
Василий
22
Интересы
«Спортивные автомобили»: очень интересно, неинтересно
«Бары и рестораны»: интересно, интересно
«Детская одежда»: неинтересно, очень интересно
1.0
0.7
0.0
0.0
0.7
0.9
23
Интересы трафика
• Удобно рассматривать распределение
• Должно выглядеть примерно так
Бары и рестораны
Неинтересно Интересно
24
Интересы трафика
Весь траффик
Бары и рестораныТовары для детей Спортивные авто
25
Интересы трафика
Оставим только хороший траффик —
пользователей, совершивших покупки
26
Интересы трафика
«Хороший» траффик
Бары и рестораныТовары для детей Спортивные авто
27
Что можно получить?
Эффективный тул для визуализации, сравнения,
и анализа предпочтений ЦА
28
Что ещё можно сделать?
• Автоматически
подключать/отключать сегменты
• Исследовать трафик с различных площадок
• ...
29
Алгоритмы
оценки распределения
• С помощью сортировки
• Munro-Paterson
• Khanna-Greenwald
30
Сортировка
Все умеют
Работает точно
Затратна по памяти
+
-
31
Алгоритм
Манро-Патерсона
32
33
Алгоритм
Манро-Патерсона
Требует больше одного прохода
Требует знаний о размере выборки
За разрешённое количество
проходов даёт точное решение
+
-
34
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
0 0
35
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
0 01
36
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
0 01 3
37
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
0 01 2 3
38
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
1 02 2 3
+1
39
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
1 12 2 3
+1
40
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
2 12 2 3
+1
41
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
2 31 2 2
+1
42
Алгоритм
Манро-Патерсона
1, 2, 3, 2, 3, 1, 1, 2, 2
5 ячеек памяти
2 31 2 2
+1
43
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
3 32 2 2
+1
44
Алгоритм
Манро-Патерсона
1, 3, 2, 2, 3, 1, 1, 2, 2
5 ячеек памяти
3 32 2 2
45
46
Алгоритм
Канна-Гринвальда
47
48
Алгоритм
Канна-Гринвальда
• Использует более сложную структуру
данных, хранящую их в
агрегированной форме
• Отфильтровывает значения,
поддерживая заданную точность
49
Алгоритм
Канна-Гринвальда
Неточный, но даёт ответ с заданной погрешностью
Работает за 1 проход
+
-
50
Статьи
Selection and sorting with limited storage, Манро Дж., Патерсон М. (1980) —
://polylogblog.files.wordpress.com/2009/08/80munro-median.pdf
Space-Efficient Online Computation of Quantile Summaries, Канна С.,
Гринвальд М. (2001)
http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf
51
Реализация и железо
Python, Hadoop
HBase, Kafka, Spark
52
Спасибо !

More Related Content

PPTX
Ускоряем исследования с помощью конкурсов как их готовить и выигрывать / Иван...
PPTX
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)
PDF
"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
PDF
Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)
PDF
Александр Куликов — Segmento — ICBDA2016
PPTX
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
PDF
Электронная коммерция: от Hadoop к Spark Scala
PDF
Aлександр Зайцев, LifeStreet
Ускоряем исследования с помощью конкурсов как их готовить и выигрывать / Иван...
Бигдата — как добывать золото из данных / Александр Сербул (1С-Битрикс)
"Облачный сервис персональных рекомендаций для 20 000 магазинов — алгоритмы и...
Функциональное тестирование высоконагруженных проектов / Илья Пастушков (2ГИС)
Александр Куликов — Segmento — ICBDA2016
на пути к 100% аптайму - доклад с HighLoad 2015 совместно с Станиславом Осип...
Электронная коммерция: от Hadoop к Spark Scala
Aлександр Зайцев, LifeStreet

What's hot (20)

PPTX
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
PDF
Не все базы данных одинаково полезны
PDF
Выступление Сергея Аверина, Badoo, на High Performance Conference
PDF
Машинное обучение в электронной коммерции - практика использования и подводны...
PPT
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
PDF
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
PPTX
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
PPTX
BigData Week Moscow 2013 - Case: Personalization
PPTX
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
PDF
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
PDF
Машинное обучение для ваших игр и бизнеса
PPTX
Мастер-класс про организацию службы эксплуатации
PPTX
Мониторинг всех слоев web проекта (hl2015)
PPTX
Monitoring-driven эксплуатация (rootconf2015)
PPTX
Мониторинг качества работы вашего проекта
PDF
Дмитрий Дегтярев, "Хабикаса"
PPTX
NoSQL - взрыв возможностей
PDF
Где сегодня использовать ElasticSearch
PPT
Про качественный поиск (Андрей Аксенов)
PDF
Построение системы аналитики
Переезжаем на Yandex ClickHouse / Александр Зайцев (LifeStreet)
Не все базы данных одинаково полезны
Выступление Сергея Аверина, Badoo, на High Performance Conference
Машинное обучение в электронной коммерции - практика использования и подводны...
Как поддерживать и развивать пачку "похожих" проектов. Кластер или конгломера...
ClickHouse: очень быстро и очень удобно / Виктор Тарнавский, Алексей Миловидо...
Аналитическая инфраструктура оптимизации рекламной сети (Александр Зайцев)
BigData Week Moscow 2013 - Case: Personalization
Выбираем СУБД для хранения временных рядов / Павел Филонов (Лаборатория Каспе...
NodeJS в HighLoad проекте / Акрицкий Владимир (iAge Engineering)
Машинное обучение для ваших игр и бизнеса
Мастер-класс про организацию службы эксплуатации
Мониторинг всех слоев web проекта (hl2015)
Monitoring-driven эксплуатация (rootconf2015)
Мониторинг качества работы вашего проекта
Дмитрий Дегтярев, "Хабикаса"
NoSQL - взрыв возможностей
Где сегодня использовать ElasticSearch
Про качественный поиск (Андрей Аксенов)
Построение системы аналитики
Ad

Viewers also liked (20)

PDF
RTB. Несколько слов и цифр (Iplace)
PPTX
Главные тренды в работе с семантикой весны 2017 (ТопЭксперт 17 марта 2017, Дм...
PDF
Тренды интернет маркетинга 2017 - WebCanape
PDF
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
PPT
Вадим Игонин. Диджитал платформа онлайн коммуникаций
PDF
Google Adwords Bid Simulator Reference Guide
PPTX
От больших к очень большим данным — зачем нужна нормализация в Big Data / Гол...
PDF
Data Mining. Анализ рыночной корзины. Поиск ассоциативных правил
PDF
Анализ рекламных кампаний в интернете. Что и как нужно измерять
PDF
Причины совершения покупок и причины отказа от них, среди покупателей в интер...
PPT
Аудитория интернета в России: еще один год. Взгляд со стороны
PPTX
MarketingPeople - proposal to investors
PPT
Зачем использовать наружную рекламу
PDF
100 лучших способов получения клиентов из интернета
PDF
Рынок мониторинга социальных медиа в странах СНГ (Q3 2011), отраслевой профиль
PDF
Социальные сети для журналиста
PPTX
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
PDF
Как попасть под фильтры поисковых систем.
PDF
Garin Studio маркетинг в социальных сетях
PDF
Маркетинг в социальных сетях для книжной индустрии
RTB. Несколько слов и цифр (Iplace)
Главные тренды в работе с семантикой весны 2017 (ТопЭксперт 17 марта 2017, Дм...
Тренды интернет маркетинга 2017 - WebCanape
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Вадим Игонин. Диджитал платформа онлайн коммуникаций
Google Adwords Bid Simulator Reference Guide
От больших к очень большим данным — зачем нужна нормализация в Big Data / Гол...
Data Mining. Анализ рыночной корзины. Поиск ассоциативных правил
Анализ рекламных кампаний в интернете. Что и как нужно измерять
Причины совершения покупок и причины отказа от них, среди покупателей в интер...
Аудитория интернета в России: еще один год. Взгляд со стороны
MarketingPeople - proposal to investors
Зачем использовать наружную рекламу
100 лучших способов получения клиентов из интернета
Рынок мониторинга социальных медиа в странах СНГ (Q3 2011), отраслевой профиль
Социальные сети для журналиста
Роль социальных медиа в выводе нового бренда на рынок (на примере Tele2 в Каз...
Как попасть под фильтры поисковых систем.
Garin Studio маркетинг в социальных сетях
Маркетинг в социальных сетях для книжной индустрии
Ad

Similar to Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Segmento) (20)

PDF
Ageev
PDF
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
PDF
Anton Tsitou "Cycle ORM and Graphs"
PPTX
Аналитика и метрики приложений 29.11.2016 г.
KEY
Практика SEO: Продвижение туристических сайтов
PPTX
Система аналитики из подручных материалов
PDF
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
PDF
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
PDF
Презентация аналитической системы для ритейла СуперМаг BI
PDF
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
PDF
Как читать и интерпретировать вывод команды EXPLAIN
PDF
NaZapad 6 - Владислав Моргун - Семантическое ядро для 24 языков и 36 стран
PPTX
Big Data - первые шаги
PPT
Шапотько Кристина.Оптимизация деятельности организации с применением методоло...
PPTX
Kak ustroena poiskovaya sistema
PDF
The analysis of data from small volumes and simple algorithms to large data a...
PPTX
Ранжирование: от строчки кода до Матрикснета
PPTX
Webmaster tools and Enhanced snippets in Yandex 2010 (Kazan, Kiev, Moscow), M...
PPTX
Prezentaciya smartpetrol realised
PPT
Петрова Ксения - Data mining на практике - dmlabs.org
Ageev
SECON'2014 - Андрей Устюжанин - Маленькие секреты больших данных
Anton Tsitou "Cycle ORM and Graphs"
Аналитика и метрики приложений 29.11.2016 г.
Практика SEO: Продвижение туристических сайтов
Система аналитики из подручных материалов
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Презентация аналитической системы для ритейла СуперМаг BI
#RuPostgresLive 4: как писать и читать сложные SQL-запросы
Как читать и интерпретировать вывод команды EXPLAIN
NaZapad 6 - Владислав Моргун - Семантическое ядро для 24 языков и 36 стран
Big Data - первые шаги
Шапотько Кристина.Оптимизация деятельности организации с применением методоло...
Kak ustroena poiskovaya sistema
The analysis of data from small volumes and simple algorithms to large data a...
Ранжирование: от строчки кода до Матрикснета
Webmaster tools and Enhanced snippets in Yandex 2010 (Kazan, Kiev, Moscow), M...
Prezentaciya smartpetrol realised
Петрова Ксения - Data mining на практике - dmlabs.org

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Потоковые алгоритмы в задачах обработки больших данных / Виктор Евстратов (Segmento)