Справочник по таблицам вычислительной системы
Внимание
Эта функция предоставляется в режиме общедоступной предварительной версии.
В этой статье представлен обзор таблиц вычислительной системы, включая схемы и примеры запросов. Теперь доступны две таблицы системы кластера: clusters
и node_types
.
Схема таблицы кластера
Таблица кластера — это таблица с медленно изменяющимися измерениями, содержащая полную историю конфигураций кластера со временем для кластеров всех назначений и заданий.
Системная таблица кластеров находится system.compute.clusters
по адресу и имеет следующую схему:
Имя столбца | Тип данных | Description | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой был создан этот кластер. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
строка | Идентификатор рабочей области, в которой был создан этот кластер. | 1234567890123456 |
cluster_id |
строка | Идентификатор кластера, для которого связана эта запись. | 0000-123456-xxxxxxxx |
cluster_name |
строка | Определяемое пользователем имя кластера. | My cluster |
owned_by |
строка | Имя пользователя владельца кластера. По умолчанию создателю кластера, но его можно изменить с помощью API кластеров. | sample_user@email.com |
create_time |
TIMESTAMP | Метка времени изменения в этом определении вычислений. | 2023-01-09 11:00:00.000 |
delete_time |
TIMESTAMP | Метка времени удаления кластера. Значение равно null , если кластер не удаляется. |
2023-01-09 11:00:00.000 |
driver_node_type |
строка | Имя типа узла драйвера. Это соответствует имени типа экземпляра из поставщика облачных служб. | Standard_D16s_v3 |
worker_node_type |
строка | Имя типа рабочего узла. Это соответствует имени типа экземпляра из поставщика облачных служб. | Standard_D16s_v3 |
worker_count |
bigint | Количество рабочих ролей. Определяется только для кластеров фиксированного размера. | 4 |
min_autoscale_workers |
bigint | Минимальное число рабочих ролей. Это поле допустимо только для кластеров автомасштабирования. | 1 |
max_autoscale_workers |
bigint | Максимальное число рабочих ролей. Это поле допустимо только для кластеров автомасштабирования. | 1 |
auto_termination_minutes |
bigint | Настроенная длительность автотерминации. | 120 |
enable_elastic_disk |
boolean | Состояние включения диска автомасштабирования. | true |
tags |
map | Определяемые пользователем теги для кластера (не включают теги по умолчанию). | {"ResourceClass":"SingleNode"} |
cluster_source |
строка | Указывает создателя кластера: UI , API , JOB и т. д. |
UI |
init_scripts |
array | Набор путей для скриптов инициализации. | "/Users/example@email.com/files/scripts/install-python-pacakges.sh" |
aws_attributes |
struct | Определенные параметры AWS. | null |
azure_attributes |
struct | Определенные параметры Azure. | { "first_on_demand": "0", "availability": "ON_DEMAND_AZURE", "spot_bid_max_price": "—1" } |
gcp_attributes |
struct | Параметры GCP. Это поле будет пустым. | null |
driver_instance_pool_id |
строка | Идентификатор пула экземпляров, если драйвер настроен поверх пула экземпляров. | 1107-555555-crhod16-pool-DIdnjazB |
worker_instance_pool_id |
строка | Идентификатор пула экземпляров, если рабочая роль настроена поверх пула экземпляров. | 1107-555555-crhod16-pool-DIdnjazB |
dbr_version |
строка | Среда выполнения Databricks кластера. | 14.x-snapshot-scala2.12 |
change_time |
TIMESTAMP | Метка времени изменения определения вычислений. | 2023-01-09 11:00:00.000 |
change_date |
Дата | Дата изменения. Используется для хранения. | 2023-01-09 |
Схема таблицы типов узлов
Таблица типов узла записывает доступные в настоящее время типы узлов с базовой информацией о оборудовании. Системная таблица типа узла находится system.compute.node_types
в следующей схеме:
Имя столбца | Тип данных | Description | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой был создан этот кластер. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type_name |
строка | Уникальный идентификатор для типа узла. | Standard_D16s_v3 |
core_count |
двойной точности | Количество виртуальных ЦП для экземпляра. | 48.0 |
memory_mb |
длинный | Общая память для экземпляра. | 393216 |
gpu_count |
длинный | Количество gpu для экземпляра. | 0 |
Известные ограничения
- Кластеры, помеченные как удаленные до 23 октября 2023 г., не отображаются в таблице кластеров. Это может привести к присоединению из
system.billing.usage
таблицы, не соответствующей записям кластера в таблице кластеров. Все активные кластеры были заполнены. - Таблица кластеров включает только записи для кластеров всех целей и заданий. Он не содержит кластеры Delta Live Tables или хранилища SQL.
Примеры запросов
Для ответов на распространенные вопросы о кластерах можно использовать следующие примеры запросов:
- Присоединение записей кластера с оплачиваемыми записями об использовании
- Затраты на атрибуты для кластера владельцу кластера
Примечание.
Эти примеры объединяют таблицу кластера с таблицей system.billing.usage
. Так как записи выставления счетов — это межрегиональная и межрегиональная запись кластера, записи выставления счетов соответствуют только записям кластера, в котором запрашиваются запросы. Чтобы просмотреть записи из другого региона, выполните запрос в этом регионе.
Присоединение записей кластера с последними записями выставления счетов
Этот запрос поможет вам понять расходы с течением времени. После обновления usage_start_time
до самого текущего периода выставления счетов он захватывает последние обновления записей выставления счетов для соединения с данными кластеров.
Каждая запись связана с владельцем кластера во время конкретного запуска. Таким образом, если владелец кластера изменится, затраты будут свернуты до правильного владельца на основе времени использования кластера.
SELECT
u.record_id,
c.cluster_id,
c.owned_by,
c.change_time,
u.usage_start_time,
u.usage_quantity
FROM
system.billing.usage u
JOIN system.compute.clusters c
JOIN (SELECT u.record_id, c.cluster_id, max(c.change_time) change_time
FROM system.billing.usage u
JOIN system.compute.clusters c
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and date_trunc('HOUR', c.change_time) <= date_trunc('HOUR', u.usage_start_time)
GROUP BY all) config
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and u.record_id = config.record_id
and c.cluster_id = config.cluster_id
and c.change_time = config.change_time
ORDER BY cluster_id, usage_start_time desc;
Затраты на атрибуты для кластера владельцу кластера
Если вы хотите сократить затраты на вычисления, вы можете использовать этот запрос, чтобы узнать, какие владельцы кластеров в вашей учетной записи используют большинство баз данных.
SELECT
u.record_id record_id,
c.cluster_id cluster_id,
max_by(c.owned_by, c.change_time) owned_by,
max(c.change_time) change_time,
any_value(u.usage_start_time) usage_start_time,
any_value(u.usage_quantity) usage_quantity
FROM
system.billing.usage u
JOIN system.compute.clusters c
WHERE
u.usage_metadata.cluster_id is not null
and u.usage_start_time >= '2023-01-01'
and u.usage_metadata.cluster_id = c.cluster_id
and c.change_time <= u.usage_start_time
GROUP BY 1, 2
ORDER BY cluster_id, usage_start_time desc;
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по