Справочник по системной таблице выставления счетов

Внимание

Эта функция предоставляется в режиме общедоступной предварительной версии.

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

Схема таблицы использования с выставлением счетов

Таблица системы использования с выставлением счетов расположена system.billing.usage и использует следующую схему:

Имя столбца Тип данных Description Пример
record_id строка Уникальный идентификатор для этой записи 11e22ba4-87b9-4cc2-9770-d10b894b7118
account_id строка Идентификатор учетной записи, для который был создан отчет 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id строка Идентификатор рабочей области, с которым было связано это использование 1234567890123456
sku_name строка Имя номера SKU STANDARD_ALL_PURPOSE_COMPUTE
cloud строка Облачное использование относится к этому. Возможные значения: AWS, AZUREи GCP. AWS, AZURE или GCP
usage_start_time TIMESTAMP Время начала, соответствующее этой записи использования 2023-01-09 10:00:00.000
usage_end_time TIMESTAMP Время окончания, соответствующее этой записи об использовании 2023-01-09 11:00:00.000
usage_date Дата Дата записи об использовании, это поле можно использовать для ускорения агрегирования по дате. 2023-01-01
custom_tags map Теги, примененные пользователями к этому использованию { “env”: “production” }
usage_unit строка Единица измерения этого использования. Возможные значения включают базы данных. DBU
usage_quantity десятичное Количество единиц, потребляемых для этой записи. 259.2958
usage_metadata struct Предоставленные системой метаданные об использовании, включая идентификаторы для вычислительных ресурсов и заданий (если применимо). См. раздел "Анализ метаданных об использовании". {cluster_id: null; instance_pool_id: null; notebook_id: null; job_id: null; node_type: null}
identity_metadata struct Предоставленные системой метаданные об удостоверениях, участвующих в использовании. См. раздел "Анализ метаданных удостоверения". {run_as: example@email.com}
record_type строка Указывает, является ли запись исправленной. Возможные значения: ORIGINAL, RETRACTIONи RESTATEMENT. ORIGINAL
ingestion_date Дата Дата приема записи в таблицу usage . 2024-01-01
billing_origin_product строка Продукт, который был создан на основе использования. За некоторые продукты можно выставлять счета по разным номерам SKU. Возможные значения см. в разделе "Просмотр сведений о продукте, связанном с использованием". JOBS
product_features struct Сведения о конкретных возможностях продукта, используемых. Возможные значения см. в разделе " Функции продукта".
usage_type строка Тип использования, который относится к продукту или рабочей нагрузке для выставления счетов. Возможные значения: COMPUTE_TIME, COMPUTE_SLOT, STORAGE_SPACE, API_CALLSNETWORK_BYTES, TOKENили GPU_TIME. STORAGE_SPACE

Анализ метаданных использования

Значения, usage_metadata которые вы узнаете о ресурсах, участвующих в записи об использовании.

Значение Тип данных Description
cluster_id string Идентификатор кластера, связанного с записью об использовании
instance_pool_id string Идентификатор пула экземпляров, связанного с записью об использовании
node_type string Тип экземпляра вычислительного ресурса
job_id string Идентификатор задания, связанного с записью об использовании
job_run_id string Идентификатор выполнения задания, связанного с записью об использовании
notebook_id string Идентификатор записной книжки, связанной с записью об использовании
dlt_pipeline_id string Идентификатор конвейера Delta Live Tables, связанного с записью использования

Примечание.

В редких случаях не job_run_id заполняется для длительных заданий, вычислительные ресурсы которых начали выполняться до начала записи job_run_id метаданных Azure Databricks. Перезапустите вычисления задания, чтобы начать запись job_run_id.

Поиск задания или записной книжки в пользовательском интерфейсе с помощью job_id или notebook_id

В этих инструкциях объясняется, как извлечь определенное задание или записную книжку в пользовательском интерфейсе на основе его идентификатора.

Поиск задания в пользовательском интерфейсе на основе его job_id:

  1. job_id Скопируйте данные из записи об использовании. В этом примере предположим, что идентификатор имеет значение 700809544510906.
  2. Перейдите к пользовательскому интерфейсу рабочих процессов в той же рабочей области Azure Databricks, что и задание.
  3. Убедитесь, что фильтр "Только задания", принадлежащие мне, не проверка.
  4. Вставьте идентификатор (700809544510906) в строку поиска заданий фильтра.

Чтобы найти записную книжку в пользовательском интерфейсе, notebook_idвыполните следующие инструкции:

  1. notebook_id Скопируйте данные из записи об использовании. В этом примере предположим, что идентификатор имеет значение 700809544510906.
  2. Перейдите к пользовательскому интерфейсу рабочих областей в той же рабочей области Azure Databricks, что и записная книжка.
  3. Щелкните любую записную книжку.
  4. После открытия записной книжки просмотрите URL-адрес в адресной строке браузера. Оно должно выглядеть так: https://<account-console-url>/?o=<workspace ID>#notebook/<notebook ID>/command/<command ID>.
  5. В адресной строке браузера замените идентификатор записной книжки идентификатором, скопированным на первом шаге, а затем удалите все после идентификатора записной книжки. Оно должно выглядеть так: https://<account-console-url>/?o=<workspace ID>#notebook/700809544510906.
  6. После извлечения записной книжки можно нажать кнопку "Общий доступ ", чтобы просмотреть владельца записной книжки.

Анализ метаданных удостоверения

Столбец identity_metadata поможет определить, кто отвечает за бессерверную запись выставления счетов. Столбец содержит run_as значение, которое атрибутит использование удостоверения. Удостоверение, записанное в identity_metadata.run_as , зависит от продукта, связанного с использованием.

См. следующую таблицу для identity_metadata.run_as поведения:

Тип рабочей нагрузки Удостоверение run_as
Бессерверные вычисления для рабочих процессов Пользователь или субъект-служба, определенный в параметре запуска от имени. По умолчанию задания выполняются как удостоверение владельца задания, но администраторы могут изменить это на другого пользователя или субъекта-службы.
Бессерверные вычисления для записных книжек Пользователь, выполняющий команды записной книжки (в частности, пользователь, создавший сеанс записной книжки). Для общих записных книжек это включает использование другими пользователями, предоставляя доступ к одному сеансу записной книжки.

Просмотр сведений о продукте, связанном с использованием

Некоторые продукты Databricks выставляются по одному общему номеру SKU. Чтобы отличить использование, billing_origin_productproduct_features столбцы обеспечивают более подробное представление о конкретном продукте и функциях, связанных с использованием.

В столбце billing_origin_product показан продукт Databricks, связанный с записью об использовании. Допустимые значения:

  • JOBS
  • DLT
  • SQL
  • ALL_PURPOSE
  • MODEL_SERVING
  • INTERACTIVE
  • MANAGED_STORAGE
  • VECTOR_SEARCH
  • LAKEHOUSE_MONITORING
  • PREDICTIVE_OPTIMIZATION
  • ONLINE_TABLES

Столбец product_features — это объект, содержащий сведения о конкретных возможностях продукта, используемых и включающий следующие пары "ключ-значение":

  • jobs_tier: значения включают LIGHT, CLASSICили null
  • sql_tier: значения включают CLASSIC, PROили null
  • dlt_tier: значения, включая CORE, ADVANCEDPROилиnull
  • is_serverless: значения включают true или , или falsenull
  • is_photon: значения включают true или , или falsenull
  • serving_type: включаютMODEL, GPU_MODELFOUNDATION_MODELFEATUREилиnull

Использование бессерверных вычислений

Стратегии анализа бессерверного использования см. в статье "Мониторинг затрат на бессерверные вычисления".

Примеры запросов

С помощью следующих примеров запросов можно ответить на распространенные вопросы об использовании с выставлением счетов:

Что такое ежедневный тренд потребления DBU?

SELECT usage_date as `Date`, sum(usage_quantity) as `DBUs Consumed`
  FROM system.billing.usage
WHERE sku_name = "STANDARD_ALL_PURPOSE_COMPUTE"
GROUP BY usage_date
ORDER BY usage_date ASC

Сколько баз данных каждого номера SKU было использовано в течение этого месяца?

SELECT sku_name, usage_date, sum(usage_quantity) as `DBUs`
    FROM system.billing.usage
WHERE
    month(usage_date) = month(NOW())
    AND year(usage_date) = year(NOW())
GROUP BY sku_name, usage_date

Сколько номеров SKU использует рабочая область 1 июня?

Обязательно замените workspace_id фактический идентификатор рабочей области.

SELECT sku_name, sum(usage_quantity) as `DBUs consumed`
FROM system.billing.usage
WHERE workspace_id = 1234567890123456
AND usage_date = "2023-06-01"
GROUP BY sku_name

Примечание.

Этот запрос возвращает одну строку на уникальный идентификатор SKU, используемый в рабочей области на выбранную дату.

Какие задания потребляли большинство баз данных?

SELECT usage_metadata.job_id as `Job ID`, sum(usage_quantity) as `DBUs`
FROM system.billing.usage
WHERE usage_metadata.job_id IS NOT NULL
GROUP BY `Job ID`
ORDER BY `DBUs` DESC

Сколько использования можно присвоить ресурсам с определенным тегом?

Затраты можно разбить различными способами. В этом примере показано, как разбить затраты на настраиваемый тег. Обязательно замените ключ и значение пользовательского тега в запросе.

SELECT sku_name, usage_unit, SUM(usage_quantity) as `DBUs consumed`
FROM system.billing.usage
WHERE custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2

Показать мне номера SKU, где растет использование

SELECT after.sku_name, before_dbus, after_dbus, ((after_dbus - before_dbus)/before_dbus * 100) AS growth_rate
FROM
(SELECT sku_name, sum(usage_quantity) as before_dbus
    FROM system.billing.usage
WHERE usage_date BETWEEN "2023-04-01" and "2023-04-30"
GROUP BY sku_name) as before
JOIN
(SELECT sku_name, sum(usage_quantity) as after_dbus
    FROM system.billing.usage
WHERE usage_date BETWEEN "2023-05-01" and "2023-05-30"
GROUP BY sku_name) as after
where before.sku_name = after.sku_name
SORT by growth_rate DESC

Что такое тенденция использования всех вычислений (фотона)?

SELECT sku_name, usage_date, sum(usage_quantity) as `DBUs consumed`
    FROM system.billing.usage
WHERE year(usage_date) = year(CURRENT_DATE)
AND sku_name = "ENTERPRISE_ALL_PURPOSE_COMPUTE_(PHOTON)"
AND usage_date > "2023-04-15"
GROUP BY sku_name, usage_date

Что такое использование DBU материализованного представления или потоковой таблицы?

Чтобы определить использование DBU и номер SKU для определенного материализованного представления или потоковой таблицы, вам потребуется связанный идентификатор конвейера (dlt_pipeline_id). Найдите идентификатор конвейера на вкладке "Сведения" при просмотре соответствующей материализованной таблицы или таблицы потоковой передачи в Обозреватель каталога.

SELECT
  sku_name,
  usage_date,
  SUM(usage_quantity) AS `DBUs`
FROM
  system.billing.usage
WHERE
  usage_metadata.dlt_pipeline_id = "113739b7-3f45-4a88-b6d9-e97051e773b9"
  AND usage_start_time > "2023-05-30"
GROUP BY
  ALL