Перейти к основному содержимому

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. Эта функция улучшает надежность и стабильность ваших запусков заданий.

    Чтобы узнать больше, обратитесь к Кэшированию репозитория.

    Пример опции Repository cachingПример опции Repository caching

Октябрь 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-project ref)
    • Рабочий процесс разработки для 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 CloudПример опций повторного запуска в 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 доступен для многопользовательских тарифных планов 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 jobПример настройки CI job

    Кроме того, теперь проверки CI выполняют более эффективное сравнение state: вы не будете тратить сборку или тесты на код, который не менялся. Теперь мы более эффективно сравниваем код в pull request (PR) в Git и то, что запущено в production, благодаря появлению deferral на environment вместо deferral на job. Подробнее см. Continuous integration в dbt.

    Ниже — сравнительная таблица, описывающая, чем отличаются deploy jobs и CI jobs:

    Deploy JobsCI 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 jobПример корректного типа CI 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 мы внесли следующие изменения:

    Вы можете оставить обратную связь, открыв 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

  •  Удаление prerelease-версий

    Ранее, когда dbt Labs выпускала новую версию в dbt Cloud, более старая prerelease patch‑версия и версия latest оставались доступными в выпадающем списке в Environment settings. Теперь, когда выпускается версия latest, prerelease‑версия будет удаляться, а все пользователи, которые остаются на ней, будут автоматически мигрированы без лишних шагов. Во время этой миграции не будет перерывов в работе сервиса.

    Чтобы посмотреть, какую версию вы используете сейчас, и выполнить обновление, выберите Deploy в верхней навигации и откройте Environments. Выберите нужное окружение и нажмите Settings. Нажмите Edit, чтобы изменить текущую версию dbt. dbt Labs рекомендует по возможности всегда использовать последнюю версию, чтобы получать доступ к новым функциям и возможностям.

    Выпадающий список версий dbt CloudВыпадающий список версий dbt Cloud

Август 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

Июль 2023

  •  Более быстрые запуски и неограниченная параллельность заданий для аккаунтов Enterprise

    Мы внедрили значительные улучшения в планировщик dbt Cloud, повысив производительность, надёжность и масштабируемость.

    Узнайте подробнее о том, как получить более быстрый старт запусков и как пользователи Enterprise теперь могут выполнять неограниченное количество заданий параллельно.

    Более быстрый старт запусков

    Планировщик отвечает за подготовку каждого задания dbt Cloud к запуску в вашей облачной платформе данных. Эта подготовка включает создание Kubernetes-пода с нужной версией dbt, настройку переменных окружения, загрузку учётных данных платформы данных, авторизацию git-провайдера и другие задачи по настройке окружения. Только после этого начинается выполнение dbt. В dbt Cloud это время отображается пользователю как «prep time».

    Планировщик подготавливает задание к выполнению и отображает это как 'prep time' в dbt Cloud.Планировщик подготавливает задание к выполнению и отображает это как 'prep time' в dbt Cloud.

    Несмотря на все преимущества Kubernetes, у него есть и сложности — в частности, управление подами может влиять на время запуска заданий. Мы переработали планировщик, обеспечив более быстрый запуск за счёт пула уже готовых подов для выполнения заданий клиентов. Это означает, что вы больше не столкнётесь с длительным временем подготовки в начале часа, и мы стремимся к тому, чтобы запуски начинались практически мгновенно. Не верьте нам на слово — посмотрите на данные сами.

    Время подготовки заданий сократилось на 75% с января 2023 по июль 2023. В январе prep time составляло 106 секунд, а к июлю — 27 секунд.Время подготовки заданий сократилось на 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, чтобы обеспечить чистое и стандартизированное форматирование кода.

    Подробнее см. в разделе Линтинг и форматирование кода.

    Использование SQLFluff для линтин�га и форматирования SQL-кода с отображением ошибок во вкладке Code Quality.Использование SQLFluff для линтинга и форматирования SQL-кода с отображением ошибок во вкладке Code Quality.
    Форматирование SQL-кода с помощью sqlfmt.Форматирование SQL-кода с помощью sqlfmt.
    Форматирование YAML-, Markdown- и JSON-файлов с помощью Prettier.Форматирование YAML-, Markdown- и JSON-файлов с помощью Prettier.
  •  Обновления CI

    CI в dbt Cloud — это ключевая часть workflow аналитической инженерии. Крупные команды полагаются на выстроенные процессы, чтобы поддерживать высокое качество кода, и используют dbt Cloud CI для автоматизации тестирования изменений эффективным образом — сохраняя высокую скорость работы без снижения стандартов. Благодаря статус-чекам, которые напрямую публикуются в PR в dbt, разработчики получают уверенность в том, что их изменения будут корректно работать в продакшене. А когда вы привыкнете видеть зелёную галочку в PR, работать иначе уже не захочется.

    CI-проверки напрямую из GitCI-проверки напрямую из Git

    Ключевое отличие 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

Май 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) и более интуитивного интерфейса.

    Улучшения Run History в dbt CloudУлучшения Run History в dbt Cloud

    Ключевые изменения:

    • Улучшения удобства для CI-запусков: ссылки на ветку, PR и commit SHA, а также более наглядные имена временных схем
    • Предпросмотр сообщений об ошибках при наведении
    • Ссылки на окружение
    • Более понятные иконки статусов запусков
    • Более явное указание причины запуска (API, по расписанию, pull request, запуск пользователем)
    • Дополнительная информация о времени запуска при наведении
    • Отображение таймаута запуска

    dbt Labs также меняет политику хранения и получения метаданных для истории запусков в dbt Cloud.

    Начиная с 1 июня 2023 года разработчики, использующие мультиарендное приложение dbt, смогут самостоятельно получать доступ к истории запусков своего аккаунта через интерфейс dbt и API только за последние 365 дней (по скользящему окну). Более старая история запусков будет доступна по запросу через службу поддержки. Мы стремимся минимизировать объём хранимых метаданных, одновременно повышая производительность приложения.

    В частности, все GET-запросы к эндпоинту dbt Cloud Runs будут возвращать информацию о запусках, артефактах, логах и шагах выполнения только за последние 365 дней. Аналогично, в интерфейсе dbt Cloud будет отображаться история запусков лишь за этот период.

    Интерфейс dbt Cloud с отображением Run HistoryИнтерфейс dbt Cloud с отображением Run History

    Более старая история запусков будет храниться в холодном хранилище и может быть предоставлена клиентам по запросу. Чтобы получить данные о старых запусках, свяжитесь со службой поддержки по адресу support@getdbt.com или воспользуйтесь чатом в приложении dbt Cloud, нажав на иконку ? в интерфейсе.

  •  Улучшения деталей запусков и логов

    В dbt Cloud также стали доступны новые улучшения удобства использования и дизайна страницы деталей запуска и логов. Возможность быстро разбирать ошибки в логах — одно из ключевых преимуществ использования джобов и планировщика dbt Cloud. Эти обновления значительно упрощают поиск первопричин ошибок.

    Основные изменения:

    • Отображение состояния предупреждения (warn) на уровне шага запуска
    • Поиск по логам
    • Более удобное обнаружение ошибок и предупреждений в логах
    • Ленивую загрузку логов, благодаря чему страница деталей запуска загружается быстрее и ощущается более производительной
    • Более чистый и аккуратный интерфейс с улучшенной иконографией
    • Полезные подсказки (tooltips)
    Улучшения страницы деталей запусков и логов в dbt CloudУлучшения страницы деталей запусков и логов в dbt Cloud
  •  Обновления продуктовой документации

    Привет от команды 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

    Если вы хотите поучаствовать в создании блог-постов, сейчас мы фокусируемся на следующем контенте:

Апрель 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 и -id
    • created_at и -created_at
    • finished_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

    🎯 Проекты Core

    • Более понятные описания на странице Jinja functions, которые улучшают содержание каждой карточки.
    • Документация 1.5 Docs была выпущена в статусе Release Candidate (RC)!
    • Посмотрите на отличную работу, отражённую в Core v 1.5.

    Новые 📚 Руководства и ✏️ блог-посты

Март 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 больше не мигают в области предварительного просмотра.

Нашли ошибку?

0
Loading