Сегодня я хочу представить вашему вниманию такую вещь как BI-as-code, разобрав на примере нашего нового решения Lightdash CLI несколько базовых рабочих моментов. В этом руководстве собран передовой опыт работы с кодом для бизнес-аналитики, а именно: Как выполнять развертывание в рабочую среду через интерфейс командной строки Как проверить изменения перед развертыванием Как автоматизировать развертывание в рабочую среду с помощью Github Actions‍ Если вы хотите принимать активное участие, дублируя все, что мы будем делать в этом руководстве, обязательно установите инструмент командной строки и создайте свой собственный Lightdash-проект. Наша глобальная цель в этих руководствах — помочь вам в создании лучшего в своем классе опыта разработки, который значительно облегчит рутинную работу с кодом для вашей бизнес-аналитики и повысит скорость вашей команды за счет максимально быстрой доставки качественного кода. Но хватит предисловий, давайте уже начинать! Все, что вам нужно для реализации бизнес-аналитики в Lightdash, уже написано в коде вашего dbt-проекта. Самое замечательное — это то, что вы, вероятно, уже написали 80% всего необходимого. Итак, давайте закончим с последними 20%: ‍После того как мы запустим наш dbt-проект, команда lightdash generate автоматически сгенерирует все настройки, которые нужны Lightdash для построения нашего семантического слоя. Ниже вы можете увидеть пример такого автоматически сгенерированного .yml-файла: Файл customers.yml сообщает Lightdash обо всех атрибутах клиентов. К текущему моменту наш Lightdash-проект обычно выглядит примерно так: Теперь давайте запушим этот проект в Lightdash, чтобы мы могли начать изучать наши данные в удобном пользовательском интерфейсе. Чтобы развернуть проект в рабочей среде, просто запустите команду lightdash deploy: Вот и все! Перейдите по этой ссылке, и вы сможете сразу начать строить диаграммы по вашим клиентским моделям из dbt. И это все заняло не больше минуты! Хоть развертывание в продакшн теперь происходит очень быстро, часто бывает так, что когда мы разрабатываем наши BI-проекты (изменяем метрики, добавляем новые атрибуты, правим диаграммы), мы хотим предварительно просмотреть изменения, прежде чем делать их доступными для всех остальных. Представьте, что мы изменили наш файл customers.yml, добавив новую метрику: Перед тем, как сделать его доступным для всей нашей организации, мы, безусловно, хотим узнать, что все работает без ошибок. Что, если мы некорректно изменили наш .yml-файл или допустили ошибку в определении метрики? Превью для разработчиков — это временные Lightdash-проекты, полностью отделенные от вашего проекта, размещенного в общем доступе в рабочей среде. Чтобы создать превью запустите следующую команду: Вот и все! Полученное вами превью — это полнофункциональный Lightdash-проект, который будет удален, когда вы закончите работу с ним, так что любые внесенные вами изменения не повлияют на продакшн-версию. Когда вы будете довольны своими изменениями, просто запуште их в продакшн-версию: Автоматизация развертывания нашего кода играет ключевую роль в организации управления нашей рабочей средой. Это позволяет нам добавлять такие ограничения, как: Код должен быть передан в систему контроля версий для развертывания в продакшене Код должен быть протестирован перед развертыванием Автоматизируя развертывание, мы также снижаем риск человеческих ошибок во время развертывания! Слава роботам! Для создания нашего конвейера я буду использовать Github Actions, но вы можете перенести эти принципы на любой инструменту CI/CD (CircleCI, Travis, …) по своему выбору. Мы начнем работу над нашим конвейером с создания воркфлоу-файла в нашем репозитории: Наш воркфлоу представляет собой последовательность шагов, которые будут выполнены с нашим Lightdash-проектом, но он запускается только тогда, когда мы коммитим наш Lightdash-проект в ветку main. Таким образом, мы можем защитить ветку main и разрешить мерж кода с main только после тщательной проверки. Просто подключив BI-as-code-решение в нашу рабочую практику, мы автоматически получили функционал управления со встроенным код-ревью! Теперь, когда мы произведеме мерж с кодом в main, будет произведен запуск экшена, и наш Lightdash-проект обновится! И хотя мы ввели ограничения для развертывания в продакшене, ничто не мешает нам продолжать использовать LightDash-превью на наших ноутбуках, чтобы молниеносно просматривать наши изменения, прежде чем мы внесем их в main-версию. И на этом все! Если вы дочитали до этого момента, то теперь у вас знания, как создать оптимальный сетап как для разработки, так и для продакшн-среды: Мы ускорили цикл разработки в 10 раз, позволив вам мгновенно просматривать изменения по мере их внесения в проект. Это сокращает цикл сборки и тестирования, пока вы работаете в безопасной песочнице. Теперь мы можем с уверенностью производить развертывание в продакшн! Используя автоматизацию и код-ревью, мы можем быть уверены, что наш новый код готов к работе в продакшн-среде — больше никаких сломанных дашбордов. Как только вы будете уверенны в своем автоматизированном развертывании, вы обнаружите, что выполняете развертывание чаще и с меньшим количеством ошибок, что значительно сокращает общее время разработки! Я надеюсь, что достаточно продемонстрировал преимущества BI-as-code-решений, и помог вам сформировать представление о возможностях управления кодом для бизнес-аналитики с помощью Lightdash CLI. Если да, то открывайте свою консоль и приступайте к работе! Завтра состоится открытое занятие «Выгрузка данных из внешних систем», на котором мы:- изучим классификацию источников; - поймем, как это влияет на выбор способа загрузки информации;- разберемся, какие из универсальных инструментов выгрузки данных актуальны сегодня - и научимся самостоятельно настраивать Data Ingestion пайплайны с помощью NiFi. Регистрация на занятие. Редактор