Pull to refresh

Comments 16

Архитектура

Кусок архитектуры на скрине неясен. Верхний Spark — это скорее всего Spark-Streaming, который вычитывает из Kafka и Rabbit, здесь понятно. Но как и зачем к спарк-стримингу подключается Airflow?

Про верхний Spark вы правы, это стриминг для чтения из очередей. Airflow у нас также используется как шедулер для запуска batch процессов по переносу данных из hadoop в слой data vault.

Я к тому, что у вас по схеме Airflow кладет какие-то данные в верхний спарк-стриминг.

Расскажите, пожалуйста, для Spark Streaming у вас выделен отдельный пулл ресурсов в кластере или получается запускать всё в, так скажем, общем?

В yarn для управления ресурсами есть гибкая система очередей, мы держим её в уме на будущее, но пока не утилизируем все 100% нашего кластера.

Статья про опыт внедрения hadoop и гибкие методологии хранения данных, а не про специфику ms sql.

Спасибо за подробный пост, вы очень интересно все расписали. А еще большее спасибо за описание проблем!

Небольшое дополнение, что улучшит понимание. У вас вьюпоинт на самих инструментах (компонентах, технологиях) поэтому кажется не все логичным, а если добавить вьюпоинт (дополнительную диаграмму) на функциональность (слои трансформации данных), то все будет логичным. У вас приземление в хадуп, потом слой детальных данных(core) в первом мсскл на датавалте, потом презентационный слой с витринами на втором мсскл. Именно поэтому разный подход к моделированию!

Большое спасибо за дополнение, вы все верно описали по функциональности слоев.

Не думали использовать продукты confluent. Понятно что не будет универсальности, т.к. будет поддержка только Kafka. Но работа в тандеме со Schema Registry вроде как решает проблему изменения схемы, а также обеспечивает контроль версий схем. Да и RabbitMQ можно прогнать через Kafka.

Да, мы рассматривали возможность использлования Schema Registry, у него действительно много преимуществ при работе с kafka, но он не очень ложился в уже сложившуюся архитектуру нашего ESB, поэтому пока не применяем его.

Расскажите, пожалуйста, как используете брокеры. Как временный буфер (время жизни сообщения допустим неделя) или с постоянным хранение истории?

Железо пока позволяет хранить всю историю для большинства топиков. Но в целом конечно не предполагается, что данные будут вечно храниться в брокерах, поэтому приземляем их в Datalake, чтобы всегда иметь доступ к истории. Также для отдельных особенно больших топиков срок жизни сообщений сокращенный, как раз в рамках недели.

Ещё не немного понадоедаю. ))

Было бы интересно ещё узнать о процессах появления данных в брокерам . А также о процедуре переинициализации при сбоях, повлекших потерю интервала данных?

Это уже наверное запрос на отдельную статью)
За поставку данных в брокеры отвечают сервисы компании, мы выступаем больше как потребители. Со своей стороны при потреблении данных мы гарантируем at-least-once семантику доставки сообщений в Datalake и Data Vault.

Sign up to leave a comment.

Information

Website
www.kaspersky.ru
Registered
Founded
Employees
5,001–10,000 employees
Location
Россия