Справочник по системной таблице выставления счетов
В этой статье представлен обзор оплачиваемой системной таблицы использования, включая схему и примеры запросов. В системных таблицах данные об использовании учетной записи централизованно и перенаправлены во все регионы, поэтому вы можете просматривать глобальное использование вашей учетной записи из любого региона, в котором находится ваша рабочая область.
Сведения об использовании этой таблицы для отслеживания затрат на задание см. в разделе "Мониторинг затрат на задания" с помощью системных таблиц.
Стратегии анализа бессерверного использования см. в статье "Мониторинг затрат на бессерверные вычисления".
Путь к таблице: эта системная таблица расположена по адресу 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 | Время начала, соответствующее этой записи использования. Сведения о часовом поясе записываются в конце значения, +00:00 представляющего часовой пояс UTC. |
2023-01-09 10:00:00.000+00:00 |
usage_end_time |
TIMESTAMP | Время окончания, соответствующее этой записи об использовании. Сведения о часовом поясе записываются в конце значения, +00:00 представляющего часовой пояс UTC. |
2023-01-09 11:00:00.000+00:00 |
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: [email protected]} |
record_type |
строка | Указывает, является ли запись исходной, отменой или повтором. Значение равно ORIGINAL , если запись не связана с исправлением. См. статью " Анализ записей исправления". |
ORIGINAL |
ingestion_date |
Дата | Дата приема записи в таблицу usage . |
2024-01-01 |
billing_origin_product |
строка | Продукт, который был создан на основе использования. За некоторые продукты можно выставлять счета по разным номерам SKU. Возможные значения см. в разделе "Просмотр сведений о продукте, связанном с использованием". | JOBS |
product_features |
struct | Сведения о конкретных возможностях продукта, используемых. | Возможные значения см. в разделе " Функции продукта". |
usage_type |
строка | Тип использования, который относится к продукту или рабочей нагрузке для выставления счетов. Возможные значения: COMPUTE_TIME или STORAGE_SPACE , NETWORK_BYTES , API_CALLS , TOKEN или GPU_TIME . |
STORAGE_SPACE |
Анализ метаданных использования
Значения, usage_metadata
которые вы узнаете о ресурсах, участвующих в записи об использовании.
Значение | Тип данных | Description |
---|---|---|
cluster_id |
строка | Идентификатор кластера, связанного с записью об использовании |
warehouse_id |
строка | Идентификатор хранилища SQL, связанного с записью об использовании |
instance_pool_id |
строка | Идентификатор пула экземпляров, связанного с записью об использовании |
node_type |
строка | Тип экземпляра вычислительного ресурса |
job_id |
строка | Идентификатор задания, связанного с записью об использовании. Возвращает значение только для бессерверных вычислений или заданий, в противном случае возвращается null . |
job_run_id |
строка | Идентификатор выполнения задания, связанного с записью об использовании. Возвращает значение только для бессерверных вычислений или заданий, в противном случае возвращается null . |
job_name |
строка | Имя задания, связанного с записью об использовании. Возвращает значение только для заданий, выполняемых на бессерверных вычислениях, в противном случае возвращается null . |
notebook_id |
строка | Идентификатор записной книжки, связанной с использованием. Возвращает значение только бессерверных вычислений для использования записных книжек, в противном случае возвращается null . |
notebook_path |
строка | Путь к хранилищу рабочей области записной книжки, связанной с использованием. Возвращает значение только бессерверных вычислений для использования записных книжек, в противном случае возвращается null . |
dlt_pipeline_id |
строка | Идентификатор конвейера Delta Live Tables, связанного с записью использования |
dlt_update_id |
строка | Идентификатор обновления конвейера Delta Live Tables, связанного с записью использования |
dlt_maintenance_id |
строка | Идентификатор задач обслуживания конвейера Delta Live Tables, связанных с записью использования |
run_name |
строка | Уникальный идентификатор модели Foundation Для тонкой настройки модели, связанной с записью об использовании |
endpoint_name |
строка | Имя конечной точки или конечной точки поиска вектора модели, связанной с записью об использовании |
endpoint_id |
строка | Идентификатор конечной точки или конечной точки поиска вектора модели, связанной с записью об использовании |
central_clean_room_id |
строка | Идентификатор центрального чистого помещения, связанного с записью об использовании |
Анализ метаданных удостоверения
Столбец identity_metadata
поможет определить, кто отвечает за бессерверную запись выставления счетов. Столбец содержит run_as
значение, которое атрибутит использование удостоверения. Удостоверение, записанное в identity_metadata.run_as
, зависит от продукта, связанного с использованием.
См. следующую таблицу для identity_metadata.run_as
поведения:
Тип рабочей нагрузки | Удостоверение run_as |
---|---|
Вычисления заданий | Пользователь или субъект-служба, определенный в параметре run_as . По умолчанию задания выполняются как удостоверение владельца задания, но администраторы могут изменить это на другого пользователя или субъекта-службы. |
Бессерверные вычисления для заданий | Пользователь или субъект-служба, определенный в параметре run_as . По умолчанию задания выполняются как удостоверение владельца задания, но администраторы могут изменить это на другого пользователя или субъекта-службы. |
Бессерверные вычисления для записных книжек | Пользователь, выполняющий команды записной книжки (в частности, пользователь, создавший сеанс записной книжки). Для общих записных книжек это включает использование другими пользователями, предоставляя доступ к одному сеансу записной книжки. |
Конвейеры разностных динамических таблиц | Пользователь, разрешения которого используются для запуска конвейера Delta Live Tables. Это можно изменить, передав владение конвейером. |
Тонкое настройка модели Foundation | Пользователь или субъект-служба, инициирующий выполнение обучения по тонкой настройке. |
Анализ записей исправлений
Таблица billing.usage
поддерживает исправления. Исправления возникают, когда любое поле записи об использовании неправильно и должно быть исправлено.
При исправлении Azure Databricks добавляет две новые записи в таблицу. Запись отзыва отрицает исходную неправильную запись, а затем запись перепрописи содержит исправленную информацию. Записи исправления определяются с помощью record_type
поля:
RETRACTION
: используется для отмены исходного неправильного использования. Все поля идентичныORIGINAL
записи, кромеusage_quantity
отрицательного значения, которое отменяет исходное количество использования. Например, если количество использования исходной записи было259.4356
, то запись отзыва будет иметь количество-259.4356
использования.RESTATEMENT
: запись, содержащая правильные поля и количество использования.
Например, следующий запрос возвращает правильное количество почасового использования, связанное с , job_id
даже если исправление было сделано. Агрегируя количество использования, запись отзыва отрицает исходную запись и возвращаются только значения перебора.
SELECT
usage_metadata.job_id, usage_start_time, usage_end_time,
SUM(usage_quantity) as usage_quantity
FROM system.billing.usage
GROUP BY ALL
HAVING usage_quantity != 0
Примечание.
Для исправлений, в которых исходная запись об использовании не должна быть написана, исправление может добавлять только запись отзыва и не выполнять повторную запись.
Просмотр сведений о продукте, связанном с использованием
Некоторые продукты Databricks выставляются по одному общему номеру SKU. Чтобы отличить использование, billing_origin_product
product_features
столбцы обеспечивают более подробное представление о конкретном продукте и функциях, связанных с использованием.
В столбце billing_origin_product
показан продукт Databricks, связанный с записью об использовании. Допустимые значения:
JOBS
DLT
SQL
ALL_PURPOSE
MODEL_SERVING
INTERACTIVE
MANAGED_STORAGE
VECTOR_SEARCH
LAKEHOUSE_MONITORING
PREDICTIVE_OPTIMIZATION
ONLINE_TABLES
FOUNDATION_MODEL_TRAINING
Столбец product_features
— это объект, содержащий сведения о конкретных возможностях продукта, используемых и включающий следующие пары "ключ-значение":
jobs_tier
: значения включаютLIGHT
,CLASSIC
илиnull
sql_tier
: значения включаютCLASSIC
,PRO
илиnull
dlt_tier
: значения, включаяCORE
,ADVANCED
PRO
илиnull
is_serverless
: значения включаютtrue
или , илиfalse
null
is_photon
: значения включаютtrue
или , илиfalse
null
serving_type
: включаютMODEL
,GPU_MODEL
FOUNDATION_MODEL
FEATURE
илиnull
Примеры запросов
С помощью следующих примеров запросов можно ответить на распространенные вопросы об использовании с выставлением счетов:
- Что такое суточный тренд потребления DBU?
- Сколько баз данных каждого продукта было использовано в течение этого месяца?
- Какие задания использовали наибольшее количество DBU?
- Сколько использовали ресурсы с определенным тегом?
- Показать мне номера SKU, где растет использование
- Что представляет собой тренд потребления для Универсальных вычислений (Photon)?
- Что такое потребление DBU материализованного представления или потоковой таблицы?
- Что такое использование бессерверного конвейера DLT DBU?
Что такое ежедневный тренд потребления 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
Сколько баз данных каждого продукта было использовано в течение этого месяца?
SELECT
billing_origin_product,
usage_date,
sum(usage_quantity) as usage_quantity
FROM system.billing.usage
WHERE
month(usage_date) = month(NOW())
AND year(usage_date) = year(NOW())
GROUP BY billing_origin_product, usage_date
Какие задания потребляли большинство баз данных?
SELECT
usage_metadata.job_id as `Job ID`, sum(usage_quantity) as `Usage`
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 `Usage`
FROM
system.billing.usage
WHERE
custom_tags.{{key}} = "{{value}}"
GROUP BY 1, 2
Показать мне продукты, где растет использование
SELECT
after.billing_origin_product, before_dbus, after_dbus, ((after_dbus - before_dbus)/before_dbus * 100) AS growth_rate
FROM
(SELECT
billing_origin_product, sum(usage_quantity) as before_dbus
FROM
system.billing.usage
WHERE
usage_date BETWEEN "2023-04-01" and "2023-04-30"
GROUP BY
billing_origin_product
) as before
JOIN
(SELECT
billing_origin_product, sum(usage_quantity) as after_dbus
FROM
system.billing.usage
WHERE
usage_date
BETWEEN
"2023-05-01" and "2023-05-30"
GROUP BY
billing_origin_product
) as after
WHERE
before.billing_origin_product = after.billing_origin_product
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 материализованного представления или потоковой таблицы?
Чтобы получить номер SKU и использования DBU для определенного материализованного представления или потоковой таблицы, отправьте запрос в оплачиваемую системную таблицу использования для записей, где usage_metadata.dlt_pipeline_id
задан идентификатор конвейера, связанного с материализованным представлением или потоковой таблицей. Идентификатор конвейера можно найти на вкладке "Сведения" в обозревателе каталогов при просмотре материализованного представления или потоковой таблицы. Чтобы дополнительно ограничить потребление по дате, укажите дату начала, дату окончания или диапазон дат. Следующий запрос извлекает использование DBU для конвейера с идентификатором 00732f83-cd59-4c76-ac0d-57958532ab5b
и датой 2023-05-30
начала использования:
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
usage_start_time > "2023-05-30"
GROUP BY
ALL
Что такое использование бессерверного конвейера DLT DBU?
Чтобы получить использование DBU и номер SKU для бессерверного конвейера DLT, отправьте запрос в оплачиваемую системную таблицу использования для записей, в которых usage_metadata.dlt_pipeline_id
задан идентификатор конвейера. Идентификатор конвейера можно найти на вкладке "Сведения о конвейере" при просмотре конвейера в пользовательском интерфейсе разностных динамических таблиц. Чтобы дополнительно ограничить потребление по дате, укажите дату начала, дату окончания или диапазон дат. Следующий запрос извлекает использование DBU с декабря 2023 г. для конвейера с идентификатором 00732f83-cd59-4c76-ac0d-57958532ab5b
.
SELECT
sku_name,
usage_date,
SUM(usage_quantity) AS `DBUs`
FROM
system.billing.usage
WHERE
usage_metadata.dlt_pipeline_id = "00732f83-cd59-4c76-ac0d-57958532ab5b"
AND
usage_start_time >= "2023-12-01"
AND
usage_end_time < "2024-01-01"
GROUP BY
ALL