Управлять бессерверными вычислениями

На этой странице объясняется, как управлять доступом к бессерверным вычислениям и как реализовать ограничения скорости для бессерверных вычислений. Администраторы рабочих пространств управляют вычислениями без сервера, используя встроенные серверные вычислительные объекты. Бессерверный вычислительный объект — это тип ресурса, определяющий границу разрешений для бессерверных рабочих нагрузок. Рабочая область автоматически получает два вычислительных объекта по умолчанию:

  • Интерактивные вычисления по умолчанию: управляет доступом к записным книжкам и Databricks Connect.
  • Автоматическое вычисление по умолчанию: управляет доступом к заданиям и декларативным конвейерам Spark в Lakeflow.

По умолчанию все пользователи рабочей области могут использовать оба объекта, поэтому существующие рабочие нагрузки продолжают работать без каких-либо изменений. Администратор рабочей области может удалить пользователей или группы из любого объекта, чтобы ограничить доступ. Пользователь, который теряет доступ, увидит параметр бессерверных вычислений как недоступный в своих продуктах.

Управление доступом к бессерверным вычислениям

Чтобы контролировать доступ к бессерверным вычислительным ресурсам, администраторы рабочей области могут изменять разрешения на интерактивные вычислительные ресурсы по умолчанию и автоматические вычислительные объекты по умолчанию . Администраторы рабочей области имеют разрешение "Управление " по умолчанию, но они могут предоставить разрешение любому пользователю. Эти стандартные вычислительные объекты нельзя переименовать или удалить.

Вкладка

Каждый бессерверный вычислительный объект поддерживает два уровня разрешений:

Разрешение Позволяет вам
Можно использовать Запускайте рабочие нагрузки на этом вычислительном ресурсе
Может управлять Запуск рабочих нагрузок на этом вычислительном ресурсе и изменение разрешений вычислительного ресурса

Вы также можете программно управлять разрешениями для серверных вычислительных объектов с помощью API разрешений. Бессерверные вычислительные объекты используют тип объекта serverless-compute, и каждый объект идентифицируется по идентификатору.

Ограничение доступа к бессерверному интерактивному режиму

Чтобы ограничить использование бессерверных записных книжек и Databricks Connect:

  1. Щелкните " Вычисления " на боковой панели рабочей области.
  2. На вкладке Бессерверные щелкните меню kebab Значок меню kebab. рядом с Интерактивные вычисления по умолчанию, затем нажмите Изменить разрешения.
  3. Удалите группу "Все пользователи" или группу, которая включает всех пользователей рабочей области.
  4. Добавьте только определенных пользователей, групп или субъектов-служб, которые требуется авторизовать.

Если вы отзовёте интерактивные разрешения пользователя для Serverless, блокноты, уже подключенные к Serverless, не смогут установить подключение, когда пользователь запустит ячейку, и пользователь больше не будет видеть вариант Serverless как доступный в средстве выбора вычислительных ресурсов блокнота. Если они пытаются запустить Databricks Connect, запрос на подключение завершается ошибкой, указывающей, что у пользователя нет доступа к бессерверному серверу.

Ограничить доступ к бессерверным заданиям и конвейерам

Чтобы ограничить, кто может использовать Serverless в заданиях и конвейерах:

  1. Щелкните " Вычисления " на боковой панели рабочей области.
  2. На вкладке Serverless нажмите значок меню меню «kebab». рядом с Автоматические вычисления по умолчанию, затем нажмите Изменить разрешения.
  3. Удалите группу "Все пользователи" или группу, которая включает всех пользователей рабочей области.
  4. Добавьте только определенных пользователей, групп или субъектов-служб, которые требуется авторизовать.

Если вы отзовёте у пользователя автоматически назначенные разрешения serverless, все существующие задания или конвейеры этого пользователя, выполняющиеся в serverless, не смогут выполняться. Пользователь увидит сообщение об ошибке, если он пытается выполнить задание без сервера.

Перед отменой доступа пользователя к автоматическому вычислению по умолчанию проверяйте задания и конвейеры затронутых пользователей. Следующий запрос определяет последние бессерверные рабочие нагрузки для конкретного пользователя:

SELECT *
FROM system.billing.usage
WHERE usage_date >= date_add(now(), -30)
  AND billing_origin_product IN ('JOBS', 'DLT')
  AND identity_metadata.run_as = '<user_email>';

Проверьте столбец usage_metadata, чтобы увидеть затронутые ресурсы, такие как идентификаторы заданий и идентификаторы конвейеров.

Аудит бессерверного использования

Записи о выставлении счетов Serverless включают поле serverless_compute_id в usage_metadata. Используйте его для отслеживания того, на каком вычислительном объекте запущена рабочая нагрузка:

SELECT
  usage_metadata.serverless_compute_id,
  identity_metadata.run_as,
  SUM(usage_quantity) AS total_dbus
FROM system.billing.usage
WHERE billing_origin_product IN ('JOBS', 'DLT', 'INTERACTIVE')
  AND usage_metadata.serverless_compute_id IS NOT NULL
  AND usage_date >= date_add(now(), -30)
GROUP BY 1, 2
ORDER BY 3 DESC;

Поддерживаемые функции управления доступом для бессерверных вычислений

Следующие функции интегрированы с бессерверными вычислительными системами контроля доступа.

Интерактивные (интерактивные вычисления по умолчанию)

  • Блокноты и бессерверные блокноты с GPU
  • Сервис Databricks Connect

Автоматизированное (по умолчанию автоматизированное вычисление)

  • Задания и бессерверные задания с GPU
  • Декларативные конвейеры Spark на платформе Lakeflow

Неподдерживаемые функции контроля доступа к вычислениям без серверов

Следующие функции не интегрированы с бессерверными вычислительными системами доступа:

  • Databricks SQL (DBSQL)
  • Пакетный инференс (ai_query())
  • Обслуживание моделей
  • Конечные точки API для выделенной пропускной способности базовых моделей
  • Lakebase
  • Приложения Databricks
  • Оценка агентов и синтетические данные
  • Индексирование векторного поиска
  • Прогнозная оптимизация
  • Мониторинг Лейкхаус
  • Детализированный контроль доступа к выделенным вычислительным ресурсам. Доступ к выделенному вычислительному устройству определяет, сможет ли пользователь использовать тонкий контроль доступа.

Если нужная вам функция не указана здесь, обратитесь к своей команде по работе с учетной записью Azure Databricks, чтобы узнать о ее статусе.

Ограничения бессерверного контроля доступа

Important

В случае сбоя в работе сервиса проверки доступа могут не открыться, и пользователи, которым в противном случае отказали бы, смогут запускать бессерверные рабочие нагрузки. Эта функция предназначена для того, чтобы помочь контролировать доступ к бессерверным вычислительным ресурсам. Не используйте эту функцию, чтобы обеспечить абсолютный лимит расходов на итоговые счета. Azure Databricks не несёт ответственности за расходы, возникающие в результате выполнения рабочих нагрузок во время такого события.

  • Вы не можете переименовать или удалить объекты вычислений по умолчанию.
  • Задание или конвейер, уже настроенный для запуска без сервера, завершается сбоем для любого пользователя, который теряет доступ к автоматизированным вычислениям по умолчанию. Просмотрите активные рабочие нагрузки перед удалением доступа пользователя.
  • Фоновые вычисления (задания, инициированные системой), исключены из бессерверных элементов управления доступом к вычислительным ресурсам.

Установить ограничения частоты запросов для бессерверных вычислений

Important

Ограничения по тарифам указаны в частном предварительном просмотре. Чтобы присоединиться к этой предварительной версии, свяжитесь с командой вашей учетной записи Azure Databricks. После подключения к предпросмотру администраторы рабочих пространств могут включить его на странице предпросмотра с помощью настройки Serverless Compute Rate Limit .

Ограничение лимита затрат определяет, сколько может потратить автоматизированная рабочая нагрузка, ограничивая пределы её автомасштабирования. Администраторы рабочих пространств могут создавать собственные автоматизированные вычислительные объекты и назначать каждому лимит скорости. Когда рабочая нагрузка выполняется на вычислительном объекте с ограничением скорости, бессерверный автоскейлер не масштабирует исполнятели Spark рабочей нагрузки сверх размера, установленного объектом.

Ограничения по скорости применяются только к автоматизированным нагрузкам (рабочие места и декларативные конвейеры Spark на Lakeflow). Интерактивные рабочие нагрузки (ноутбуки и Databricks Connect) не ограничены по скорости.

Лимит ставки выражается как размер. Каждый размер соотносится с приблизительным верхним пределом числа DBUs, которое рабочая нагрузка может потреблять в час. Ограничение скорости применяется только к автомасштабированию исполнителей Spark. Это не ограничивает другие компоненты рабочей нагрузки, такие как драйвер, виртуальные машины REPL, графические процессоры (GPU) или обновления материализованных представлений и потоковых таблиц.

Предел ограничения скорости применяется к каждой рабочей нагрузке. Каждая задача и каждый конвейер, использующий вычислительный объект, ограничены независимо. Две задачи, использующие один и тот же вычислительный объект, каждая получает полный лимит. В рамках одной работы лимит распределяется между всеми задачами работы.

Требования к лимиту ставок

  • Чтобы создавать и управлять объектами вычислений без сервера, вы должны быть администратором рабочего пространства или пользователем с неограниченным созданием кластера.
  • Ограничения скорости без сервера требуют Azure Databricks Runtime 17.3.1 и выше. Задания автоматически используют последнюю среду выполнения. Для Spark Declarative Pipelines на Lakeflow подключитесь к режиму предварительного просмотра канала runtime.

Создайте бессерверные вычисления с ограничением частоты запросов

  1. Щелкните " Вычисления " на боковой панели рабочей области.
  2. Во вкладке Serverless нажмите Создать serverless compute.
  3. Введите имя.
  4. Для Размера выберите ограничение скорости, которое нужно применить, — от Малого до 2X-большого. Оставьте его на Default , чтобы использовать лимит по умолчанию вашего рабочего пространства.
  5. Нажмите кнопку Создать.

Диалог «Create new Serverless Automated Compute» с введённым именем и размером, установленным на Medium

Новый объект вычислений появляется на вкладке Serverless с типом Automated. Чтобы пользователи могли запускать на нём рабочие нагрузки, предоставьте им право Can Use или Can Manage, как описано в разделе «Управление доступом к бессерверным вычислениям». Нельзя редактировать размер стандартного объекта вычислительной обработки.

Размеры лимитов ставок

Каждый размер соответствует приблизительному часовому лимиту DBU:

Размер Примерный предел
Small ~60 DBU в час
Medium ~120 DBU в час
крупный ~240 DBU в час
Размер XL ~480 DBU в час
2X-большой ~960 DBU в час

Эти ограничения представляют собой направленные пороговые значения. Фактическое потребление может колебаться вблизи этих значений из-за присущей бессерверной инфраструктуре изменчивости.

Выбор Default применяет лимит по умолчанию для вашего рабочего пространства: Medium для рабочих пространствов премиум-уровня или Large для корпоративных рабочих пространств. Они соответствуют существующим стандартным максимальным лимитам автомасштабирования для автоматизированных нагрузок без сервера.

Запустите нагрузку на вычислительных ресурсах с ограниченной производительностью

Пользователь с правом Может использовать для объекта вычислений может выбрать его при настройке задания или конвейера. Рабочая нагрузка затем выполняется в пределах ограничения скорости вычислительного ресурса. Если рабочая нагрузка не указывает вычислительный объект, она возвращается к стандартному автоматизированному вычислению вашего рабочего пространства. Если у пользователя нет доступа к этому стандартному режиму, рабочая нагрузка перестаёт выполняться.

  • Задачи: Выберите бессерверный вычислительный ресурс на уровне задачи: либо в настройках Compute задачи в интерфейсе, либо указав идентификатор вычислительного ресурса в Jobs API. Чтобы скопировать ID, откройте объект вычисления на вкладке Serverless и нажмите Copy Compute ID.
  • Spark Declarative Pipelines в Lakeflow: Выберите объект автоматических вычислений в качестве бессерверной вычислительной среды для конвейера в редакторе Lakeflow.

Когда лимит запросов замедляет рабочую нагрузку, вы можете посмотреть, как это влияет на неё, в истории запросов этой рабочей нагрузки, а для конвейеров — в интерфейсе Lakeflow.

Ограничения по скорости

  • Ограничения скорости затрагивают только автомасштабирование исполнителей Spark. Другие статьи затрат, такие как драйвер, виртуальные машины REPL, графические процессоры (GPU), а также обновления материализованных представлений или потоковых таблиц, не подпадают под ограничение.
  • Предельное значение DBU в час для каждого размера является оценочным. Фактическое использование может превышать целевое значение из-за незначительных колебаний установленного лимита и присущей бессерверной инфраструктуре вариативности.
  • Рабочая нагрузка размера 2X-Large может работать ниже ожиданий, поскольку размер физического кластера ограничен 256 исполнителями. Если две или более рабочие нагрузки 2X-Large запланированы к выполнению в одном кластере среды выполнения, производительность каждой из них может оказаться ниже ожидаемой.
  • Из-за деталей реализации биллинга одна и та же нагрузка может сопровождаться разным использованием DBU при разных размерах тарифных лимитов.
  • Нельзя установить ограничение скорости для стандартного вычислительного объекта.