Десятки ветвистых ETL-пайплайнов из сотен источников Базы данных и системы хранения

Доклад принят в программу конференции
Михаил Славошевский
ЦИАН

Lead Data Engineer.

telegram: @drowoseque
Тезисы

Мы в ЦИАН собираем через Kafka и храним в Hive большое количество разнородной информации. Это могут быть логи изменения объявлений, действия пользователей на нашем сайте или, например, логи наших внутренних систем.

Для того чтобы все эти данные можно было использовать для построения аналитических витрин или сбора дата-сетов для построения моделей машинного обучения, нужно уметь поддерживать десятки зависимых друг от друга ETL-пайплайнов, использующих сотни таблиц, и вносить изменения в код (в том числе и SQL) так, чтобы не сломать существующую логику в совершенно другом (а порой и неожиданном) месте.

В своём докладе я расскажу о том, как и зачем мы допиливали клиентскую сторону оркестратора Luigi, как организовали деплой ETL-процессов, их мониторинг, тестирование HiveQL-запросов и валидацию данных.

Непрерывное развертывание и деплой
,
Интеграционное тестирование
,
Юнит-тестирование
,
Hadoop
,
ETL
Подготовительное задание

* Узнайте, что такое Hive и Hadoop.
* Познакомьтесь с документацией фреймворков luigi, airflow, oozie.
* Прочтите, что такое grafana, зачем она нужна и что умеет.
* Посмотрите на примеры использования библиотеки pytest.

Другие доклады секции Базы данных и системы хранения