Наша команда инфраструктуры аналитики помогает аналитикам делать свою работу. Мы обеспечиваем доставку данных в единое хранилище для аналитики и поддерживаем инструменты для их обработки и презентации.
В компании много самодостаточных команд. В каждой команде свои сервисы, свои разработчики и аналитики. Так что у нас достаточно потоков данных самого разнообразного формата и объема. Это данные о букингах, на которые смотрит вся компания, и каждая запись проверяется чуть ли не руками, а еще — данные о билетах объемом более терабайта в сутки. Это требует разных подходов с нашей стороны.
Мы используем Apache Impala на базе Apache Hadoop для хранения и обработки данных.
Основной источник данных — Kafka. Для доставки и оркестрации данных мы используем самописные сервисы на Python 3 + PostgreSQL. Аналитики строят отчеты в Redash и Apache Superset.
Языки программирования:
Основной язык — это Python. Мы стараемся регулярно обновлять версию, сейчас у нас 3.8. Важно знать SQL, он нужен для Impala и PostgreSQL. У нашего сервиса есть админка, она написана на TS (React) + MobX. Иногда полезно знание С++, Scala, Go, чтобы посмотреть на исходный код используемых сервисов, как open source, так и тех, что пишут другие команды в компании.
Основная задача группы инфраструктуры аналитики — поддерживать ее работоспособность.
В это входит много разных задач:
Текучка бывает разная:
Развитие платформы — это проекты от двух недель до нескольких месяцев, которые дают какие-то новые возможности: бэкапы в AWS S3 Glacier; оптимизированные агрегаты; автоматическая выгрузка результатов расчетов во внешние базы. Большая часть таких задач приходит от команды аналитики. Сейчас мы планируем переезд на более современный стек.
Но мы много выделяем времени на задачи, которые уменьшают количество текучки или облегчают её выполнение.
Авиасейлс — крупнейший в России и третий по объемам в мире метапоиск авиабилетов и отелей. Аудитория на всех платформах превышает 15 млн человек ежемесячно.