2023 заметки о релизах dbt Cloud
Архивные примечания к релизам для dbt за 2023 год
Декабрь 2023
-
Обновления семантического слоя
Команда dbt Labs продолжает работать над добавлением новых функций, исправлением ошибок и повышением надежности семантического слоя dbt. Следующий список более подробно объясняет обновления и исправления за декабрь 2023 года.
Исправления ошибок
- Интеграция с Tableau — Интеграция семантического слоя dbt с Tableau теперь поддерживает запросы, которые разрешаются в условие "NOT IN". Это относится к использованию "exclude" в интерфейсе фильтрации пользователей. Ранее это не поддерживалось.
- Поддержка
BIGINT— Семантический слой dbt теперь может поддерживать значенияBIGINTс точностью более 18. Ранее это вызывало ошибку. - Утечка памяти — Исправлена утечка памяти в JDBC API, которая ранее приводила к периодическим ошибкам при запросах.
- Поддержка преобразования данных — Добавлена поддержка преобразования различных типов данных, специфичных для Redshift и Postgres. Ранее драйвер выдавал ошибку при встрече с колонками таких типов.
Улучшения
- Устаревание — Мы объявили устаревшими метрики dbt и устаревший семантический слой dbt, которые поддерживались в версии dbt 1.5 или ниже. Это изменение вступило в силу 15 декабря 2023 года.
- Улучшенный инструмент конвертации dbt — Инструмент конвертации dbt теперь может помочь автоматизировать часть работы по конвертации из LookML (язык моделирования Looker) для тех, кто мигрирует. Ранее это не было доступно.
-
Внешние атрибуты
Функция расширенных атрибутов в dbt Cloud теперь доступна в GA! Она позволяет переопределять любой атрибут YAML на уровне окружения, который принимает адаптер dbt в своем
profiles.yml. Вы можете предоставить фрагмент YAML, чтобы добавить или заменить любое значение профиля.Чтобы узнать больше, обратитесь к Расширенным атрибутам.
Текстовое поле Расширенные атрибуты доступно на странице настроек вашего окружения:
-
Устаревший семантический слой
dbt Labs объявил устаревшими метрики dbt и устаревший семантический слой dbt, которые поддерживались в версии dbt 1.5 или ниже. Это изменение вступает в силу 15 декабря 2023 года.
Это устаревание означает, что метрики dbt и устаревший семантический слой больше не поддерживаются. Мы также удалили эту функцию из пользовательского интерфейса dbt Cloud и сайта документации.
Почему это изменение?
Переизданный семантический слой dbt, работающий на MetricFlow, предлагает улучшенную гибкость, производительность и пользовательский опыт, что является значительным шагом вперед для сообщества dbt.
Ключевые изменения и влияние
- Дата устаревания — Устаревание устаревшего семантического слоя и метрик dbt официально произойдет 15 декабря 2023 года.
- Замена — MetricFlow заменяет метрики dbt для определения семантической логики. Пакет
dbt_metricsбольше не будет поддерживаться после устаревания. - Новая функция — Экспорт заменяет материализацию данных с функциональностью
metrics.calculateи будет доступен в dbt Cloud в декабре или январе.
Ломающее изменения и рекомендации
-
Для пользователей на версии dbt 1.5 и ниже с метриками dbt и прокси Snowflake:
-
Влияние: После устаревания запросы, использующие прокси, не будут выполняться.
-
Необходимое действие: Необходима немедленная миграция. Обратитесь к руководству по миграции семантического слоя dbt
-
Для пользователей на версии dbt 1.5 и ниже, использующих метрики dbt без прокси Snowflake:
-
Влияние: Никаких немедленных нарушений, но пакет не будет получать обновления или поддержку после устаревания.
-
Рекомендация: Запланируйте миграцию на переизданный семантический слой для совместимости с версиями dbt 1.6 и выше.
Взаимодействие и поддержка
- Обратная связь и поддержка сообщества — Взаимодействуйте и делитесь отзывами с командой dbt Labs и сообществом dbt в Slack, используя каналы, такие как #dbt-cloud-semantic-layer и #dbt-metricflow. Или свяжитесь с вашим представителем по аккаунту dbt Cloud.
- Ресурсы для обновления — Ознакомьтесь с дополнительной информацией и ресурсами, которые помогут вам обновить вашу версию dbt:
- Обновление версии в dbt Cloud
- Руководства по миграции версий
Ноябрь 2023
-
Новые возможности и изменения интерфейса в dbt Catalog
В dbt Cloud появились новые улучшения качества жизни для уведомлений по электронной почте и Slack о ваших заданиях:
- Вы можете добавлять внешние адреса электронной почты и отправлять уведомления о заданиях на них. Внешние электронные адреса могут быть:
- Адреса, которые находятся за пределами вашей учетной записи dbt Cloud
- Адреса сторонних интеграций для настройки уведомлений для таких сервисов, как Microsoft Teams или PagerDuty
- Вы можете настраивать уведомления для нескольких каналов Slack. Ранее можно было настраивать только один канал Slack.
- Теперь любой администратор аккаунта может редактировать уведомления Slack, а не только тот, кто их создал.
Чтобы узнать больше, ознакомьтесь с Уведомлениями о заданиях.
- Вы можете добавлять внешние адреса электронной почты и отправлять уведомления о заданиях на них. Внешние электронные адреса могут быть:
-
Уведомления о заданиях
В dbt Cloud появились новые улучшения качества жизни для уведомлений по электронной почте и Slack о ваших заданиях:
- Вы можете добавлять внешние адреса электронной почты и отправлять уведомления о заданиях на них. Внешние электронные адреса могут быть:
- Адреса, которые находятся за пределами вашей учетной записи dbt Cloud
- Адреса сторонних интеграций для настройки уведомлений для таких сервисов, как Microsoft Teams или PagerDuty
- Вы можете настраивать уведомления для нескольких каналов Slack. Ранее можно было настраивать только один канал Slack.
- Теперь любой администратор аккаунта может редактировать уведомления Slack, а не только тот, кто их создал.
Чтобы узнать больше, ознакомьтесь с Уведомлениями о заданиях.
- Вы можете добавлять внешние адреса электронной почты и отправлять уведомления о заданиях на них. Внешние электронные адреса могут быть:
-
Кэширование репозитория
Теперь для планов dbt Cloud Enterprise доступна новая опция для включения кэширования Git-репозитория для ваших запусков заданий. При включении dbt Cloud кэширует Git-репозиторий вашего проекта dbt и использует кэшированную копию, если происходит сбой с поставщиком Git. Эта функция улучшает надежность и стабильность ваших запусков заданий.
Чтобы узнать больше, обратитесь к Кэшированию репозитория.
Октябрь 2023
-
API dbt Cloud
Начиная с 1 декабря 2023 года, Административный API v2 и v3 будут ожидать, что вы ограничите все методы API "list" или
GETдо 100 результатов на запрос API. Это ограничение повышает эффективность и стабильность наших услуг. Если вам нужно обработать более 100 результатов, используйте параметры запросаlimitиoffsetдля постраничной навигации; в противном случае вы получите ошибку.Это максимальное ограничение применяется только к многоарендным экземплярам и не применяется к одноарендным экземплярам.
Подробнее о том, как реализовать пагинацию ответов API, см. разделы API v3 Pagination или API v2 Pagination.
-
dbt CLI
Мы рады объявить о выпуске dbt CLI — унифицированной командной строки для dbt, которая доступна в режиме публичного превью. Это локальная среда разработки, работающая на базе dbt Cloud. Начать работу очень просто: выполните
pip3 install dbtилиbrew install dbt, и вы готовы к работе.Мы продолжим инвестировать в IDE dbt Cloud как в самый простой и доступный способ начать использовать dbt, особенно для аналитиков данных, которые никогда не разрабатывали программное обеспечение с использованием командной строки. Мы будем продолжать улучшать скорость, стабильность и богатство функций IDE, как мы это делали весь год.
Мы также знаем, что многие люди, разрабатывающие в dbt, предпочитают локальную разработку, где они могут использовать свой любимый терминал, текстовый редактор, сочетания клавиш, цветовую схему и так далее. Это включает людей с опытом в области инженерии данных, а также тех аналитических инженеров, которые начали писать код в IDE dbt Cloud и расширили свои навыки.
Новый интерфейс командной строки dbt (CLI) объединяет лучшее из обоих подходов и предлагает:
- Возможность разработки на платформе dbt Cloud
- Гибкость вашей локальной настройки
Запускайте любые плагины, разработанные сообществом, хуки предварительного коммита или другие произвольные скрипты, которые вам нравятся.
Некоторые из уникальных возможностей этого dbt CLI включают:
- Автоматическое откладывание (deferral) артефактов сборки в production-окружение вашего проекта в Cloud
- Безопасное хранение учетных данных на платформе dbt Cloud
- Поддержку dbt Mesh (межпроектные
ref) (cross-projectref) - Рабочий процесс разработки для dbt Semantic Layer
- Более быстрые и менее затратные сборки
Подробнее см. в разделе dbt CLI.
-
Исправление пользовательской ветки
Если вы не установили пользовательскую ветку для вашего окружения dbt Cloud, она теперь по умолчанию устанавливается на ветку по умолчанию вашего Git-репозитория (например,
main). Ранее CI задания выполнялись для запросов на вытягивание (PR), которые были открыты против любой ветки или обновлены новыми коммитами, если опция Пользовательская ветка не была установлена.Azure DevOps
Ваши запросы на вытягивание (PR) могут не срабатывать против вашей ветки по умолчанию, если вы используете Azure DevOps, и ветка по умолчанию не является
mainилиmaster. Чтобы решить эту проблему, установите пользовательскую ветку с веткой, которую вы хотите нацелить. -
Автоустановка dbt deps
dbt Cloud IDE и dbt CLI теперь автоматически выполняют
dbt depsпри запуске окружения или при необходимости. Ранее во время инициализации инструмент предлагал пользователю вручную запуститьdbt deps.Этот улучшенный рабочий процесс доступен всем пользователям многоарендного dbt Cloud (поддержка одноарендных пользователей появится на следующей неделе) и применяется к версиям dbt.
Тем не менее, вам все равно следует запускать команду
dbt depsв следующих ситуациях:- Когда вы вносите изменения в файл
packages.ymlилиdependencies.ymlво время сеанса - Когда вы обновляете версию пакета в файле
packages.ymlилиdependencies.yml. - Если вы редактируете файл
dependencies.yml, и количество пакетов остается прежним, запуститеdbt deps. (Обратите внимание, что это известная ошибка, которую dbt Labs исправит в будущем.)
- Когда вы вносите изменения в файл
-
Поддержка повторных попыток
Ранее в dbt Cloud вы могли только перезапустить задание с ошибкой с самого начала, но теперь вы также можете перезапустить его с точки его сбоя.
Вы можете увидеть, какое задание не удалось завершить успешно, какая команда не удалась на этапе выполнения и выбрать, как его перезапустить. Чтобы узнать больше, обратитесь к Повторным попыткам заданий.
-
Обновления документации продукта
Привет от команды документации dbt: @mirnawong1, @matthewshaver, @nghi-ly и @runleonarun! Во-первых, мы хотели бы поблагодарить 15 новых участников сообщества, которые внесли вклад в docs.getdbt.com. Мы объединили 107 PR в сентябре.
Вот что нового на docs.getdbt.com:
- Перенос документации с Netlify на Vercel.
☁ Проекты Cloud
- Задания непрерывной интеграции (Continuous integration jobs) теперь общедоступны и больше не находятся в статусе beta.
- Добавлена страница с настройкой Postgres PrivateLink.
- Опубликована beta-документация для dbt Explorer.
- Добавлена новая документация по Semantic Layer — GraphQL API doc, а также обновлены документы по интеграциям с добавлением Hex. Мы также отреагировали на обратную связь сообщества dbt и уточнили сценарии использования Metricflow для dbt Core и dbt Cloud.
- Добавлен FAQ с описанием того, как выполнить миграцию с одного git‑провайдера на другой в dbt Cloud.
- Уточнён пример и добавлен раздел troubleshooting в документацию по подключению к Snowflake, чтобы описать распространённые ошибки и способы их решения.
🎯 Проекты Core
- Устарели версии dbt Core v1.0 и v1.1 в документации.
- Добавлены инструкции по настройке для плагина сообщества AWS Glue.
- Переработан быстрый старт dbt Core, чтобы сделать его более удобным для следования. Этот гид разделен на шаги, которые соответствуют другим руководствам.
Новые 📚 Руководства, ✏️ блог-посты и FAQ
Добавлен шаблон стиля, который вы можете скопировать и вставить, чтобы убедиться, что вы соблюдаете лучшие практики при стилизации проектов dbt!
Предстоящие изменения
Ожидайте множество релизов в октябре и фильтруемый раздел руководств, который упростит поиск руководств!
-
Семантический слой GA
Если вы используете устаревший семантический слой, мы настоятельно рекомендуем вам обновить вашу версию dbt до версии dbt v1.6 или выше и мигрировать на последний семантический слой.
dbt Labs с радостью объявляет, что семантический слой dbt теперь доступен в общем доступе. Он предлагает последовательную организацию данных, улучшенное управление, сниженные затраты, повышенную эффективность и доступные данные для лучшего принятия решений и сотрудничества в организациях.
Он направлен на то, чтобы принести лучшее из моделирования и семантики в downstream-приложения, вводя:
- Совершенно новые интеграции, такие как Tableau, Google Sheets, Hex, Mode и Lightdash.
- Новые API семантического слоя с использованием GraphQL и JDBC для запроса метрик и построения интеграций.
- Поддержка dbt Cloud многоарендных регионов для Северной Америки, EMEA и APAC. Поддержка одноарендных клиентов скоро появится.
- Скоро появится — Запланированные экспорты (способ создания таблиц в вашей платформе данных) как часть вашего задания dbt Cloud. Используйте API для вызова экспорта, а затем получайте доступ к ним в вашем предпочтительном BI-инструменте.
Используйте универсальный семантический слой dbt для определения и запроса метрик в интеграционных инструментах.Семантический слой dbt доступен для многопользовательских тарифных планов dbt Cloud Team или Enterprise при использовании dbt версии 1.6 или выше.
- Клиенты Team и Enterprise могут использовать до 1 000 Queried Metrics в месяц без дополнительной оплаты в рамках ограниченного пробного периода при условии разумного использования. Подробнее см. в разделе Billing.
- Пользователи тарифного плана dbt Developer и пользователи dbt Core могут определять метрики, но не смогут запрашивать их с помощью интегрированных инструментов.
September 2023
-
Обновления CI
Теперь в dbt Cloud есть два отдельных типа jobs: deploy jobs для сборки production data assets и jobs для continuous integration (CI) для проверки изменений кода. Эти jobs выполняют принципиально разные задачи, поэтому dbt Labs улучшила процесс настройки, добавив более удачные настройки по умолчанию для каждого типа.
Благодаря двум типам jobs вместо одного универсального типа мы можем лучше проводить вас через процесс настройки. Best practices встроены в настройки по умолчанию, поэтому вы можете перейти от интереса к готовой настройке за считанные секунды.
Кроме того, теперь проверки CI выполняют более эффективное сравнение state: вы не будете тратить сборку или тесты на код, который не менялся. Теперь мы более эффективно сравниваем код в pull request (PR) в Git и то, что запущено в production, благодаря появлению deferral на environment вместо deferral на job. Подробнее см. Continuous integration в dbt.
Ниже — сравнительная таблица, описывающая, чем отличаются deploy jobs и CI jobs:
Deploy Jobs CI Jobs Назначение Собирает production data assets. Собирает и тестирует новый код перед merge изменений в production. Типы триггеров Запускается по расписанию или через API. Запускается коммитом в PR или через API. Место сборки Собирает в production database и schema. Собирает в staging database и ephemeral schema, существующую на протяжении жизни PR. Режим выполнения Запускает execute последовательно, чтобы не было коллизий на базовом DAG. Запускает execute параллельно, чтобы ускорять работу команд. Экономия запусков Определяет избыточно запланированные jobs и отменяет лишние запуски, чтобы не забивать очередь. Отменяет текущие запуски, когда пушится более новый коммит, чтобы избежать повторной работы. Сравнение state Лишь иногда требуется определять state. Почти всегда нужно сравнивать state с production environment, чтобы собирать измененный код и его зависимости. Loading table... Что нужно обновить
-
Если вы хотите настроить CI environment для ваших jobs, dbt Labs рекомендует создать CI job в отдельном deployment environment, который подключен к staging database. Подробнее о best practices для environments см. руководство Get started with continuous integration tests.
-
Если вы настроили CI job до 2 октября 2023, после этого обновления job могла быть ошибочно классифицирована как deploy job. Ниже описано, как исправить тип job:
Если вы использовали API endpoint Create Job, но не указали
"triggers":triggers.git_provider_webhook, job была классифицирована как deploy job, и вам нужно пересоздать ее, как описано в Trigger a CI job with the API.Если вы использовали UI dbt, но не включили опцию Run on Pull Requests, которая находилась во вкладке Continuous Integration (CI), job была классифицирована как deploy job, и вам нужно пересоздать ее, как описано в Set up CI jobs.
Чтобы проверить тип job, откройте список CI jobs в dbt в разделе Run History и проверьте наличие тега CI Job под именем job. Если тега нет, job была классифицирована неверно и ее нужно пересоздать.
CI update phase 3 — Обновление: улучшено автоматическое удаление временных схем
Временные схемы теперь автоматически удаляются (drop) для всех адаптеров (например, Databricks), подключений PrivateLink и переменных окружения в connection strings.
dbt Labs переработала архитектуру удаления схем для запусков continuous integration (CI). Мы создали новый сервис, который удаляет любую schema с префиксом
dbt_cloud_pr_, созданную PR-запуском.Однако временные схемы не будут удаляться автоматически, если:
- Ваш проект переопределяет макрос generate_schema_name, но в нем нет требуемого префикса
dbt_cloud_pr_. Подробности см. в разделе Troubleshooting. - Вы используете ненативную интеграцию Git. Это связано с тем, что автоматическое удаление зависит от входящих webhook’ов от провайдеров Git, а это доступно только через нативные интеграции.
-
-
Обновления продуктовой документации
Привет от команды Product Documentation в dbt (той самой, которая отвечает за сайт docs.getdbt.com): @mirnawong1, @matthewshaver, @nghi-ly и @runleonarun. Каким насыщенным выдалось лето! Мы смёрджили 256 PR в период с 1 июля по 31 августа.
Мы хотим отметить вклад и поддержку со стороны нашей партнерской команды Developer Experience: @jasnonaz @gwenwindflower @dbeatty10 @dataders @joellabes @Jstein77 @dave-connors-3!
Также выражаем особую благодарность 22 участникам сообщества, которые впервые внесли вклад в dbt Product docs. На основе обратной связи от сообщества dbt мы внесли следующие изменения:
- Добавили таблицу прав доступа для Enterprise‑аккаунтов.
- Добавили страницу про сессию в браузере, которая уточняет длительность браузерной сессии в dbt Cloud и то, когда пользователя разлогинивает.
Вы можете оставить обратную связь, открыв pull request или issue в нашем репозитории, или написав в Slack‑сообществе dbt в канал #dbt-product-docs).
⚡ Общие проекты по документации
- Добавили возможность сворачивать секции, которые вы сейчас не просматриваете. Многие этого хотели, и нас это тоже раздражало, так что мы рады, что успели доставить!
- Ввели понятие «Trusted» адаптеров.
☁ Cloud projects
- Виджет продуктовых обновлений What’s new? снова доступен в UI dbt Cloud! Команда документации начнет обновлять контент, чтобы держать вас в курсе новых функций.
- Выпустили обновлённые Semantic Layer beta docs: они знакомят пользователей с новым API, новым руководством по настройке MetricFlow и Semantic Layer, а также с переработанным разделом «Use the dbt Semantic Layer».
- Обновили документацию по Admin API v2 и v3, чтобы было проще понять различия между ними и в какой версии есть нужные вам эндпоинты.
- Чтобы улучшить discoverability, команда документации изменила deploy dbt sidebar: добавили карточки и лучше выровняли структуру с UI dbt Cloud и тем, как продукт используется.
- Объявили устаревшими (deprecated) legacy job schemas в Discovery API.
- Добавили страницу с описанием experimental и beta features в dbt Cloud и важной информацией о них.
- Добавили раздел, представляющий новую beta‑фичу Extended Attributes, которая позволяет пользователям задавать гибкий фрагмент
profiles.ymlв настройках Environment в dbt Cloud.
🎯 Core projects
- Мы выпустили dbt 1.6! Мы добавили документацию для новых команд
dbt retryиdbt clone.
Новые 📚 гайды, ✏️ blog posts и FAQ
- Посмотрите, как участники сообщества используют dbt community, в разделе Community spotlight.
- Летом были опубликованы посты: Optimizing Materialized Views with dbt, Data Vault 2.0 with dbt Cloud и Create dbt Documentation and Tests 10x faster with ChatGPT.
- У нас также появились два новых best practice guide: How we build our metrics и Set up Continuous Integration.
-
Удаление prerelease-версий
Ранее, когда dbt Labs выпускала новую версию в dbt Cloud, более старая prerelease patch‑версия и версия latest оставались доступными в выпадающем списке в Environment settings. Теперь, когда выпускается версия latest, prerelease‑версия будет удаляться, а все пользователи, которые остаются на ней, будут автоматически мигрированы без лишних шагов. Во время этой миграции не будет перерывов в работе сервиса.
Чтобы посмотреть, какую версию вы используете сейчас, и выполнить обновление, выберите Deploy в верхней навигации и откройте Environments. Выберите нужное окружение и нажмите Settings. Нажмите Edit, чтобы изменить текущую версию dbt. dbt Labs рекомендует по возможности всегда использовать последнюю версию, чтобы получать доступ к новым функциям и возможностям.
Август 2023
-
Deprecation of endpoints in the Discovery API
dbt Labs объявили устаревшими и продолжают объявлять устаревшими некоторые паттерны запросов, заменяя их новыми соглашениями, чтобы повысить производительность Discovery API в dbt Cloud.
Все эти изменения вступят в силу 7 сентября 2023 года.
Мы понимаем, что эти изменения могут потребовать корректировок в ваших существующих интеграциях с Discovery API. Пожалуйста, свяжитесь с нами, если у вас возникнут вопросы. Мы готовы помочь вам в этот переходный период.
Запросы на основе вакансий
Job-based запросы, использующие тип данных
Intдля ID, будут объявлены устаревшими. Они будут помечены как deprecated в GraphQL explorer. Новое соглашение предполагает использование типа данныхBigInt.Это изменение вступит в силу с 7 сентября 2023 года.
Пример запроса до объявления устаревшим:
query ($jobId: Int!) {
models(jobId: $jobId){
uniqueId
}
}Пример запроса после объявления устаревшим:
query ($jobId: BigInt!) {
job(id: $jobId) {
models {
uniqueId
}
}
}modelByEnvironment queries
Объект
modelByEnvironmentбыл переименован и перемещён внутрь объектаenvironment. Это изменение уже действует с 15 августа 2023 года.Пример запроса до объявления устаревшим:
query ($environmentId: Int!, $uniqueId: String) {
modelByEnvironment(environmentId: $environmentId, uniqueId: $uniqueId) {
uniqueId
executionTime
executeCompletedAt
}
}Пример запроса после объявления устаревшим:
query ($environmentId: BigInt!, $uniqueId: String) {
environment(id: $environmentId) {
applied {
modelHistoricalRuns(uniqueId: $uniqueId) {
uniqueId
executionTime
executeCompletedAt
}
}
}
}Environment and account queries
Запросы к окружениям и аккаунтам, использующие тип
Intдля ID, объявлены устаревшими. Теперь ID должны передаваться в форматеBigInt. Это изменение действует с 15 августа 2023 года.Пример запроса до объявления устаревшим:
query ($environmentId: Int!, $first: Int!) {
environment(id: $environmentId) {
applied {
models(first: $first) {
edges {
node {
uniqueId
executionInfo {
lastRunId
}
}
}
}
}
}
}Пример запроса после объявления устаревшим:
query ($environmentId: BigInt!, $first: Int!) {
environment(id: $environmentId) {
applied {
models(first: $first) {
edges {
node {
uniqueId
executionInfo {
lastRunId
}
}
}
}
}
}
} -
dbt Cloud IDE v1.2
Мы рады сообщить, что заменили backend‑сервис, на котором работает Cloud IDE, на более надёжный сервер — dbt-server. Поскольку этот релиз содержит фундаментальные изменения, IDE v1.2 требует dbt v1.6 или выше. Это значимое обновление следует за переработкой frontend‑части IDE в прошлом году. Мы продолжаем улучшать IDE, чтобы обеспечить вам более качественный опыт работы.
Ранее Cloud IDE использовала dbt-rpc — устаревший сервис, который не успевал за изменениями в dbt-core. Интеграция dbt-rpc опиралась на legacy entry points и систему логирования dbt-core, из‑за чего была медленной, хрупкой и плохо тестируемой. Команда Core была вынуждена учитывать эти ограничения, чтобы не нарушить работу сервиса, что мешало разработке с высокой скоростью и уверенностью.
Новые возможности
- Лучшая совместимость с dbt-core: Cloud IDE теперь лучше поддерживает команды dbt-core, включая
dbt list, а также улучшенную работу с флагами--vars,--fail-fastи другими. - Повышенная поддерживаемость: С новым dbt-server стало проще исправлять ошибки и повышать общее качество продукта. В dbt-rpc исправление багов было трудоёмким и требовало обширного тестирования. Новый сервис позволяет находить и устранять проблемы быстрее, делая IDE более стабильной и надёжной.
- Более надёжный сервис: Упрощённая архитектура, менее подверженная сбоям.
Улучшения продукта
- Улучшенные возможности
Previewпри использовании Core v1.6 + IDE v1.2. Подробности — в этом Loom-видео.
Исправления ошибок
- Глобальная страница могла становиться «инертной» и переставать обрабатывать клики
- Переключение между файлами в режиме git diff могло приводить к перезаписи
- Браузер зависал при предпросмотре markdown-документов с большими таблицами
- Контекстное меню редактора (right click) отображалось со смещением
- Невозможно отменить действие в компоненте Save New File при закрытии всех файлов в IDE
- Мерцание мыши в дереве файлов модального окна затрудняло выбор папки для сохранения нового файла
- Snapshots не отображались в Lineage при нахождении в подпапке и смешанном регистре имени
- Подсказки (tooltips) не работали для Format и Save
- При выполнении dbt или парсинге попытка переключить ветку приводила к автоматическому закрытию выпадающего списка
Git Branch
Известные проблемы
- Функция
{{this}}некорректно отображается в preview/compile при использовании dbt-server
- Лучшая совместимость с dbt-core: Cloud IDE теперь лучше поддерживает команды dbt-core, включая
Июль 2023
-
Более быстрые запуски и неограниченная параллельность заданий для аккаунтов Enterprise
Мы внедрили значительные улучшения в планировщик dbt Cloud, повысив производительность, надёжность и масштабируемость.
Узнайте подробнее о том, как получить более быстрый старт запусков и как пользователи Enterprise теперь могут выполнять неограниченное количество заданий параллельно.
Более быстрый старт запусков
Планировщик отвечает за подготовку каждого задания dbt Cloud к запуску в вашей облачной платформе данных. Эта подготовка включает создание Kubernetes-пода с нужной версией dbt, настройку переменных окружения, загрузку учётных данных платформы данных, авторизацию git-провайдера и другие задачи по настройке окружения. Только после этого начинается выполнение dbt. В dbt Cloud это время отображается пользователю как «prep time».
Несмотря на все преимущества Kubernetes, у него есть и сложности — в частности, управление подами может влиять на время запуска заданий. Мы переработали планировщик, обеспечив более быстрый запуск за счёт пула уже готовых подов для выполнения заданий клиентов. Это означает, что вы больше не столкнётесь с длительным временем подготовки в начале часа, и мы стремимся к тому, чтобы запуски начинались практически мгновенно. Не верьте нам на слово — посмотрите на данные сами.
Время подготовки заданий сократилось на 75% с января 2023 по июль 2023. В январе prep time составляло 106 секунд, а к июлю — 27 секунд.Ранее задания, запланированные на начало часа, требовали более 106 секунд на подготовку из-за большого количества запусков, обрабатываемых планировщиком. Теперь даже при увеличившемся числе запусков мы сократили максимальное время подготовки до 27 секунд — это ускорение на 75% в периоды пиковой нагрузки!
Неограниченная параллельность заданий для аккаунтов Enterprise
Обновлённый планировщик обеспечивает большую надёжность и позволяет пользователям без усилий запускать задания.
Это означает, что Enterprise-аккаунты в мультиарендной среде теперь могут пользоваться преимуществами неограниченной параллельности заданий. Ранее такие аккаунты были ограничены фиксированным числом слотов запусков, а теперь они могут работать без подобных ограничений. Поддержка single-tenant будет добавлена в ближайшее время.
Важно учитывать, что каждое выполняющееся задание занимает один слот на всё время своего выполнения, и если все слоты заняты, новые задания будут поставлены в очередь.
Подробнее о возможностях см. на странице тарифов dbt.
Обратите внимание: аккаунты Team, созданные после июля 2023 года, также получают неограниченную параллельность заданий:
- Legacy-аккаунты Team имеют фиксированное количество слотов запусков.
- Планы Team и Developer ограничены одним проектом. Для задач большего масштаба наш план Enterprise предлагает такие возможности, как аудит логов, неограниченная параллельность заданий и проектов и многое другое.
Июнь 2023
-
Линтинг и форматирование
dbt Labs с радостью объявляет, что теперь вы можете выполнять линтинг и форматирование dbt-кода прямо в dbt Cloud IDE. Это улучшенный workflow разработки, который позволяет без лишних усилий уделять приоритет качеству кода.
Линтинг и форматирование доступны для пяти типов файлов: SQL, YAML, Markdown, Python и JSON.
Для SQL-файлов вы можете легко выполнять линтинг и форматирование с помощью SQLFluff и применять единый стиль форматирования с использованием sqlfmt. Кроме того, для других типов файлов — YAML, Markdown, JSON и Python — вы можете использовать соответствующие инструменты на базе Prettier и Black, чтобы обеспечить чистое и стандартизированное форматирование кода.
Подробнее см. в разделе Линтинг и форматирование кода.
-
Обновления CI
CI в dbt Cloud — это ключевая часть workflow аналитической инженерии. Крупные команды полагаются на выстроенные процессы, чтобы поддерживать высокое качество кода, и используют dbt Cloud CI для автоматизации тестирования изменений эффективным образом — сохраняя высокую скорость работы без снижения стандартов. Благодаря статус-чекам, которые напрямую публикуются в PR в dbt, разработчики получают уверенность в том, что их изменения будут корректно работать в продакшене. А когда вы привыкнете видеть зелёную галочку в PR, работать иначе уже не захочется.
Ключевое отличие CI в dbt от других CI-решений заключается в том, что он учитывает состояние продакшен-окружения. Благодаря этому при запуске CI-задачи собираются и тестируются только изменённые data-ассеты из pull request и их downstream-зависимости — и всё это в staging-схеме. dbt стремится сделать каждую CI-проверку максимально эффективной, чтобы не расходовать ресурсы хранилища данных впустую. Сразу после завершения CI-запуска его статус автоматически публикуется обратно в PR в GitHub, GitLab или Azure DevOps — в зависимости от используемого Git-провайдера. Команды могут настраивать guardrails, разрешая мердж только тех PR, которые успешно прошли CI-проверки, а процесс peer-review становится значительно проще, поскольку первый этап тестирования берёт на себя dbt.
Мы рады представить несколько ключевых возможностей в dbt CI, которые повысят продуктивность и улучшат совместную работу в процессах тестирования и интеграции. Начиная с этой недели, вы можете:
-
Запускать несколько CI-проверок параллельно. Если несколько участников почти одновременно вносят изменения в один и тот же dbt-проект, последующие CI-проверки больше не ждут завершения предыдущих — они выполняются параллельно.
-
Автоматически отменять устаревшие CI-запуски. Если вы отправляете несколько коммитов в один PR, dbt автоматически отменяет старые, уже неактуальные CI-проверки. Никаких лишних затрат ресурсов на проверку устаревшего кода.
-
Запускать CI-проверки без блокировки продакшен-запусков. CI-проверки больше не занимают run-слоты, что позволяет запускать любое количество CI-задач без влияния на продакшен-джобы.
Подробнее см. разделы Непрерывная интеграция и CI-задания.
-
-
Admin API
dbt Labs обновили документацию для Administrative API dbt Cloud — теперь она доступна как для версии v2, так и для v3.
- Теперь используется Spotlight для улучшенного UI и UX.
- Все эндпоинты задокументированы для v2 и v3. В документацию добавлена автоматизация, чтобы она всегда оставалась актуальной.
- Задокументированы многие тела запросов и ответов.
- Теперь вы можете тестировать эндпоинты прямо из документации API, а также выбирать региональный сервер (Северная Америка, APAC или EMEA).
- В новом интерфейсе стало проще генерировать код для любого эндпоинта.
-
Обновления продуктовой документации
Привет от команды dbt Docs: @mirnawong1, @matthewshaver, @nghi-ly и @runleonarun! В первую очередь мы хотим поблагодарить 17 новых контрибьюторов сообщества docs.getdbt.com — ✨ @aaronbini, @sjaureguimodo, @aranke, @eiof, @tlochner95, @mani-dbt, @iamtodor, @monilondo, @vrfn, @raginjason, @AndrewRTsao, @MitchellBarker, @ajaythomas, @smitsrr, @leoguyaux, @GideonShils, @michaelmherrera!
Вот что нового появилось на docs.getdbt.com в июне:
☁ Cloud-проекты
- Мы уточнили нюансы CI и CI jobs, обновили материалы по Scheduler, добавили две новые страницы про настройки джобов и видимость запусков, перенесли страницу project state на страницу Syntax, а также добавили лендинг для Deploying with Cloud, чтобы упростить навигацию по контенту.
- Мы переработали страницу Supported data platforms: добавили туда dbt Cloud, разбили контент на несколько страниц, начали использовать карточки для отображения проверенных адаптеров и перенесли страницы Warehouse setup в раздел Docs.
- Мы запустили новую страницу Lint and format, посвящённую новым возможностям линтинга и форматирования в dbt Cloud IDE.
- Мы связали release notes dbt Cloud с сообществом dbt в Slack. Теперь новые релиз-ноты dbt Cloud автоматически публикуются в Slack-канале #dbt-cloud через RSS, чтобы пользователи всегда были в курсе изменений.
- Мы добавили две новые ссылки на документацию прямо в UI настроек dbt Cloud Jobs — это поможет пользователям успешнее настраивать джобы: job commands и job triggers.
- Мы добавили информацию о новой IT-лицензии, доступной в тарифах Team и Enterprise.
- Мы запустили новую страницу Supported browser со списком рекомендованных браузеров для dbt Cloud.
- Мы опубликовали новую страницу про Experimental features в dbt Cloud.
- Мы совместно с командой dbt Engineering помогли опубликовать новые бета-версии документации по Administrative API dbt Cloud.
🎯 Core-проекты
- Мы запустили новую документацию по MetricFlow в бета-версии dbt Core v1.6.
- Мы разделили страницу Global configs на отдельные страницы, чтобы упростить навигацию и поиск.
Новые 📚 руководства, ✏️ блог-посты и FAQ
- Добавили пример для Azure DevOps в руководство Customizing CI/CD with custom pipelines.
Май 2023
-
dbt Cloud IDE
Чтобы продолжать улучшать опыт разработки в Cloud IDE, команда dbt Labs активно работает над добавлением новых функций, исправлением багов и повышением надёжности ✨.
Следите за обновлениями, связанными с IDE, в разделе IDE-related changes.
Новые возможности
- Линтинг SQL с помощью SQLFluff теперь доступен в бете (GA — в течение ближайших 2–3 недель)
- Форматирование Markdown-файлов с помощью Prettier
- Использование шорткатов для улучшения developer experience, включая
Ctrl + \`` (открыть/закрыть панель истории),CMD + Option + /(включить/выключить блочный комментарий),CMD + Shift + P(открыть палитру команд),Option + W` (закрыть вкладку редактора) - Отображение имени родительской папки для файлов с одинаковыми именами в разделе Changes
- Быстрая навигация по новым возможностям IDE через страницу помощи IDE User Interface
- Использование
top Xв SQL при предпросмотре запросов в IDE - Возможность перейти на новый backend-слой IDE (по-прежнему с dbt-rpc); бета-версия ожидается позже в июне
Улучшения продукта
- Улучшения производительности:
- Время холодного старта сокращено более чем на 60%
- Время рендера модальных окон в IDE улучшено на 98%
- Повышена производительность IDE при использовании dbt Core v1.5+ (быстрее и отзывчивее — настоятельно рекомендуем обновить версию dbt!)
- Обновлён sqlfmt (используется кнопкой Format) до версии 0.18.0
- Кнопка Build теперь меняет доступные опции в зависимости от типа файла/модели (snapshot, macro и т.д.)
- Добавлено сообщение с предложением отключить adblocker при ошибке загрузки содержимого файла
- Кнопка Format перенесена в панель консоли
- Выполнено множество улучшений безопасности в IDE
Исправления ошибок
- Размеры иконок файлов больше не «ломаются» на маленьких экранах
- Toast-уведомления больше не перекрывают меню командной строки
- Всплывающая информация при наведении в редакторе больше не обрезается
- Переход между файлом и недавно изменённым scratchpad больше не вызывает ошибок в консоли
- IDE теперь доступна для dbt v1.5+
- Кнопка Confirm в модальном окне Unsaved Changes теперь корректно закрывает окно
- Длинные имена нод больше не выходят за границы в разделе parsed logs панели истории
- Status pill в панели истории больше не масштабируется при длинных командах
- Tooltip вкладки с длинным именем файла больше не обрезается
- Кнопка Lint больше не доступна в main-ветке
-
Улучшения истории запусков
В dbt Cloud стали доступны новые улучшения удобства использования и дизайна дашборда Run History. Эти изменения помогают быстрее находить нужную информацию за счёт сокращения количества кликов, вывода более релевантных данных, сохранения состояния потока (flow state) и более интуитивного интерфейса.
Ключевые изменения:
- Улучшения удобства для CI-запусков: ссылки на ветку, PR и commit SHA, а также более наглядные имена временных схем
- Предпросмотр сообщений об ошибках при наведении
- Ссылки на окружение
- Более понятные иконки статусов запусков
- Более явное указание причины запуска (API, по расписанию, pull request, запуск пользователем)
- Дополнительная информация о времени запуска при наведении
- Отображение таймаута запуска
dbt Labs также меняет политику хранения и получения метаданных для истории запусков в dbt Cloud.
Начиная с 1 июня 2023 года разработчики, использующие мультиарендное приложение dbt, смогут самостоятельно получать доступ к истории запусков своего аккаунта через интерфейс dbt и API только за последние 365 дней (по скользящему окну). Более старая история запусков будет доступна по запросу через службу поддержки. Мы стремимся минимизировать объём хранимых метаданных, одновременно повышая производительность приложения.
В частности, все
GET-запросы к эндпоинту dbt Cloud Runs будут возвращать информацию о запусках, артефактах, логах и шагах выполнения только за последние 365 дней. Аналогично, в интерфейсе dbt Cloud будет отображаться история запусков лишь за этот период.Более старая история запусков будет храниться в холодном хранилище и может быть предоставлена клиентам по запросу. Чтобы получить данные о старых запусках, свяжитесь со службой поддержки по адресу support@getdbt.com или воспользуйтесь чатом в приложении dbt Cloud, нажав на иконку
?в интерфейсе. -
Улучшения деталей запусков и логов
В dbt Cloud также стали доступны новые улучшения удобства использования и дизайна страницы деталей запуска и логов. Возможность быстро разбирать ошибки в логах — одно из ключевых преимуществ использования джобов и планировщика dbt Cloud. Эти обновления значительно упрощают поиск первопричин ошибок.
Основные изменения:
- Отображение состояния предупреждения (warn) на уровне шага запуска
- Поиск по логам
- Более удобное обнаружение ошибок и предупреждений в логах
- Ленивую загрузку логов, благодаря чему страница деталей запуска загружается быстрее и ощущается более производительной
- Более чистый и аккуратный интерфейс с улучшенной иконографией
- Полезные подсказки (tooltips)
-
Обновления продуктовой документации
Привет от команды dbt Docs: @mirnawong1, @matthewshaver, @nghi-ly и @runleonarun! В первую очередь хотим поблагодарить 13 новых контрибьюторов сообщества docs.getdbt.com!
Вот что нового появилось на docs.getdbt.com в мае:
🔎 Обнаруживаемость
- Мы явно обозначили, что пользователям dbt Cloud не нужен файл profiles.yml, добавив соответствующие подсказки на нескольких ключевых страницах.
- Доработали страницу про Jinja-переменную
model, в которой ранее не хватало концептуальных объяснений и не было ссылки на страницу схем. - Добавили новую лендинговую страницу Quickstarts. Новый формат закладывает основу для будущих итераций с фильтрацией, а пока позволяет проходить quickstart-гайды в более сфокусированном виде.
Cloud-проекты
- Запустили документацию по интерфейсу dbt Cloud IDE, в которой подробно разобраны элементы UI и их назначение.
- Запустили обновлённую страницу dbt Cloud Scheduler ✨ — раньше про планировщик было мало информации, а теперь появился полноценный раздел с описанием его возможностей и принципов работы.
- Обновили страницу лицензий пользователей dbt Cloud, чтобы прояснить процесс добавления и удаления пользователей.
- Опубликовали документацию по Discovery API одновременно с его запуском:
🎯 Core-проекты
- Посмотрите, что готовится в dbt Core v1.6!
- Мы превратили страницу про
profiles.ymlв лендинг, добавили больше контекста и переместили раздел «About CLI» выше в секцииSet up dbt.
Новые 📚 руководства, ✏️ блог-посты и FAQ
Если вы хотите поучаствовать в создании блог-постов, сейчас мы фокусируемся на следующем контенте:
- Опубликован блог-пост: Ускорьте процесс документирования: генерация документации сразу для целых папок
- Опубликован блог-пост: Data engineers + dbt v1.5: эволюция ремесла для масштабирования
- Добавлен FAQ, отвечающий на популярный вопрос: почему dbt при компиляции требуется подключение к базе данных?
- Опубликована статья на Discourse о настройке уведомлений о джобах для пользователей вне dbt Cloud
Апрель 2023
-
dbt Cloud IDE
Новые функции
- Новое предупреждающее сообщение предлагает вам вызвать
dbt deps, когда это необходимо (как сообщаетсяdbt-score). - Новое предупреждающее сообщение появляется, когда вы выбираете модели, но не сохраняете их перед нажатием Сборка или вызовом dbt (например, dbt build/run/test).
- Предварительные просмотры файлов Markdown и CSV теперь доступны в консоли IDE.
- Меню дерева файлов теперь включает опцию Дублировать файл.
- Отображение времени загрузки при предварительном просмотре модели.
Усовершенствования продукта
- Улучшение опыта автозаполнения, который работал медленно для людей с большими проектами и которые реализуют ограничение на максимальный
manifest.jsonдля этой функции. - Введение постраничной навигации для представления сводки узлов вызова (отображение 100 узлов за раз).
- Улучшение рендеринга для раздела Изменения / Контроль версий IDE.
- Обновление значков для согласованности в dbt Cloud.
- Добавление поддержки таблиц для предварительного просмотра Markdown.
- Возвращение вкладки родословной для ресурсов seed в IDE.
- Реализация приоритета модальных окон, когда есть несколько предупреждающих модальных окон.
- Улучшение описания сложной команды в палитре команд.
Исправления ошибок
- Дерево файлов больше не сворачивается при первом нажатии, когда определена подкатегория проекта.
- Кнопка Отменить все теперь работает, как ожидалось.
- Предварительный просмотр CSV больше не завершается с ошибкой при наличии только одного столбца.
- Положение курсора и полосы прокрутки теперь сохраняются.
- Представление
git diffтеперь показывает только изменения и больше не показывает полный дифф, пока страница не обновится. - Команда ToggleMinimap больше не запускает другую команду одновременно.
- Представление
git diffбольше не показывает бесконечные вращения в определенных сценариях (новый файл и т. д.). - Содержимое файла больше не смешивается при использовании представления diff, если один файл имеет несохраненные изменения.
- YML родословная теперь отображает модель без тестов (в dbt Core v1.5 и выше).
- Радиокнопки для Сводки и Детали в разделе журналов теперь последовательно обновляются, чтобы показать точный выбор вкладки.
- IDE больше не выдает ошибку консоли
Error: Illegal argumentи не перенаправляет на страницуЧто-то пошло не так.
- Новое предупреждающее сообщение предлагает вам вызвать
-
Обновления API
Начиная с 15 мая 2023 года, мы будем поддерживать только следующую функциональность
order_byдля эндпоинта List Runs:idи-idcreated_atи-created_atfinished_atи-finished_at
Мы рекомендуем вам изменить ваши API-запросы на https://<YOUR_ACCESS_URL>/api/v2/accounts/{accountId}/runs/, чтобы использовать поддерживаемый
order_byдо этой даты.URL-адреса доступаdbt Cloud размещается в нескольких регионах по всему миру, и каждый регион имеет другой URL-адрес доступа. Пользователи на корпоративных планах могут выбрать, чтобы их аккаунт размещался в любом из этих регионов. Для полного списка доступных URL-адресов доступа dbt Cloud обратитесь к Регионов и IP-адресов.
Для получения дополнительной информации обратитесь к нашей документации.
-
Оптимизация планировщика
Планировщик dbt Cloud теперь предотвращает засорение очереди, отменяя ненужные запуски чрезмерно запланированных заданий.
Длительность выполнения задания, как правило, увеличивается со временем, обычно из-за увеличения объема данных в хранилище. Если длительность выполнения становится больше, чем частота расписания задания, очередь будет расти быстрее, чем планировщик сможет обрабатывать запуски задания, что приведет к runaway-очереди с запусками, которые не нужно обрабатывать.
Ранее, когда задание находилось в этом состоянии чрезмерного планирования, планировщик останавливал постановку в очередь запусков после того, как 50 уже находились в очереди. Это приводило к плохому пользовательскому опыту, когда планировщик отменял запуски без разбора. Вам нужно было войти в dbt Cloud, чтобы вручную отменить все запланированные запуски и изменить расписание задания, чтобы "разблокировать" очередь планировщика.
Теперь планировщик dbt Cloud обнаруживает, когда запланированное задание настроено на слишком частый запуск, и соответственно отменяет запуски, которые не нужно обрабатывать. В частности, запланированные задания могут иметь только один запуск задания в очереди, и если более новый запуск попадает в очередь, более ранний запланированный запуск будет отменен с полезным сообщением об ошибке. Пользователи все равно должны либо переработать задание, чтобы оно выполнялось быстрее, либо изменить расписание задания, чтобы оно выполнялось реже, если задание часто попадает в состояние чрезмерного планирования.
-
Starburst адаптер GA
Подключение Starburst (совместимое с Trino) теперь общедоступно (Generally Available) в dbt Cloud. Это означает, что теперь вы можете использовать dbt Cloud для подключения к Starburst Galaxy, Starburst Enterprise и самостоятельно развернутому Trino. Эта возможность реализована на базе адаптера
dbt-trino. Подробнее см. в нашем руководстве по быстрому старту для dbt Cloud и Starburst Galaxy. -
Обновления документации продукта
Привет от команды документации dbt: @mirnawong1, @matthewshaver, @nghi-ly и @runleonarun! Мы хотим поделиться некоторыми основными моментами, представленными в docs.getdbt.com за последний месяц:
🔎 Обнаружимость
- Документация API теперь доступна в боковой панели для улучшения обнаружимости.
- Боковая панель развертывания dbt jobs получила обновление 💅, которое разделяет "о развертывании" на два пути (развертывание с dbt cloud и развертывание с другими инструментами), добавляет больше информации о планировщике dbt cloud, его функциях и о том, как создать задание, добавляет руководство по развертыванию ADF. Мы надеемся, что изменения улучшат пользовательский опыт и предоставят пользователям руководство при развертывании с другими инструментами.
☁ Проекты Cloud
- Добавлены документы адаптера Starburst/Trino, включая:
- Улучшена страница заданий dbt Cloud и раздел, чтобы включить концептуальную информацию о времени ожидания очереди, улучшениях, внесенных вокруг него, и о неудавшихся заданиях.
- Ознакомьтесь с апрельскими заметками о релизах dbt Cloud
🎯 Проекты Core
- Более понятные описания на странице Jinja functions, которые улучшают содержание каждой карточки.
- Документация 1.5 Docs была выпущена в статусе Release Candidate (RC)!
- Посмотрите на отличную работу, отражённую в Core v 1.5.
Новые 📚 Руководства и ✏️ блог-посты
- Используйте рабочие процессы Databricks для запуска заданий dbt Cloud
- Обновите рабочую книгу Tableau с извлечениями после завершения задания
- dbt Python Snowpark workshop/tutorial
- Как оптимизировать и устранять неполадки моделей dbt на Databricks
- Недостающий гид по debug() в dbt
- dbt Squared: Использование dbt Core и dbt Cloud вместе в масштабе
- Audit_helper в dbt: Поднятие аудита данных на новый уровень
Март 2023
-
Устаревание dbt v1.0
dbt Cloud теперь требует версию dbt 1.0 или выше. С 1 марта 2023 года мы удалили все экземпляры более старых версий dbt из dbt Cloud.
Все окружения или задания, настроенные с версией dbt ниже 1.0, были автоматически обновлены до dbt v1.4, которая является последней минорной версией, доступной в dbt Cloud.
Для получения дополнительной информации о версиях dbt, релизах и временной шкале поддержки dbt Cloud обратитесь к О версиях dbt Core.
Ознакомьтесь с дополнительной информацией и ресурсами, которые помогут вам обновить вашу версию dbt:
-
dbt Cloud IDE
Чтобы и дальше улучшать ваш опыт разработки в Cloud IDE, команда dbt Labs продолжает работать над добавлением новых возможностей, исправлением ошибок и повышением надёжности ✨.
Подробнее читайте о предстоящих улучшениях Cloud IDE и следите за всеми изменениями, связанными с IDE.
Новые функции
- Фиксация (commit) и откат отдельных файлов в разделе Version Control.
- Используйте command palette для вызова часто используемых сложных команд dbt, например для возобновления выполнения после последней ошибки.
- Создание PR даже при наличии незафиксированных изменений (через выпадающее меню git).
- При редактировании YML-файлов IDE будет показывать больше подсказок автодополнения на основе dbt-jsonschema.
- В дереве файлов появились дополнительные пункты в контекстном меню (правый клик), такие как Copy model as ref или Copy file path.
- Представление DAG было изменено: теперь значение по умолчанию —
2+model+2. - В под-вкладке DAG/lineage реализован селектор lineage.
- Возможность редактировать код напрямую в представлении git diff, расположенном в правой панели.
- Теперь отображается предупреждающее сообщение, если пользователь нажимает Command‑W / Control‑W при наличии несохранённых изменений.
- Стал доступен новый onboarding‑гайд для первичного знакомства с инструментом.
Усовершенствования продукта
- Выборщик DAG теперь использует
nameвместоfile_uriдля построения селекторов. - DAG теперь вертикально центрирован под новым элементом выбора.
- sqlfmt был обновлен до v0.17.0.
- Когда кнопка Форматирования не срабатывает, уведомление будет отображать синтаксическую ошибку.
- Редактор теперь имеет возможность переключать мини-карту/перенос слов с помощью правой кнопки мыши.
- В истории теперь отображается прошедшее время в реальном времени и в единицах s/m/h.
- При удалении сред разработки модальное окно теперь предупреждает пользователей о том, что любые несохраненные изменения будут потеряны.
- Контекст для кнопки Git был скорректирован, чтобы показать, что она будет ссылаться на внешний сайт (например, GitHub или GitLab), когда пользователи создают запрос на вытягивание.
Исправления ошибок
- IDE теперь отображает сообщение об ошибке, когда репозиторий git недоступен. Ранее он завершался без ошибок.
- Меню с тремя точками теперь видно, когда открыта панель истории вызовов. Ранее оно не отображалось.
- DAG теперь обновляется/заполняется последовательно. Ранее это иногда не срабатывало.
- Фиолетовое выделение для выбора DAG теперь согласовано по всем файлам. Ранее оно было несогласованным.
- Пользователи теперь могут переименовывать файлы обратно в их оригинальное имя. Ранее это было невозможно.
- Ссылка на IDE со страницы настройки проекта была исправлена.
- IDE больше не имеет проблем с именами файлов с одним пробелом.
- Добавление недопустимых символов в конфигурацию подкаталога больше не вызывает сбой IDE.
- Автозаполнение YML теперь срабатывает последовательно. Ранее это иногда не срабатывало.
- Отмена отдельных файлов теперь перезагружает содержимое файла во вкладке. Ранее это не перезагружалось.
- Дерево файлов больше не сворачивается при первом нажатии, когда определена подкатегория проекта.
-
Обновления API
Чтобы сделать API более масштабируемым и надежным, мы внедрили максимальный лимит в
100для всех запросов API к нашимlistэндпоинтам. Если запросы API превышают максимальный лимит параметра100, пользователь получит сообщение об ошибке API.Это максимальное ограничение применяется только к многоарендным экземплярам и не применяется к одноарендным экземплярам.
Подробнее об этом изменении см. раздел Pagination в обзоре.
Февраль 2023
-
Отключение частичного разбора в командах заданий
Теперь вы можете использовать флаг
--no-partial-parse, чтобы отключить частичное разбор в ваших командах заданий dbt Cloud.Ранее глобальная конфигурация
--no-partial-parseбыла доступна только в dbt Core. Для получения дополнительной информации обратитесь к частичному разбору. -
dbt Cloud IDE
Чтобы продолжить улучшение работы в Cloud IDE, команда dbt Labs занималась исправлением ошибок, повышением надёжности и добавлением новых функций ✨.
Узнайте больше о февральских изменениях.
Новые функции
- Поддержка пользовательских цветов узлов в визуализации DAG IDE.
- Автозаполнение ref включает модели из seed и снимков.
- Предотвращение обрезки меню (выпадающее меню git, выпадающее меню дерева файлов, кнопка сборки, параметры вкладки редактора).
- Дополнительная опция доступа к меню файлов, щелкнув правой кнопкой мыши на файлах и папках в дереве файлов.
- Переименование файлов двойным щелчком по файлам в дереве файлов и вкладках редактора.
- Щелчок правой кнопкой мыши на вкладках файлов имеет новые параметры и теперь открывается в месте курсора, а не посередине вкладки.
- Имя ветки git над Контролем версий ссылается на репозиторий для конкретных поставщиков git.
- В настоящее время доступно для всех многоарендных экземпляров, использующих поставщики GitHub или GitLab.
Усовершенствования продукта
- Добавлено модальное окно ошибки для ошибок разбора RPC, когда пользователи пытаются вызвать команды dbt (предварительный просмотр, компиляция или общие вызовы dbt).
- Включено синтаксическое выделение для выражений Jinja и разделителей операторов.
- Уточнены и переименованы параметры под кнопкой Сборка.
- Изменен термин для статуса RPC с
КомпиляциянаРазбор, чтобы соответствовать конструкции dbt-core. - Реализован новый компонент Дерево файлов для улучшения времени рендеринга на 60%.
- Отключено локальное хранилище дерева файлов, чтобы предотвратить возникновение проблемы с максимальным локальным хранилищем для больших проектов.
- Изменен шаблон фрагмента снимка (
__snapshot) на выбор из источника.
Исправления ошибок
- Вы больше не сталкиваетесь с содержимым файла, которое переносится, когда вы переключаетесь на другой проект, который имеет то же имя файла.
- Максимальный лимит предварительного просмотра больше не позволяет вам переопределять максимум.
- Вы больше не сталкиваетесь с состоянием узлов, которые не обновляются в панели истории для тех, кто использует версию 1.4 core. (Это частичное исправление, которое может быть полностью устранено в версии core 1.5).
- Теперь вы можете использовать опцию Копировать имя файла, чтобы скопировать до последней точки, а не до первой точки.
- Теперь вы можете использовать флаг
--no-partial-parse, чтобы отключить частичное разбор в ваших командах заданий dbt Cloud. - Ранее глобальная конфигурация
--no-partial-parseбыла доступна только в dbt Core. Для получения дополнительной информации обратитесь к частичному разбору.
Январь 2023
-
dbt Cloud IDE
В рамках нашей постоянной работы по улучшению Cloud IDE команда dbt Labs занималась исправлением ошибок, повышением надёжности и добавлением новых функций ✨.
Узнайте больше о январских изменениях и о том, что будет скоро.
Новые функции
- Улучшенное синтаксическое выделение в IDE для лучшего сочетания Jinja-SQL (двойные кавычки теперь показывают правильное синтаксическое выделение!)
- Отрегулирован URL-адрес маршрутизации для страницы IDE и удален
nextиз URL-адреса. - Добавлен новый пасхальный яйцо в IDE 🐶🦆.
Усовершенствования продукта
- Улучшения производительности и снижение «тормозов» IDE. Интерфейс должен ощущаться более быстрым и отзывчивым.
- Улучшения надёжности — улучшена обработка ошибок, которые ранее могли приводить IDE в некорректное состояние
- Исправлен список опций в выпадающем меню кнопки Build
- Скорректировано время отображения стартовой страницы
- Добавлены примеры кода для тестов
uniqueиnot_nullв YAML‑файлах - Добавлены примеры кода для метрик на основе версий dbt, заданных в окружении
- Формулировка “commit and push” заменена на “commit and sync”, чтобы точнее отражать выполняемое действие
- Улучшено сообщение об ошибке при сохранении или переименовании файлов с дублирующимися именами
Исправления ошибок
- Вы больше не сталкиваетесь с сообщением
RPC server got an unknown async IDслучайным образом. - Теперь вы можете видеть выпадающее меню кнопки сборки, которое было скрыто за экраном пустого DAG.
- Теперь вы можете закрыть уведомления о сбое команды, когда открыта панель истории.
- Вы больше не сталкиваетесь с сообщением
Что-то пошло не такпри предварительном просмотре модели. - Теперь вы можете видеть статус репозитория в IDE, и IDE находит папку SSH.
- Полосы прокрутки и загрузка CSV больше не мигают в области предварительного просмотра.













