Десятки ветвистых ETL-пайплайнов из сотен источников Базы данных и системы хранения
Мы в ЦИАН собираем через Kafka и храним в Hive большое количество разнородной информации. Это могут быть логи изменения объявлений, действия пользователей на нашем сайте или, например, логи наших внутренних систем.
Для того чтобы все эти данные можно было использовать для построения аналитических витрин или сбора дата-сетов для построения моделей машинного обучения, нужно уметь поддерживать десятки зависимых друг от друга ETL-пайплайнов, использующих сотни таблиц, и вносить изменения в код (в том числе и SQL) так, чтобы не сломать существующую логику в совершенно другом (а порой и неожиданном) месте.
В своём докладе я расскажу о том, как и зачем мы допиливали клиентскую сторону оркестратора Luigi, как организовали деплой ETL-процессов, их мониторинг, тестирование HiveQL-запросов и валидацию данных.
* Узнайте, что такое Hive и Hadoop.
* Познакомьтесь с документацией фреймворков luigi, airflow, oozie.
* Прочтите, что такое grafana, зачем она нужна и что умеет.
* Посмотрите на примеры использования библиотеки pytest.