Справочник по таблицам вычислительной системы
Внимание
Эта системная таблица находится в общедоступной предварительной версии. Чтобы получить доступ к таблице, в каталоге должна быть включена system
схема. Дополнительные сведения см. в разделе "Включение схем системной таблицы".
В этой статье приведено справочное руководство по таблицам вычислительной системы. Эти таблицы можно использовать для мониторинга активности и метрик всех назначений и вычислений заданий в вашей учетной записи:
clusters
: записывает конфигурации вычислений в учетную запись.node_types
: включает одну запись для каждого из доступных типов узлов, включая сведения о оборудовании.node_timeline
: включает поминутные записи метрик использования вычислительных ресурсов.
Схема таблицы кластера
Таблица кластера — это таблица с медленно изменяющимися измерениями, которая содержит полную историю конфигураций вычислений со временем для вычислений всех целей и заданий.
Путь к таблице: эта системная таблица расположена по адресу system.compute.clusters
Имя столбца | Тип данных | Description | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой был создан этот кластер. | 23e22ba4-87b9- 4cc2-9770-d10b894b7118 |
workspace_id |
строка | Идентификатор рабочей области, в которой был создан этот кластер. | 1234567890123456 |
cluster_id |
строка | Идентификатор кластера, для которого связана эта запись. | 0000-123456-crmpt124 |
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 |
строка | Уникальный идентификатор для типа узла. | Standard_D16s_v3 |
core_count |
двойной точности | Количество виртуальных ЦП для экземпляра. | 48.0 |
memory_mb |
длинный | Общая память для экземпляра. | 393216 |
gpu_count |
длинный | Количество gpu для экземпляра. | 0 |
Схема таблицы временной шкалы узла
Таблица временной шкалы узла записывает данные об использовании ресурсов на уровне узла в минуту детализации. Каждая запись содержит данные за определенную минуту на экземпляр.
Путь к таблице: эта системная таблица расположена по адресу system.compute.node_timeline
.
Имя столбца | Тип данных | Description | Пример |
---|---|---|---|
account_id |
строка | Идентификатор учетной записи, в которой выполняется этот вычислительный ресурс. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
строка | Идентификатор рабочей области, в которой выполняется этот вычислительный ресурс. | 1234567890123456 |
cluster_id |
строка | Идентификатор вычислительного ресурса. | 0000-123456-crmpt124 |
instance_id |
строка | Идентификатор конкретного экземпляра. | i-1234a6c12a2681234 |
start_time |
TIMESTAMP | Время начала записи в формате UTC. | 2024-07-16T12:00:00Z |
end_time |
TIMESTAMP | Время окончания записи в формате 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 |
map | Использование диска сгруппировано по точке подключения. Это эфемерное хранилище, подготовленное только во время выполнения вычислений. | {"/var/lib/lxc":123455551234,"/": 123456789123,"/local_disk0":123412341234} |
node_type |
строка | Имя типа узла. Это будет соответствовать имени типа экземпляра из поставщика облачных служб. | Standard_D16s_v3 |
Известные ограничения
- Вычислительные ресурсы, помеченные как удаленные до 23 октября 2023 г., не отображаются в таблице кластеров. Это может привести к присоединению из
system.billing.usage
таблицы, не соответствующей записям в таблице кластеров. Все активные вычислительные ресурсы были заполнены. - Эти таблицы включают только записи для вычислений всех целей и заданий. Они не содержат записи для бессерверных вычислений, вычислений Delta Live Tables или хранилищ 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
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;
Определение вычислительных ресурсов с самым высоким средним использованием и пиковым использованием
Определите вычисления всех целей и заданий, которые имеют наибольшее среднее использование ЦП и максимальное пиковое использование ЦП.
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;