<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>Блог об аналитике, визуализации данных, data science и BI, заметки с тегом: dbt</title>
<link>http://test.leftjoin.ru/tags/dbt/</link>
<description></description>
<generator>E2 (v3365; Aegea)</generator>

<item>
<title>Конференция Coalesce от dbt: что посмотреть?</title>
<guid isPermaLink="false">83</guid>
<link>http://test.leftjoin.ru/all/coalesce2020-dbt/</link>
<comments>http://test.leftjoin.ru/all/coalesce2020-dbt/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/Eg2IiVMX0AI1eLj.jpg-large.jpeg" width="1516" height="760" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;С 7 по 11 декабря проходила &lt;a href="https://www.getdbt.com/coalesce"&gt;конференция Coalesce&lt;/a&gt;, о которой я рассказывал ранее. В этом году все организаторы решили проводить конференции по 5 дней с кучей докладов.&lt;/p&gt;
&lt;p&gt;С одной стороны это плюс — ощущение, что информации много и можно выбрать, что интересно. С другой стороны такое количество информации несколько изматывает, потому что часто по названию доклада не очень понятно насколько он окажется полезным и интересным. Мне все же кажется, что более трех дней для конференции это много, т. к. интерес аудитории теряется, да и необходимость заниматься своими личными и профессиональными делами не может испариться из-за события, которое хоть и в онлайне, но занимает твое внимание.&lt;/p&gt;
&lt;p&gt;Однако мне удалось посмотреть большую часть докладов, кое-что пролистывая. Для начала коротко в целом о впечатлениях: очень круто изучать доклады с подобной конференции как Coalesce, потому что речь идет в основном о современных инструментах и облачных решениях. Почти в каждом докладе можно услышать про Redshift / BigQuery / Snowflake, а с точки зрения BI: Mode / Tableau / Looker / Metabase. В центре всего, разумеется, dbt.&lt;/p&gt;
&lt;p&gt;Мой шорт-лист докладов, которые рекомендую изучить:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/dbt-101-eu-and-us-friendly"&gt;dbt 101&lt;/a&gt; — вводный доклад и интро в то, что такое dbt и как его используют&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/kimball-in-the-context-of-the-modern-data-warehouse-whats-worth-keeping-and-whats-not"&gt;Kimball in the context of the modern data warehouse: what’s worth keeping, and what’s not&lt;/a&gt; — интересный и очень-очень спорный доклад, который вызвал массу вопросов в slack dbt. Вкратце, автор предлагает перейти на «широкие» аналитические таблицы и отказаться от нормальных форм всюду.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/building-a-robust-data-pipeline-with-dbt-airflow-and-great-expectations"&gt;Building a robust data pipeline with dbt, Airflow, and Great Expectations&lt;/a&gt; — в докладе про небезынтересный инструмент &lt;a href="https://greatexpectations.io"&gt;greatexpectations&lt;/a&gt;, суть которого в валидации данных&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/orchestrating-dbt-with-dagster"&gt;Orchestrating dbt with Dagster&lt;/a&gt; — мне было несколько скучновато слушать, но если хочется познакомиться с Dagster — самое то&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/supercharging-your-data-team"&gt;Supercharging your data team&lt;/a&gt; — ребята сделали обертку к dbt, назвали dbt executor 9000 и рассказывают о нем&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/presenting-sqlfluff"&gt;Presenting: SQLFluff&lt;/a&gt; — про очень классную штуку &lt;a href="https://www.sqlfluff.com"&gt;SQLFluff&lt;/a&gt;, которая автоматически редактирует SQL-код согласно канонам&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/quickstart-your-analytics-with-fivetran-dbt-packages"&gt;Quickstart your analytics with Fivetran dbt packages&lt;/a&gt; — из доклада можно узнать, что такое Fivetran и как его используют совместно с dbt&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.getdbt.com/coalesce/agenda/perfect-complements-using-dbt-with-looker-for-effective-data-governance"&gt;Perfect complements: Using dbt with Looker for effective data governance&lt;/a&gt; — про взаимодействие dbt и looker, про различия и схожие части инструментов&lt;/li&gt;
&lt;/ol&gt;
</description>
<pubDate>Fri, 11 Dec 2020 13:27:14 +0300</pubDate>
</item>

<item>
<title>Итоги прохождения курса по dbt</title>
<guid isPermaLink="false">78</guid>
<link>http://test.leftjoin.ru/all/dbt-course/</link>
<comments>http://test.leftjoin.ru/all/dbt-course/</comments>
<description>
&lt;div class="e2-text-picture"&gt;
&lt;img src="http://test.leftjoin.ru/pictures/2161605756689.large.jpg" width="760" height="505" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Недавно прошёл &lt;a href="https://courses.getdbt.com/courses/fundamentals"&gt;курс по dbt&lt;/a&gt; от команды dbt. Курс классный, в нем много практики. Я использовал Google BigQuery и публичные датасеты от dbt для решения описанных примеров, а в обучающих материалах все построено на Snowflake.&lt;/p&gt;
&lt;p&gt;В целом, узнал много нового и полезного о dbt, кратко summary:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Во введении ребята объясняют роль Analytics Engineer, о котором так много разговоров и ссылаются на их &lt;a href="https://blog.getdbt.com/what-is-an-analytics-engineer/"&gt;пост блога&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Дается исчерпывающая информация о том, как подключить dbt к хранилищу и .git&lt;/li&gt;
&lt;li&gt;В dbt довольно тривиальными запросами реализовано тестирование данных на предмет уникальности и соответствия значениям. Это реально базовые SQL-запросы, которые проверяют наличие или отсутствие поля или значений. И тут интересно следующее: когда пишешь самостоятельно похожие запросы иногда думаешь, что во всем остальном мире так никто не делает, ну, к примеру, как в запросе ниже. А оказывается еще как делают, вот даже публично внутри dbt все эти тесты так и реализованы. И, кстати, крайне удобно, что SQL-код каждого теста можно изучить и скомпилировать.&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class="e2-text-code"&gt;&lt;code&gt;SELECT sum(amount) FROM ... HAVING sum(amount) &amp;gt; 0&lt;/code&gt;&lt;/pre&gt;&lt;ol start="4"&gt;
&lt;li&gt;Круто и удобно формируется документация и DAG (Directed Acyclic Graph), который показывает все шаги преобразований модели&lt;/li&gt;
&lt;li&gt;Поскольку dbt построен на Liquid и использовании Jinja (движок шаблонов в Python), то можно делать всякие невероятные вещи вроде написания внутреннего макроса (читай, условный операторы, циклы или создание функций) и применять этот макрос для автоматизации однотипных частей запроса. Это прям вау 🙂&lt;/li&gt;
&lt;li&gt;Многие вещи уже придуманы и разработаны коммьюнити, поэтому существует &lt;a href="https://hub.getdbt.com"&gt;dbt hub&lt;/a&gt;, через который можно подключить интересующие пакеты и не изобретать велосипед.&lt;/li&gt;
&lt;li&gt;Отдельного упоминания достойны алгоритмы формирования инкрементального наполнения таблиц и создания снэпшотов. Для одного из проектов абсолютно такой же алгоритм по созданию снэпшотов с date_form / date_to мне доводилось проектировать самостоятельно.&lt;br /&gt;
Было приятно увидеть, что у ребят из dbt это работает абсолютно аналогичным образом.&lt;/li&gt;
&lt;/ol&gt;
&lt;ol start="8"&gt;
&lt;li&gt;Разумеется, используя Jinja и dbt, можно автоматизировать построение аналитических запросов, это так и называется Analyses. Скомпилированный код запроса, можно имплементировать в любимую BI-систему и наслаждаться результатами.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Общие впечатления очень положительные: dbt ждет большое будущее и развитие, ведь коммьюнити растет вместе с возможностями и ресурсами компании. Ждем коннекторов к другим СУБД помимо PostgreSQL, BigQuery, Snowflake, Redshift.&lt;/p&gt;
</description>
<pubDate>Tue, 01 Dec 2020 10:42:16 +0300</pubDate>
</item>


</channel>
</rss>