Быстрый старт для dbt и Snowflake
Введение
В этом руководстве быстрого старта вы узнаете, как использовать dbt со Snowflake. В нем показано, как:
- Создать новый worksheet в Snowflake.
- Загрузить пример данных в ваш аккаунт Snowflake.
- Подключить dbt к Snowflake.
- Взять пример запроса и превратить его в модель в вашем dbt‑проекте. Модель в dbt — это SQL‑запрос
select. - Добавить источники (sources) в ваш dbt‑проект. Источники позволяют именовать и описывать сырые данные, уже загруженные в Snowflake.
- Добавить тесты к вашим моделям.
- Задокументировать ваши модели.
- Запланировать выполнение job.
Snowflake также предоставляет собственный quickstart, который поможет вам изучить использование dbt. В нем используется другой публичный датасет (Knoema Economy Data Atlas), отличный от того, что показан в этом руководстве. Подробнее см. Accelerating Data Teams with dbt & Snowflake в документации Snowflake.
Вы можете бесплатно пройти курс dbt Fundamentals, если вам интересен формат обучения с видео.
Также вы можете посмотреть видео на YouTube про dbt и Snowflake.
Предварительные требования
- У вас есть аккаунт dbt.
- У вас есть trial‑аккаунт Snowflake. При создании trial‑аккаунта обязательно выберите редакцию Snowflake Enterprise, чтобы у вас был доступ
ACCOUNTADMIN. Для полноценного внедрения стоит учитывать организационные вопросы при выборе облачного провайдера. Подробнее см. Introduction to Cloud Platforms в документации Snowflake. Для целей этой настройки подойдут любые облачные провайдеры и регионы — выбирайте любой удобный.
Связанные материалы
- Узнайте больше с помощью курсов dbt Learn
- Как мы настраиваем Snowflake
- CI jobs
- Deploy jobs
- Уведомления о job
- Актуальность источников (Source freshness)
Создание нового Snowflake worksheet
- Войдите в ваш trial‑аккаунт Snowflake.
- В интерфейсе Snowflake нажмите + Create в левом верхнем углу под логотипом Snowflake — откроется выпадающее меню. Выберите первый пункт SQL Worksheet.
Загрузка данных
Данные, используемые в этом разделе, хранятся в виде CSV‑файлов в публичном S3‑бакете. Следующие шаги проведут вас через процесс подготовки аккаунта Snowflake для работы с этими данными и их загрузки.
-
Создайте новый виртуальный warehouse, две новые базы данных (одну для сырых данных, вторую — для будущей разработки в dbt) и две новые схемы (одну для данных
jaffle_shop, другую — для данныхstripe).Для этого выполните следующие SQL‑команды: введите их в Editor нового worksheet в Snowflake и нажмите Run в правом верхнем углу интерфейса:
create warehouse transforming;
create database raw;
create database analytics;
create schema raw.jaffle_shop;
create schema raw.stripe; -
В базе данных
rawи схемахjaffle_shopиstripeсоздайте три таблицы и загрузите в них соответствующие данные:-
Сначала удалите всё содержимое (очистите Editor) в worksheet Snowflake. Затем выполните следующую SQL‑команду для создания таблицы
customer:create table raw.jaffle_shop.customers
( id integer,
first_name varchar,
last_name varchar
); -
Очистите Editor, затем выполните эту команду для загрузки данных в таблицу
customer:copy into raw.jaffle_shop.customers (id, first_name, last_name)
from 's3://dbt-tutorial-public/jaffle_shop_customers.csv'
file_format = (
type = 'CSV'
field_delimiter = ','
skip_header = 1
); -
Очистите Editor (оставьте его пустым), затем выполните эту команду для создания таблицы
orders:create table raw.jaffle_shop.orders
( id integer,
user_id integer,
order_date date,
status varchar,
_etl_loaded_at timestamp default current_timestamp
); -
Очистите Editor, затем выполните эту команду для загрузки данных в таблицу
orders:copy into raw.jaffle_shop.orders (id, user_id, order_date, status)
from 's3://dbt-tutorial-public/jaffle_shop_orders.csv'
file_format = (
type = 'CSV'
field_delimiter = ','
skip_header = 1
); -
Очистите Editor (оставьте его пустым), затем выполните эту команду для создания таблицы
payment:create table raw.stripe.payment
( id integer,
orderid integer,
paymentmethod varchar,
status varchar,
amount integer,
created date,
_batched_at timestamp default current_timestamp
); -
Очистите Editor, затем выполните эту команду для загрузки данных в таблицу
payment:copy into raw.stripe.payment (id, orderid, paymentmethod, status, amount, created)
from 's3://dbt-tutorial-public/stripe_payments.csv'
file_format = (
type = 'CSV'
field_delimiter = ','
skip_header = 1
);
-
-
Убедитесь, что данные успешно загружены, выполнив следующие SQL‑запросы. Подтвердите, что для каждого из них отображается результат:
select * from raw.jaffle_shop.customers;
select * from raw.jaffle_shop.orders;
select * from raw.stripe.payment;
Подключение dbt к Snowflake
Существует два способа подключить dbt к Snowflake. Первый — Partner Connect, который предоставляет упрощенную настройку и позволяет создать аккаунт dbt прямо из вашего нового trial‑аккаунта Snowflake. Второй — создать аккаунт dbt отдельно и настроить подключение к Snowflake вручную. Если вы хотите начать как можно быстрее, dbt Labs рекомендует использовать Partner Connect. Если же вы хотите с самого начала кастомизировать настройку и лучше разобраться в процессе конфигурации dbt, dbt Labs рекомендует ручное подключение.
- Использовать Partner Connect
- Подключить вручную
Использование Partner Connect позволяет создать полноценный dbt‑аккаунт с подключением к Snowflake, управляемым репозиторием, окружениями и учетными данными.
-
В интерфейсе Snowflake нажмите на иконку «домой» в левом верхнем углу. В левой боковой панели выберите Data Products, затем — Partner Connect. Найдите плитку dbt, прокрутив список или воспользовавшись поиском. Нажмите на плитку, чтобы подключиться к dbt.
Если вы используете классическую версию интерфейса Snowflake, нажмите кнопку Partner Connect в верхней панели аккаунта. Затем нажмите на плитку dbt, чтобы открыть окно подключения.
-
Во всплывающем окне Connect to dbt найдите опцию Optional Grant и выберите базы данных RAW и ANALYTICS. Это предоставит доступ новой роли пользователя dbt к каждой базе данных. Затем нажмите Connect.
-
Когда появится всплывающее окно, нажмите Activate:
-
После загрузки новой вкладки вы увидите форму. Если вы уже создавали аккаунт dbt, вас попросят указать имя аккаунта. Если аккаунт еще не создан — потребуется указать имя аккаунта и пароль.
-
После заполнения формы и нажатия Complete Registration вы будете автоматически авторизованы в dbt.
-
В левом меню нажмите на имя аккаунта, затем выберите Account settings, выберите проект "Partner Connect Trial" и в таблице overview выберите snowflake. Нажмите edit и обновите поля Database и Warehouse, установив значения
analyticsиtransformingсоответственно.
-
Создайте новый проект в dbt. Перейдите в Account settings (нажав на имя аккаунта в левом меню) и нажмите + New Project.
-
Введите имя проекта и нажмите Continue.
-
В разделе Configure your development environment откройте выпадающее меню Connection и выберите Add new connection. Это перенаправит вас к настройкам подключения.
-
В разделе Type выберите Snowflake.
-
Укажите Settings для Snowflake:
-
Account — Найдите ваш аккаунт, используя URL trial‑аккаунта Snowflake, удалив из него
snowflakecomputing.com. Порядок информации в аккаунте зависит от версии Snowflake. Например, URL классической консоли может выглядеть так:oq65696.west-us-2.azure.snowflakecomputing.com. URL AppUI или Snowsight может выглядеть так:snowflakecomputing.com/west-us-2.azure/oq65696. В обоих случаях значением аккаунта будет:oq65696.west-us-2.azure. Подробнее см. Account Identifiers в документации Snowflake.✅ db5261993илиdb5261993.east-us-2.azure
❌ db5261993.eu-central-1.snowflakecomputing.com -
Role — Пока оставьте пустым. Позже вы сможете задать роль Snowflake по умолчанию.
-
Database —
analytics. Это указывает dbt создавать новые модели в базе данных analytics. -
Warehouse —
transforming. Это указывает dbt использовать warehouse transforming, созданный ранее.
-
-
Нажмите Save.
-
Настройте персональные учетные данные для разработки, перейдя в Your profile > Credentials.
-
Выберите проект, использующий подключение к Snowflake.
-
Нажмите ссылку configure your development environment and add a connection. Вы перейдете на страницу ввода персональных учетных данных.
-
Введите Development credentials для Snowflake:
- Username — Имя пользователя, созданное в Snowflake. Обычно это не email, а имя и фамилия, объединенные в одно слово.
- Password — Пароль, заданный при создании аккаунта Snowflake.
- Schema — Обратите внимание, что имя схемы было создано автоматически. По соглашению это
dbt_<first-initial><last-name>. Эта схема напрямую связана с вашим окружением разработки, и именно здесь будут создаваться модели при запуске dbt в Studio IDE. - Target name — Оставьте значение по умолчанию.
- Threads — Оставьте значение 4. Это количество одновременных подключений, которые dbt будет использовать для параллельной сборки моделей.
-
Нажмите Test connection. Это проверит, что dbt может получить доступ к вашему аккаунту Snowflake.
-
Если тест прошел успешно, нажмите Save, чтобы завершить настройку. Если тест не прошел, проверьте настройки Snowflake и учетные данные.
Настройка управляемого репозитория dbt
Если вы использовали Partner Connect, можете перейти сразу к разделу инициализация dbt‑проекта, так как Partner Connect уже предоставляет управляемый репозиторий. В противном случае вам потребуется создать подключение к репозиторию вручную.
При разработке в dbt вы можете использовать Git для управления версиями вашего кода.
Чтобы подключиться к репозиторию, вы можете либо настроить размещённый в dbt managed repository, либо напрямую подключиться к поддерживаемому git‑провайдеру. Managed repositories — это отличный способ попробовать dbt без необходимости создавать новый репозиторий. В долгосрочной перспективе лучше подключиться к поддерживаемому git‑провайдеру, чтобы использовать такие возможности, как автоматизация и непрерывная интеграция.
Чтобы настроить управляемый репозиторий:
- В разделе "Настроить репозиторий" выберите Управляемый.
- Введите имя для вашего репозитория, например,
bbaggins-dbt-quickstart. - Нажмите Создать. Создание и импорт вашего репозитория займет несколько секунд.
- Как только вы увидите сообщение "Репозиторий успешно импортирован", нажмите Продолжить.
Инициализация dbt‑проекта и начало разработки
Теперь, когда репозиторий настроен, вы можете инициализировать проект и начать разработку в dbt:
- Нажмите Start developing in the Studio IDE. При первом запуске это может занять несколько минут, так как настраивается git‑подключение, клонируется репозиторий и проверяется соединение с warehouse.
- Над деревом файлов слева нажмите Initialize your project. Это создаст структуру папок с примерами моделей.
- Сделайте первый коммит, нажав Commit and sync. Используйте сообщение коммита
initial commit. Это создаст первый коммит в управляемом репозитории и позволит открыть новую ветку для добавления dbt‑кода. - Теперь вы можете напрямую выполнять запросы к warehouse и запускать
dbt run. Попробуйте сделать это сейчас:- Нажмите + Create new file, добавьте следующий запрос в новый файл и нажмите Save as:
select * from raw.jaffle_shop.customers - В командной строке внизу введите
dbt runи нажмите Enter. Вы должны увидеть сообщениеdbt run succeeded.
- Нажмите + Create new file, добавьте следующий запрос в новый файл и нажмите Save as:
Если на этом этапе вы получаете ошибку недостаточных прав доступа (insufficient privileges) в Snowflake, возможно, роль Snowflake не имеет разрешений на доступ к сырым данным, на создание целевых таблиц и представлений, или и на то и на другое.
Для устранения проблемы используйте роль с достаточными правами (например, ACCOUNTADMIN) и выполните следующие команды в Snowflake.
Примечание: Замените snowflake_role_name на роль, которую вы планируете использовать. Если вы запускали dbt через Snowflake Partner Connect, используйте роль pc_dbt_role.
grant all on database raw to role snowflake_role_name;
grant all on database analytics to role snowflake_role_name;
grant all on schema raw.jaffle_shop to role snowflake_role_name;
grant all on schema raw.stripe to role snowflake_role_name;
grant all on all tables in database raw to role snowflake_role_name;
grant all on future tables in database raw to role snowflake_role_name;
Создание первой модели
В Studio IDE есть два варианта работы с файлами:
- Создать новую ветку (рекомендуется) — Создайте новую ветку для редактирования и коммита изменений. Перейдите в Version Control в левом сайдбаре и нажмите Create branch.
- Редактировать в защищенной основной ветке — Если вы предпочитаете редактировать, форматировать или линтить файлы и выполнять dbt‑команды прямо в основной git‑ветке. Studio IDE не позволяет делать коммиты в защищенную ветку, поэтому вам будет предложено закоммитить изменения в новую ветку.
Назовите новую ветку add-customers-model.
- Нажмите ... рядом с директорией
models, затем выберите Create file. - Назовите файл
customers.sqlи нажмите Create. - Скопируйте следующий запрос в файл и нажмите Save.
with customers as (
select
id as customer_id,
first_name,
last_name
from raw.jaffle_shop.customers
),
orders as (
select
id as order_id,
user_id as customer_id,
order_date,
status
from raw.jaffle_shop.orders
),
customer_orders as (
select
customer_id,
min(order_date) as first_order_date,
max(order_date) as most_recent_order_date,
count(order_id) as number_of_orders
from orders
group by 1
),
final as (
select
customers.customer_id,
customers.first_name,
customers.last_name,
customer_orders.first_order_date,
customer_orders.most_recent_order_date,
coalesce(customer_orders.number_of_orders, 0) as number_of_orders
from customers
left join customer_orders using (customer_id)
)
select * from final
- Введите
dbt runв командной строке внизу экрана. Запуск должен завершиться успешно, и вы увидите три модели.
Позже вы сможете подключить инструменты бизнес‑аналитики (BI) к этим представлениям и таблицам, чтобы они читали уже очищенные данные, а не сырые.
Изменение способа материализации модели
Одной из самых мощных функций dbt является возможность изменять способ материализации модели в вашем хранилище данных, просто изменяя значение конфигурации. Вы можете переключаться между таблицами и представлениями, изменяя ключевое слово, вместо того чтобы писать язык определения данных (DDL) для выполнения этого за кулисами.
По умолчанию все создается как представление. Вы можете переопределить это на уровне директории, чтобы все в этой директории материализовалось по-другому.
-
Отредактируйте ваш файл
dbt_project.yml.-
Обновите имя вашего проекта на:
dbt_project.ymlname: 'jaffle_shop' -
Настройте
jaffle_shopтак, чтобы всё внутри него материализовалось как таблица; и настройтеexampleтак, чтобы всё внутри него материализовалось как представление (view). Обновите конфигурациюmodelsв YAML-файле проекта следующим образом:dbt_project.ymlmodels:
jaffle_shop:
+materialized: table
example:
+materialized: view -
Нажмите Сохранить.
-
-
Введите команду
dbt run. Ваша модельcustomersтеперь должна быть построена как таблица!к сведениюДля этого dbt сначала должен был выполнить оператор
drop view(или API вызов на BigQuery), затем операторcreate table as. -
Отредактируйте
models/customers.sql, чтобы переопределитьdbt_project.ymlтолько для моделиcustomers, добавив следующий фрагмент в начало, и нажмите Сохранить:models/customers.sql{{
config(
materialized='view'
)
}}
with customers as (
select
id as customer_id
...
) -
Введите команду
dbt run. Ваша модельcustomersтеперь должна быть построена как представление.- Пользователям BigQuery необходимо выполнить
dbt run --full-refreshвместоdbt run, чтобы полностью применить изменения материализации.
- Пользователям BigQuery необходимо выполнить
-
Введите команду
dbt run --full-refresh, чтобы изменения вступили в силу в вашем хранилище данных.
Часто задаваемые вопросы
Удаление примерных моделей
Теперь вы можете удалить файлы, которые dbt создал при инициализации проекта:
-
Удалите директорию
models/example/. -
Удалите ключ
example:из вашего файлаdbt_project.yml, а также любые конфигурации, которые перечислены под ним.dbt_project.yml# до
models:
jaffle_shop:
+materialized: table
example:
+materialized: viewdbt_project.yml# после
models:
jaffle_shop:
+materialized: table -
Сохраните изменения.
Часто задаваемые вопросы
Построение моделей поверх других моделей
Как лучшая практика в SQL, следует разделять логику, которая очищает ваши данные, от логики, которая трансформирует ваши данные. Вы уже начали делать это в существующем запросе, используя общие табличные выражения (CTE).
Теперь вы можете поэкспериментировать, разделив логику на отдельные модели и используя функцию ref для построения моделей на основе других моделей:
-
Создайте новый SQL‑файл
models/stg_customers.sqlс SQL из CTEcustomersв нашем исходном запросе. -
Создайте второй SQL‑файл
models/stg_orders.sqlс SQL из CTEordersв нашем исходном запросе.models/stg_customers.sqlselect
id as customer_id,
first_name,
last_name
from raw.jaffle_shop.customersmodels/stg_orders.sqlselect
id as order_id,
user_id as customer_id,
order_date,
status
from raw.jaffle_shop.orders -
Отредактируйте SQL в файле
models/customers.sqlследующим образом:models/customers.sqlwith customers as (
select * from {{ ref('stg_customers') }}
),
orders as (
select * from {{ ref('stg_orders') }}
),
customer_orders as (
select
customer_id,
min(order_date) as first_order_date,
max(order_date) as most_recent_order_date,
count(order_id) as number_of_orders
from orders
group by 1
),
final as (
select
customers.customer_id,
customers.first_name,
customers.last_name,
customer_orders.first_order_date,
customer_orders.most_recent_order_date,
coalesce(customer_orders.number_of_orders, 0) as number_of_orders
from customers
left join customer_orders using (customer_id)
)
select * from final -
Выполните
dbt run.В этот раз при выполнении
dbt runбыли созданы отдельные представления/таблицы дляstg_customers,stg_ordersиcustomers. dbt самостоятельно определил порядок выполнения моделей. Посколькуcustomersзависит отstg_customersиstg_orders, dbt собираетcustomersпоследней. Явно определять зависимости не требуется.
Часто задаваемые вопросы
Построение моделей поверх источников
Источники (sources) позволяют именовать и описывать данные, загруженные в ваш warehouse инструментами извлечения и загрузки. Объявляя эти таблицы как источники в dbt, вы можете:
- выбирать данные из source‑таблиц в моделях с помощью функции
{{ source() }}, определяя lineage данных; - проверять ваши предположения о качестве исходных данных;
- рассчитывать актуальность (freshness) исходных данных.
-
Создайте новый YML‑файл
models/sources.yml. -
Объявите источники, скопировав следующий код в файл и нажав Save.
models/sources.yml
sources:
- name: jaffle_shop
description: This is a replica of the Postgres database used by our app
database: raw
schema: jaffle_shop
tables:
- name: customers
description: One record per customer.
- name: orders
description: One record per order. Includes cancelled and deleted orders. -
Отредактируйте файл
models/stg_customers.sql, чтобы выбирать данные из таблицыcustomersисточникаjaffle_shop.models/stg_customers.sqlselect
id as customer_id,
first_name,
last_name
from {{ source('jaffle_shop', 'customers') }} -
Отредактируйте файл
models/stg_orders.sql, чтобы выбирать данные из таблицыordersисточникаjaffle_shop.models/stg_orders.sqlselect
id as order_id,
user_id as customer_id,
order_date,
status
from {{ source('jaffle_shop', 'orders') }} -
Выполните
dbt run.Результаты
dbt runбудут точно такими же, как и на предыдущем шаге. Моделиstg_customersиstg_ordersпо‑прежнему будут обращаться к тем же сырым данным в Snowflake. Используяsource, вы можете тестировать и документировать сырые данные, а также понимать lineage ваших источников.
Добавьте тесты к вашим моделям
Добавление data tests в проект помогает убедиться, что ваши модели работают корректно.
Чтобы добавить data tests в проект:
-
Создайте новый YAML-файл в директории
models, назвав егоmodels/schema.yml. -
Добавьте в файл следующее содержимое:
models/schema.ymlversion: 2
models:
- name: customers
columns:
- name: customer_id
data_tests:
- unique
- not_null
- name: stg_customers
columns:
- name: customer_id
data_tests:
- unique
- not_null
- name: stg_orders
columns:
- name: order_id
data_tests:
- unique
- not_null
- name: status
data_tests:
- accepted_values:
arguments: # available in v1.10.5 and higher. Older versions can set the <argument_name> as the top-level property.
values: ['placed', 'shipped', 'completed', 'return_pending', 'returned']
- name: customer_id
data_tests:
- not_null
- relationships:
arguments:
to: ref('stg_customers')
field: customer_id -
Запустите
dbt testи убедитесь, что все ваши тесты прошли успешно.
Когда вы запускаете dbt test, dbt проходит по вашим YAML-файлам и создает запрос для каждого теста. Каждый запрос вернет количество записей, которые не прошли тест. Если это число равно 0, то тест считается успешным.
Часто задаваемые вопросы
Документируйте ваши модели
Добавление документации в ваш проект позволяет подробно описывать ваши модели и делиться этой информацией с вашей командой. Здесь мы добавим базовую документацию в наш проект.
-
Обновите ваш файл
models/schema.yml, чтобы включить в него некоторые описания, как показано ниже.models/schema.ymlversion: 2
models:
- name: customers
description: Одна запись на каждого клиента
columns:
- name: customer_id
description: Первичный ключ
data_tests:
- unique
- not_null
- name: first_order_date
description: NULL, если клиент еще не сделал заказ.
- name: stg_customers
description: Эта модель очищает данные о клиентах
columns:
- name: customer_id
description: Первичный ключ
data_tests:
- unique
- not_null
- name: stg_orders
description: Эта модель очищает данные о заказах
columns:
- name: order_id
description: Первичный ключ
data_tests:
- unique
- not_null
- name: status
data_tests:
- accepted_values:
arguments: # available in v1.10.5 and higher. Older versions can set the <argument_name> as the top-level property.
values: ['placed', 'shipped', 'completed', 'return_pending', 'returned']
- name: customer_id
data_tests:
- not_null
- relationships:
arguments:
to: ref('stg_customers')
field: customer_id -
Запустите
dbt docs generate, чтобы сгенерировать документацию для вашего проекта. dbt анализирует ваш проект и ваш склад данных, чтобы создать JSON файл с подробной документацией о вашем проекте.
- Нажмите на значок книги в интерфейсе Develop, чтобы открыть документацию в новой вкладке.
Часто задаваемые вопросы
Зафиксируйте изменения
Теперь, когда вы построили модель customers, нужно закоммитить внесённые в проект изменения, чтобы в репозитории оказался ваш актуальный код.
Если вы редактировали прямо в защищённой основной ветке:
- Нажмите кнопку Commit and sync git. Это действие подготовит ваши изменения к коммиту.
- Появится модальное окно Commit to a new branch.
- В модальном окне задайте имя новой ветки
add-customers-model. Эта ветка будет создана от вашей основной ветки вместе с новыми изменениями. - Добавьте сообщение коммита, например «Add customers model, tests, docs», и закоммитьте изменения.
- Нажмите Merge this branch to main, чтобы добавить эти изменения в ветку main вашего репозитория.
Если вы создали новую ветку до редактирования:
- Поскольку вы уже ответвились от защищённой основной ветки, слева перейдите в Version Control.
- Нажмите Commit and sync, чтобы добавить сообщение.
- Добавьте сообщение коммита, например «Add customers model, tests, docs».
- Нажмите Merge this branch to main, чтобы добавить эти изменения в ветку main вашего репозитория.
Разверните dbt
Используйте Scheduler в dbt, чтобы уверенно разворачивать продакшен‑джобы и добавлять наблюдаемость в ваши процессы. В следующих шагах вы научитесь создавать deployment environment и запускать job.
Создайте окружение развертывания (deployment environment)
- В главном меню перейдите в Orchestration > Environments.
- Нажмите Create environment.
- В поле Name введите имя окружения развертывания. Например, «Production».
- В поле dbt Version выберите последнюю версию из выпадающего списка.
- В разделе Deployment connection укажите имя датасета, который вы хотите использовать как target, например «Analytics». Это позволит dbt собирать объекты и работать с этим датасетом. В некоторых хранилищах данных целевой датасет может называться «schema».
- Нажмите Save.
Создайте и запустите job
Jobs — это набор команд dbt, которые вы хотите запускать по расписанию. Например, dbt build.
По мере того как бизнес jaffle_shop получает больше клиентов, а эти клиенты создают больше заказов, в исходных данных будет появляться больше записей. Поскольку вы материализовали модель customers как таблицу, вам нужно периодически пересобирать её, чтобы данные оставались актуальными. Это обновление будет происходить при запуске job.
- После создания окружения развертывания вы должны попасть на страницу нового окружения. Если нет — в главном меню выберите Orchestration, затем нажмите Jobs.
- Нажмите Create job > Deploy job.
- Укажите имя job (например, «Production run») и выберите окружение, которое вы только что создали.
- Прокрутите вниз до раздела Execution settings.
- В разделе Commands добавьте эту команду как часть job, если её нет:
dbt build
- Выберите опцию Generate docs on run, чтобы автоматически генерировать обновлённую документацию проекта при каждом запуске job.
- Для этого упражнения не задавайте расписание запуска проекта — хотя проекты в вашей организации должны выполняться регулярно, нет необходимости запускать этот примерный проект по расписанию. Планирование job иногда называют развёртыванием проекта.
- Нажмите Save, затем Run now, чтобы запустить job.
- Откройте запуск и следите за прогрессом в Run summary.
- Когда запуск завершится, нажмите View Documentation, чтобы посмотреть документацию проекта.
Поздравляем 🎉! Вы только что развернули свой первый dbt‑проект!











