Прошел этот курс, делюсь своими впечатлениями.
Курс классный, в нем много практики. Я использовал Google BigQuery и публичные датасеты от dbt для решения описанных примеров, а в обучающих материалах все построено на Snowflake.
В целом, узнал много нового и полезного о dbt, кратко summary:
* Во введении ребята объясняют роль Analytics Engineer, о котором так много разговоров и ссылаются на их
пост блога* Дается исчерпывающая информация о том, как подключить dbt к вашему хранилищу и .git
* В dbt довольно тривиальными запросами реализовано тестирование данных на предмет уникальности, соответстия значениям (это реально базовые SQL-запросы, которые проверяют наличие / отсутствия поля или значений)
И тут интересно следующее: когда пишешь самостоятельно похожие запросы иногда думаешь, что во всем остальном мире так никто не делает, ну, к примеру:
SELECT sum(amount) FROM ... HAVING sum(amount)>0
А оказывается еще как делают, вот даже публично внутри dbt все эти тесты так и реализованы.
И, кстати, крайне удобно, что SQL-код каждого теста можно изучить (скомпилировать)
* Круто и удобно формируется документация и DAG (directed acyclic graph), который показывает все шаги преобразований модели
* Поскольку dbt построен на Liquid и использовании Jinja (движок шаблонов в python), то можно делать всякие невероятные вещи вроде написания внутреннего макроса (читай, условный операторы, циклы или создание функций) и применять этот макрос для автоматизации однотипных частей запроса.
Это прям вау 🙂
* Многие вещи уже придуманы и разработаны коммьюнити, поэтому существует
dbt hub, через который можно подключить интересующие пакеты и не изобретать велосипед.
* Отдельного упоминания достойны алгоритмы формирования инкрементального наполнения таблиц и создания снэпшотов. Для одного из проектов абсолютно такой же алгоритм по созданию снэпшотов с date_form / date_to мне доводилось проектировать самостоятельно.
Было приятно увидеть, что у ребят из dbt это работает абсолютно аналогичным образом.
* Разумеется, используя Jinja и dbt, можно автоматизировать построение аналитических запросов, это так и называется Analyses. Скомпилированный код запроса, можно имплементировать в любимую BI-систему и наслаждаться результатами.
Общие впечатления очень положительные: dbt ждет большое будущее и развитие, т.к. коммьюнити растет вместе с возможностями и ресурсами компании.
Ждем коннекторов к другим СУБД помимо PostgreSQL, BigQuery, Snowflake, Redshift.