Referência de tabelas do sistema de computação
Importante
Esse recurso está em uma versão prévia.
Este artigo fornece uma visão geral das tabelas do sistema de computação, incluindo os esquemas e consultas de exemplo. Há duas tabelas do sistema de cluster disponíveis agora: clusters
e node_types
.
Esquema de tabela de cluster
A tabela de clusters é uma tabela de dimensões de alteração lenta que contém o histórico completo das configurações de cluster ao longo do tempo para clusters de uso geral e de trabalhos.
A tabela do sistema de clusters está localizada em system.compute.clusters
e tem o seguinte esquema:
Nome da coluna | Tipo de dados | Descrição | Exemplo |
---|---|---|---|
account_id |
string | ID da conta em que esse cluster foi criado. | 23e22ba4-87b9- 4cc2-9770-d10b894b7118 |
workspace_id |
string | ID do workspace em que esse cluster foi criado. | 1234567890123456 |
cluster_id |
string | ID do cluster para o qual esse registro está associado. | 0000-123456-xxxxxxxx |
cluster_name |
string | Nome definido pelo usuário para o cluster. | My cluster |
owned_by |
string | Nome de usuário do proprietário do cluster. O padrão é o criador do cluster, mas isso pode ser alterado por meio da API de clusters. | sample_user@email.com |
create_time |
timestamp | Carimbo de data/hora da alteração para essa definição de computação. | 2023-01-09 11:00:00.000 |
delete_time |
timestamp | Carimbo de data/hora de quando o cluster foi excluído. O valor será null se o cluster não for excluído. |
2023-01-09 11:00:00.000 |
driver_node_type |
string | Nome do tipo de nó do driver. Isso corresponde ao nome do tipo de instância do provedor de nuvem. | Standard_D16s_v3 |
worker_node_type |
string | Nome do tipo de nó de trabalho. Isso corresponde ao nome do tipo de instância do provedor de nuvem. | Standard_D16s_v3 |
worker_count |
BIGINT | Número de funções de trabalho. Definido apenas para clusters de tamanho fixo. | 4 |
min_autoscale_workers |
BIGINT | O número mínimo definido de trabalhadores. Esse campo é válido apenas para clusters de dimensionamento automático. | 1 |
max_autoscale_workers |
BIGINT | O número máximo definido de trabalhos. Esse campo é válido apenas para clusters de dimensionamento automático. | 1 |
auto_termination_minutes |
BIGINT | A duração da autoterminação configurada. | 120 |
enable_elastic_disk |
boolean | Status de habilitação do disco de dimensionamento automático. | true |
tags |
map | Marcas definidas pelo usuário para o cluster (não incluem marcas padrão). | {"ResourceClass":"SingleNode"} |
cluster_source |
string | Indica o criador para o cluster: UI , API , JOB etc. |
UI |
init_scripts |
matriz | Conjunto de caminhos para scripts de inicialização. | "/Users/example@email.com /files/scripts/install-python-pacakges.sh" |
aws_attributes |
struct | Configurações específicas do AWS. | null |
azure_attributes |
struct | Configurações específicas do Azure. | { "first_on_demand": "0", "availability": "ON_DEMAND_AZURE", "spot_bid_max_price": "—1" } |
gcp_attributes |
struct | Configurações específicas do GCP. Esse campo estará vazio. | null |
driver_instance_pool_id |
string | ID do pool de instâncias se o driver estiver configurado na parte superior de um pool de instâncias. | 1107-555555-crhod16-pool-DIdnjazB |
worker_instance_pool_id |
string | ID do pool de instâncias se o trabalho estiver configurado na parte superior de um pool de instâncias. | 1107-555555-crhod16-pool-DIdnjazB |
dbr_version |
string | O Databricks Runtime do cluster. | 14.x-snapshot-scala2.12 |
change_time |
timestamp | Carimbo de data/hora da alteração para a definição de computação. | 2023-01-09 11:00:00.000 |
change_date |
date | Alterar data. Usado para retenção. | 2023-01-09 |
Esquema de tabela de tipos de nó
A tabela de tipo de nó captura os tipos de nó disponíveis no momento com suas informações básicas de hardware. A tabela do sistema de tipo de nó está localizada em system.compute.node_types
e tem o seguinte esquema:
Nome da coluna | Tipo de dados | Descrição | Exemplo |
---|---|---|---|
account_id |
string | ID da conta em que esse cluster foi criado. | 23e22ba4-87b9-4cc2-9770-d10b894b7118 |
node_type_name |
string | Identificador exclusivo para o tipo de nó. | Standard_D16s_v3 |
core_count |
double | Número de vCPUs para a instância. | 48.0 |
memory_mb |
longo | Memória total para a instância. | 393216 |
gpu_count |
longo | Número de GPUs para a instância. | 0 |
Limitações conhecidas
- Os clusters marcados como excluídos antes de 23 de outubro de 2023 não aparecem na tabela de clusters. Isso pode resultar em junções da tabela
system.billing.usage
que não correspondem aos registros de cluster na tabela de clusters. Todos os clusters ativos foram preenchidos novamente. - A tabela de clusters inclui apenas registros para clusters de todos os fins e trabalhos. Ela não contém clusters do Delta Live Tables ou SQL warehouses.
Consultas de exemplo
Você pode usar as seguintes consultas de exemplo para responder perguntas comuns sobre clusters:
- Unir registros de cluster com registros de uso faturáveis
- Custos de atributo de um cluster para o proprietário do cluster
Observação
Esses exemplos unem a tabela de cluster com a tabela system.billing.usage
. Como os registros de cobrança são entre regiões e os registros de cluster são de regiões específicas, os registros de cobrança correspondem apenas aos registros de cluster da região em que você está consultando. Para ver registros de outra região, execute a consulta nessa região.
Unir registros de cluster com os registros de cobrança mais recentes
Essa consulta pode ajudá-lo a entender os gastos ao longo do tempo. Depois de atualizar o usage_start_time
para o período de cobrança mais atual, ele captura as atualizações mais recentes nos registros de cobrança para unir a dados de clusters.
Cada registro é associado ao proprietário do cluster durante essa execução específica. Portanto, se o proprietário do cluster for alterado, os custos serão acumulados para o proprietário correto com base em quando o cluster foi usado.
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;
Custos de atributo de um cluster para o proprietário do cluster
Se você estiver procurando reduzir os custos de computação, poderá usar essa consulta para descobrir quais proprietários de cluster em sua conta estão usando mais DBUs.
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;
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de