SlideShare a Scribd company logo
1 of 42
Download to read offline
Пайплайн машинного обучения на
Apache Spark
A long time ago in a galaxy far, far away
Отдел машинного обучения AdTech 1/40
Отдел машинного обучения AdTech 2/40
Поставку данных сложно
мониторить и отлаживать
Отдел машинного обучения AdTech 3/40
Отдел машинного обучения AdTech 4/40
Со стримингом сложно
вообще все...
Отдел машинного обучения AdTech 5/40
Отдел машинного обучения AdTech 6/40
Со стримингом сложно вообще все...
INSERT OVERWRITE TABLE predict
SELECT TRANSFORM(line)
FROM features_table
USING 'umworld_caller.py apply -f model.vw'
AS ruid, label, probability;
Отдел машинного обучения AdTech 7/40
Отдел машинного обучения AdTech 8/40
Отдел машинного обучения AdTech 9/40
Мониторить тоже сложно
Отдел машинного обучения AdTech 10/40
Joblocker
Отдел машинного обучения AdTech 11/40
Интерфейс мониторинга
Отдел машинного обучения AdTech 12/40
Программировать
непросто
Отдел машинного обучения AdTech 13/40
+ Эксперименты в Jupyter notebook и
продакшен код разделены
+ Отлаживать стриминг очень сложно
+ Трейны готовятся на лету, поэтому
экспериментировать с новыми фичами
долго
+ Тесты написать практически невозможно
+ Деплоить код на кластер непросто
(внешние библиотеки)
Отдел машинного обучения AdTech 14/40
Наше решение
+ Kafka
+ Camus
+ Spark
+ Hive
+ Airflow
+ Graphite
+ Aerospike
+ Jenkins
+ Slack
+ XGBoost
+ Vowpal Wabbit
+ Keras
Отдел машинного обучения AdTech 15/40
Новая архитектура
Отдел машинного обучения AdTech 16/40
Кафка + мониторинг
Отдел машинного обучения AdTech 17/40
Так почему Spark?
Отдел машинного обучения AdTech 18/40
Speed
Run programs up to 100x
faster than Hadoop
MapReduce in memory, or
10x faster on disk
Отдел машинного обучения AdTech 19/40
Ease of use
text_file = spark.textFile("hdfs://...")
text_file.flatMap(lambda line: line.split())
.map(lambda word: (word, 1))
.reduceByKey(lambda a, b: a+b)
Отдел машинного обучения AdTech 20/40
Generality
Отдел машинного обучения AdTech 21/40
Runs everywhere
Отдел машинного обучения AdTech 22/40
Витрина фич
+ Разнести обучение и напил фич
+ Фичи пилятся независимо (если что-то
упало, остальное работает)
+ Эксперимент: просто набираешь фич как
в магазине
Отдел машинного обучения AdTech 23/40
Витрина фич
Отдел машинного обучения AdTech 24/40
ML. Мы поддержали интерфейс spark.ml и sklearn
from pyspark.ml.pipeline import Transformer
class BaseTransformer(Transformer):
def __init__(self, day=None)
def fit(self, df)
def _transform(self, df)
def load(self, timestamp)
def save(self, timestamp)
Отдел машинного обучения AdTech 25/40
Зачем нужны load и save?
+ Есть трансформеры, состояние которых
надо сохранять (напр. LDA)
+ Pyspark поддерживает сериализацию
только pickle
+ Кастомная сериализация позволяет
поддержать версионирование витрины
фич
Отдел машинного обучения AdTech 26/40
Как выглядит обучение?
class SparkXGBoostClassifier(SparkSklearnClassifier):
def _fit(self, X_train, y_train, weight_train,
X_validate, y_validate, weight_validate):
xgb_options = self.model.get_xgb_params()
n_classes = len(np.unique(y_train)
...
self.model.fit(X_train, y_train, **fit_params)
Отдел машинного обучения AdTech 27/40
Сериализация модели - боль
+ XGBoost сериализуется из коробки
+ Vowpal Wabbit сериализуется через
уникальный :) механизм записи бинарной
модели в байтовый массив
Отдел машинного обучения AdTech 28/40
Как выглядит применение?
class SparkXGBoostClassifier(SparkSklearnClassifier):
def predict_proba(self, df):
rdd = df.map(self._create_dataset)
df = rdd.toDF()[['uid', 'feature']]
v_model = df._sc.broadcast(self.model)
res = df.rdd.mapPartitionsWithIndex(
partial(apply_model, v_model=v_model))
return res
Отдел машинного обучения AdTech 29/40
В Airflow все видно
Отдел машинного обучения AdTech 30/40
В Airflow все видно
Отдел машинного обучения AdTech 31/40
Timing (100 executors: 8gb, 2 vcores)
Подзадача Время вычислений
Data load and merge 0:08:49
Conversion to Pandas 0:07:43
Local fit 0:01:44
Evaluation 0:04:44
Apply 0:46:07
Transform to class 0:02:24
Total 1:13:05
Отдел машинного обучения AdTech 32/40
А деплой в Jenkins
Отдел машинного обучения AdTech 33/40
А Jenkins пишет в Slack
Отдел машинного обучения AdTech 34/40
И Airflow тоже
Отдел машинного обучения AdTech 35/40
В сухом остатке
- C Airflow постоянно возникают проблемы
- Python API Spark отстает от Scala API
- Python API заметно медленней в
некоторых задачах (конвертация
объектов)
- Частые проблемы с сериализацией
объектов
- Требуется время на подбор ресурсов
Spark-задач
Отдел машинного обучения AdTech 36/40
В сухом остатке
- Spark не поддерживает бакеты Hive
- Память драйвера инициализируется
только через конфиг
- Большой Spark DataFrame можно
сохранить локально только через HDFS
- При чтении из Hive число партиций Spark
определяется числом бакетов
- persist - неявный сборщик мусора?
Отдел машинного обучения AdTech 37/40
В сухом остатке
+ Единая шина данных (Kafka)
+ Единый мониторинг для всего (Graphite)
+ Удобный и красивый интерфейс
мониторинга (Grafana + Airflow)
+ Удобный workflow-менеджер с мощным
визуальным интерфейсом (Airflow)
+ Витрина фич
+ Эксперименты и продакшен в Jupyter
notebook
Отдел машинного обучения AdTech 38/40
В сухом остатке
+ Число и скорость проведения
экспериментов возросли значительно
+ Простое и удобное тестирование
(текущее покрытие кода 60%)
+ Простая и удобная отладка (Airflow +
Sentry)
+ Деплой одной кнопкой (Jenkins +
SaltStack)
+ Своевременные оповещения о
проблемах (Airflow + Jenkins + Slack)
Отдел машинного обучения AdTech 39/40
Вопросы?
Отдел машинного обучения AdTech 40/40

More Related Content

Viewers also liked

Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"
Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"
Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"Newprolab
 
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"Newprolab
 
Data Science Week 2016. GlowByte, "Культура работы с данными"
Data Science Week 2016. GlowByte, "Культура работы с данными"Data Science Week 2016. GlowByte, "Культура работы с данными"
Data Science Week 2016. GlowByte, "Культура работы с данными"Newprolab
 
Data Science Week 2016. New Professions Lab. "Образование в области Big Data"
Data Science Week 2016. New Professions Lab. "Образование в области Big Data"Data Science Week 2016. New Professions Lab. "Образование в области Big Data"
Data Science Week 2016. New Professions Lab. "Образование в области Big Data"Newprolab
 
Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...
Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...
Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...Newprolab
 
Data Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросы
Data Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросыData Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросы
Data Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросыNewprolab
 
Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...
Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...
Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...Newprolab
 
Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...
Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...
Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...Newprolab
 
Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...
Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...
Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...Newprolab
 
Data Science Weekend 2017. Qlean. Как устроено машинное обучение в Qlean
Data Science Weekend 2017. Qlean. Как устроено машинное обучение в QleanData Science Weekend 2017. Qlean. Как устроено машинное обучение в Qlean
Data Science Weekend 2017. Qlean. Как устроено машинное обучение в QleanNewprolab
 
Data Science Weekend 2017. Intento. Machine to Machine Communication in the ...
Data Science Weekend 2017.  Intento. Machine to Machine Communication in the ...Data Science Weekend 2017.  Intento. Machine to Machine Communication in the ...
Data Science Weekend 2017. Intento. Machine to Machine Communication in the ...Newprolab
 
Data Science Weekend 2017. Urbica. Дизайн города, основанный на данных
Data Science Weekend 2017. Urbica. Дизайн города, основанный на данныхData Science Weekend 2017. Urbica. Дизайн города, основанный на данных
Data Science Weekend 2017. Urbica. Дизайн города, основанный на данныхNewprolab
 
Data Science Week 2016. Sberbank
Data Science Week 2016. SberbankData Science Week 2016. Sberbank
Data Science Week 2016. SberbankNewprolab
 
Data Science Week 2016. Microsoft. "Интернет вещей и предиктивная аналитика ...
Data Science Week 2016.  Microsoft. "Интернет вещей и предиктивная аналитика ...Data Science Week 2016.  Microsoft. "Интернет вещей и предиктивная аналитика ...
Data Science Week 2016. Microsoft. "Интернет вещей и предиктивная аналитика ...Newprolab
 
Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...
Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...
Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...Newprolab
 
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Ontico
 
8 ways to improve your Excel skills
8 ways to improve your Excel skills8 ways to improve your Excel skills
8 ways to improve your Excel skillsCPA Australia
 

Viewers also liked (18)

Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"
Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"
Data Science Week 2016. Homeapp. "Создание розничного data-driven продукта"
 
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
Data Science Week 2016. E-Contenta. "Data science в медиа-компаниях"
 
Data Science Week 2016. GlowByte, "Культура работы с данными"
Data Science Week 2016. GlowByte, "Культура работы с данными"Data Science Week 2016. GlowByte, "Культура работы с данными"
Data Science Week 2016. GlowByte, "Культура работы с данными"
 
Data Science Week 2016. New Professions Lab. "Образование в области Big Data"
Data Science Week 2016. New Professions Lab. "Образование в области Big Data"Data Science Week 2016. New Professions Lab. "Образование в области Big Data"
Data Science Week 2016. New Professions Lab. "Образование в области Big Data"
 
Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...
Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...
Data Science Weekend 2017. Brand Analytics. Исследование трендов потребления ...
 
Data Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросы
Data Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросыData Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросы
Data Science Weekend 2017. 1С-Битрикс. Чатбот для подсказки ответов на вопросы
 
Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...
Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...
Data Science Weekend 2017. E-Contenta. Классификация текстов: в поисках сереб...
 
Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...
Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...
Data Science Weekend 2017. New Professions Lab. Образование в области Data Sc...
 
Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...
Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...
Data Science Weekend 2017. CleverDATA. Text mining of beauty blogs: о чем гов...
 
Data Science Weekend 2017. Qlean. Как устроено машинное обучение в Qlean
Data Science Weekend 2017. Qlean. Как устроено машинное обучение в QleanData Science Weekend 2017. Qlean. Как устроено машинное обучение в Qlean
Data Science Weekend 2017. Qlean. Как устроено машинное обучение в Qlean
 
Data Science Weekend 2017. Intento. Machine to Machine Communication in the ...
Data Science Weekend 2017.  Intento. Machine to Machine Communication in the ...Data Science Weekend 2017.  Intento. Machine to Machine Communication in the ...
Data Science Weekend 2017. Intento. Machine to Machine Communication in the ...
 
Data Science Weekend 2017. Urbica. Дизайн города, основанный на данных
Data Science Weekend 2017. Urbica. Дизайн города, основанный на данныхData Science Weekend 2017. Urbica. Дизайн города, основанный на данных
Data Science Weekend 2017. Urbica. Дизайн города, основанный на данных
 
Data Science Week 2016. Sberbank
Data Science Week 2016. SberbankData Science Week 2016. Sberbank
Data Science Week 2016. Sberbank
 
Data Science Week 2016. Microsoft. "Интернет вещей и предиктивная аналитика ...
Data Science Week 2016.  Microsoft. "Интернет вещей и предиктивная аналитика ...Data Science Week 2016.  Microsoft. "Интернет вещей и предиктивная аналитика ...
Data Science Week 2016. Microsoft. "Интернет вещей и предиктивная аналитика ...
 
Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...
Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...
Data Science Weekend 2017. МегаФон. Аналитика больших данных в телекоме. Опыт...
 
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
Пайплайн машинного обучения на Apache Spark / Павел Клеменков (Rambler&Co)
 
8 ways to improve your Excel skills
8 ways to improve your Excel skills8 ways to improve your Excel skills
8 ways to improve your Excel skills
 
9 handy Excel demos
9 handy Excel demos9 handy Excel demos
9 handy Excel demos
 

Similar to Data Science Week 2016. Rambler & Co. "Пайплайн машинного обучения на Apache Spark"

Создание сценариев обработки вызова для UCCX и методы их отладки
Создание сценариев обработки вызова для UCCX и методы их отладкиСоздание сценариев обработки вызова для UCCX и методы их отладки
Создание сценариев обработки вызова для UCCX и методы их отладкиCisco Russia
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1Michael Karpov
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Denis Vasilyev
 
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Denis Vasilyev
 
AOP and Design Patterns (GoF)
AOP and Design Patterns (GoF)AOP and Design Patterns (GoF)
AOP and Design Patterns (GoF)Andrey Gordienkov
 
Aspect Oriented Programming and Design Patterns
Aspect Oriented Programming and Design PatternsAspect Oriented Programming and Design Patterns
Aspect Oriented Programming and Design PatternsAndrey Gordienkov
 
Java 8 Support at the JVM Level
Java 8 Support at the JVM LevelJava 8 Support at the JVM Level
Java 8 Support at the JVM LevelNikita Lipsky
 
Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3eucariot
 
Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...
Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...
Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...旻琦 潘
 
Как развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шагиКак развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шагиCisco Russia
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 SeattleWebinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 SeattleDenis Vasilyev
 
Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠ CoreHa...
Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠  CoreHa...Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠  CoreHa...
Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠ CoreHa...corehard_by
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Mikhail Kurnosov
 
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решенияДмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решенияFProg
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй этоRoman Dvornov
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программированияguestfc8ae0
 
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVMЗанимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVMNikita Lipsky
 

Similar to Data Science Week 2016. Rambler & Co. "Пайплайн машинного обучения на Apache Spark" (20)

Создание сценариев обработки вызова для UCCX и методы их отладки
Создание сценариев обработки вызова для UCCX и методы их отладкиСоздание сценариев обработки вызова для UCCX и методы их отладки
Создание сценариев обработки вызова для UCCX и методы их отладки
 
20090720 hpc exercise1
20090720 hpc exercise120090720 hpc exercise1
20090720 hpc exercise1
 
Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++Seminar: Эффективное использование среды разработки и компилятора C++
Seminar: Эффективное использование среды разработки и компилятора C++
 
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
Webinar: Обзор новых возможностей в RAD Studio XE8 (Delphi, C++Builder)
 
AOP and Design Patterns (GoF)
AOP and Design Patterns (GoF)AOP and Design Patterns (GoF)
AOP and Design Patterns (GoF)
 
Aspect Oriented Programming and Design Patterns
Aspect Oriented Programming and Design PatternsAspect Oriented Programming and Design Patterns
Aspect Oriented Programming and Design Patterns
 
Java 8 Support at the JVM Level
Java 8 Support at the JVM LevelJava 8 Support at the JVM Level
Java 8 Support at the JVM Level
 
Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3Linkmeup v076(2019-06).3
Linkmeup v076(2019-06).3
 
Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...
Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...
Upgrading rails-it-is-a-good-time-to-refactor-your-code-en-upgrading-rails-it...
 
Как развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шагиКак развернуть и настроить DFA фабрику – основные шаги
Как развернуть и настроить DFA фабрику – основные шаги
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
Breaking logs
Breaking logsBreaking logs
Breaking logs
 
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 SeattleWebinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
Webinar: Новые визуальные VCL-компоненты для Windows 10 в RAD Studio 10 Seattle
 
Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠ CoreHa...
Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠  CoreHa...Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠  CoreHa...
Исключения C++ через призму компиляторных оптимизаций. Роман Русяев ➠ CoreHa...
 
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
Лекция 2. Оптимизация ветвлений и циклов (Branch prediction and loop optimiz...
 
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решенияДмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
Дмитрий Грошев, Фёдор Гоголев. Erlang и Haskell в production: проблемы и решения
 
Инструментируй это
Инструментируй этоИнструментируй это
Инструментируй это
 
паттерны программирования
паттерны программированияпаттерны программирования
паттерны программирования
 
Занимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVMЗанимательные истории из жизни технической поддержки JVM
Занимательные истории из жизни технической поддержки JVM
 
CI/CD with Fastlane and Telegram
CI/CD with Fastlane and TelegramCI/CD with Fastlane and Telegram
CI/CD with Fastlane and Telegram
 

Data Science Week 2016. Rambler & Co. "Пайплайн машинного обучения на Apache Spark"