Справочник по таблицам системы вычислений
Внимание
Эта системная таблица находится в общедоступной предварительной версии. Чтобы получить доступ к таблице, схема system
должна быть включена в вашем каталоге. Дополнительные сведения см. в разделе "Включение схем системной таблицы".
В этой статье приведено справочное руководство по таблицам вычислительной системы. Эти таблицы можно использовать для мониторинга активности и метрик общего использования вычислительных ресурсов и вычислений заданий в вашей учетной записи.
-
clusters
: сохраняет конфигурации вычислений в вашей учетной записи. -
node_types
: включает одну запись для каждого из доступных типов узлов, включая сведения о оборудовании. -
node_timeline
: включает поминутные записи метрик использования вычислительных ресурсов.
Схема таблицы кластера
Таблица кластера — это таблица с медленно изменяющимися измерениями, которая содержит полную историю конфигураций вычислений со временем для вычислений всех целей и заданий.
Путь к таблице: эта системная таблица расположена по адресу system.compute.clusters
Имя столбца | Тип данных | Описание | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой был создан этот кластер. | 23e22ba4-87b9- 4cc2-9770-d10b894b7118 |
workspace_id |
строка | Идентификатор рабочей области, в которой был создан этот кластер. | 1234567890123456 |
cluster_id |
строка | Идентификатор кластера, для которого связана эта запись. | 0000-123456-crmpt124 |
cluster_name |
строка | Определяемое пользователем имя кластера. | My cluster |
owned_by |
строка | Имя пользователя владельца кластера. По умолчанию назначается создателю кластера, но его можно изменить с помощью Clusters API. | sample_user@email.com |
create_time |
метка времени | Метка времени изменения этого вычислительного определения. | 2023-01-09 11:00:00.000 |
delete_time |
метка времени | Метка времени, когда был удалён кластер. Значение равно 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 |
булевый | Состояние включения функции автомасштабирования диска. | true |
tags |
карта | Определяемые пользователем теги для кластера (не включают теги по умолчанию). | {"ResourceClass":"SingleNode"} |
cluster_source |
строка | Указывает создателя кластера: UI , API , JOB и т. д. |
UI |
init_scripts |
массив | Набор путей для скриптов инициализации. | "/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 |
метка времени | Метка времени изменения вычислительного определения. | 2023-01-09 11:00:00.000 |
change_date |
Дата | Изменить дату. Используется для хранения. | 2023-01-09 |
Схема таблицы типов узлов
Таблица типов узла записывает доступные в настоящее время типы узлов с базовой информацией о оборудовании.
Путь к таблице: эта системная таблица расположена по адресу system.compute.node_types
.
Имя столбца | Тип данных | Описание | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой был создан этот кластер. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type |
строка | Уникальный идентификатор для типа узла. | Standard_D16s_v3 |
core_count |
двойной | Количество виртуальных ЦП для экземпляра. | 48.0 |
memory_mb |
длинный | Общая память для экземпляра. | 393216 |
gpu_count |
длинный | Количество графических процессоров для этого экземпляра. | 0 |
Схема таблицы временной шкалы узла
Таблица временной шкалы узла фиксирует данные об использовании ресурсов на уровне узла с минутной детализацией. Каждая запись содержит данные за определённую минуту для каждого экземпляра.
Путь к таблице: эта системная таблица расположена по адресу system.compute.node_timeline
.
Имя столбца | Тип данных | Описание | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой выполняется этот вычислительный ресурс. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
строка | Идентификатор рабочей области, в которой выполняется этот вычислительный ресурс. | 1234567890123456 |
cluster_id |
строка | Идентификатор вычислительного ресурса. | 0000-123456-crmpt124 |
instance_id |
строка | Идентификатор конкретного экземпляра. | i-1234a6c12a2681234 |
start_time |
метка времени | Время начала записи в UTC. | 2024-07-16T12:00:00Z |
end_time |
метка времени | Время окончания записи в формате UTC. | 2024-07-16T13:00:00Z |
driver |
boolean | Является ли экземпляр драйвером или рабочим узлом. | true |
cpu_user_percent |
двойной | Процент времени, которое процессор провел в пользовательском режиме. | 34.76163817234407 |
cpu_system_percent |
двойной | Процент времени, затраченного ЦП на ядро. | 1.0895310279488264 |
cpu_wait_percent |
двойной | Процент времени, затраченного ЦП на ожидание ввода-вывода. | 0.03445157400629276 |
mem_used_percent |
двойной | Процент памяти вычислений, используемой в течение периода времени (включая память, используемую фоновыми процессами, выполняемыми на вычислительных ресурсах). | 45.34858216779041 |
mem_swap_percent |
двойной | Процент использования памяти, который связан с переключением памяти. | 0.014648443087939 |
network_sent_bytes |
bigint | Количество байтов, отправляемых в сетевом трафике. | 517376 |
network_received_bytes |
bigint | Число полученных байтов из сетевого трафика. | 179234 |
disk_free_bytes_per_mount_point |
карта | Использование диска сгруппировано по точке подключения. Это эфемерное хранилище, подготовленное только во время выполнения вычислений. | {"/var/lib/lxc":123455551234,"/": 123456789123,"/local_disk0":123412341234} |
node_type |
строка | Имя типа узла. Это будет соответствовать названию типа экземпляра от поставщика облачных услуг. | Standard_D16s_v3 |
Известные ограничения
- Вычислительные ресурсы, помеченные как удаленные до 23 октября 2023 г., не отображаются в таблице кластеров. Это может привести к тому, что соединения из таблицы
system.billing.usage
могут не совпадать с записями в таблице кластеров. Все активные вычислительные ресурсы были заполнены. - Эти таблицы включают только записи для универсальных и рабочих вычислений. Они не содержат записи для бессерверных вычислений, вычислений DLT или хранилищ SQL.
- Узлы, проработавшие менее 10 минут, могут не отображаться в таблице
node_timeline
.
Примеры запросов
Для ответов на распространенные вопросы можно использовать следующие примеры запросов:
- Соедините записи кластера с наиболее последними записями выставления счетов
- Определение вычислительных ресурсов с самым высоким средним использованием и пиковым использованием
Примечание.
Некоторые из этих примеров объединяют таблицу кластера с таблицей 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
distinct cluster_id,
driver,
avg(cpu_user_percent + cpu_system_percent) as `Avg CPU Utilization`,
max(cpu_user_percent + cpu_system_percent) as `Peak CPU Utilization`,
avg(cpu_wait_percent) as `Avg CPU Wait`,
max(cpu_wait_percent) as `Max CPU Wait`,
avg(mem_used_percent) as `Avg Memory Utilization`,
max(mem_used_percent) as `Max Memory Utilization`,
avg(network_received_bytes)/(1024^2) as `Avg Network MB Received per Minute`,
avg(network_sent_bytes)/(1024^2) as `Avg Network MB Sent per Minute`
FROM
node_timeline
WHERE
start_time >= date_add(now(), -1)
GROUP BY
cluster_id,
driver
ORDER BY
3 desc;