Referência das tabelas do sistema de computação
Visualização
Essa tabela do sistema está em Pré-visualização Pública. Para acessar a tabela, o esquema deve estar habilitado em seu catálogo system
. Para obter mais informações, consulte Habilitar esquemas de tabelas do sistema.
Este artigo fornece aos senhores um guia de referência para as tabelas do sistema compute. O senhor pode usar essas tabelas para monitorar a atividade e as métricas de todos os propósitos e do Job compute em seu account:
clusters
: Registra as configurações do compute no seu account.node_types
: Inclui um único registro para cada um dos tipos de nós atualmente disponíveis, incluindo informações de hardware.node_timeline
: Inclui registros minuto a minuto das métricas de utilização do seu compute.
Esquema de tabela de cluster
A tabela cluster é uma tabela de dimensão de mudança lenta que contém o histórico completo das configurações do compute ao longo do tempo para todos os fins e para o Job compute.
Caminho da tabela: Esta tabela do sistema está localizada em system.compute.clusters
Nome da coluna |
Tipo de dados |
Descrição |
Exemplo |
---|---|---|---|
|
string |
ID do site account onde este cluster foi criado. |
|
|
string |
ID do site workspace onde este cluster foi criado. |
|
|
string |
ID do cluster ao qual esse registro está associado. |
|
|
string |
Nome definido pelo usuário para o cluster. |
|
|
string |
Nome de usuário do proprietário do cluster. O padrão é o criador cluster, mas pode ser alterado por meio dos clusters API. |
|
|
timestamp |
Registro de data e hora da alteração desta definição do site compute. |
|
|
timestamp |
Registro de data e hora de quando o cluster foi excluído. O valor é |
|
|
string |
Nome do tipo de nó de driver. Isso corresponde ao nome do tipo de instância do provedor cloud. |
|
|
string |
worker nome do tipo de nó. Isso corresponde ao nome do tipo de instância do provedor cloud. |
|
|
bigint |
Número de trabalhadores. Definido apenas para clusters de tamanho fixo. |
|
|
bigint |
O número mínimo de trabalhadores definido. Esse campo é válido somente para autoscale clusters. |
|
|
bigint |
O número máximo de trabalhadores definido. Esse campo é válido somente para autoscale clusters. |
|
|
bigint |
A duração configurada da autoterminação. |
|
|
boolean |
Status de ativação do disco de autoescala. |
|
|
map |
Definido pelo usuário tags para o cluster (não inclui default tags). |
|
|
string |
Indica o criador do cluster: |
|
|
matriz |
Conjunto de caminhos para o script de inicialização. |
|
|
struct |
Configurações específicas do AWS. Esse campo ficará vazio. |
|
|
struct |
Configurações específicas do Azure. Esse campo ficará vazio. |
|
|
struct |
Configurações específicas do GCP. |
|
|
string |
ID do pool de instâncias se o driver estiver configurado em um pool de instâncias. |
|
|
string |
ID da instância pool se a worker estiver configurada em cima de uma instância pool. |
|
|
string |
O site Databricks Runtime do cluster. |
|
|
timestamp |
Registro de data e hora da alteração na definição do site compute. |
|
|
Data |
Data de alteração. Usado para retenção. |
|
Esquema da tabela de tipos de nós
A tabela de tipos de nós captura os tipos de nós atualmente disponíveis com suas informações básicas de hardware.
Caminho da tabela: Essa tabela do sistema está localizada em system.compute.node_types
.
Nome da coluna |
Tipo de dados |
Descrição |
Exemplo |
---|---|---|---|
|
string |
ID do site account onde este cluster foi criado. |
|
|
string |
Identificador exclusivo do tipo de nó. |
<driver type>Tipo de motorista < > |
|
double |
Número de vCPUs para a instância. |
|
|
long |
Memória total da instância. |
|
|
long |
Número de GPUs para a instância. |
|
Esquema da tabela de linha do tempo do nó
A tabela de linha do tempo do nó captura dados de utilização de recurso em nível de nó com granularidade de minutos. Cada registro contém dados para um determinado minuto de tempo por instância.
Caminho da tabela: Essa tabela do sistema está localizada em system.compute.node_timeline
.
Nome da coluna |
Tipo de dados |
Descrição |
Exemplo |
---|---|---|---|
|
string |
ID do site account onde esse recurso compute está sendo executado. |
|
|
string |
ID do site workspace onde esse recurso compute está sendo executado. |
|
|
string |
ID do recurso compute. |
|
|
string |
ID para a instância específica. |
|
|
timestamp |
começar o tempo para o registro em UTC. |
|
|
timestamp |
Hora de término do registro em UTC. |
|
|
boolean |
Se a instância é um driver ou um nó worker. |
|
|
double |
Porcentagem do tempo que a CPU passou no espaço do usuário. |
|
|
double |
Porcentagem do tempo que a CPU passou no kernel. |
|
|
double |
Porcentagem do tempo que a CPU gastou esperando por E/S. |
|
|
double |
Porcentagem da memória do site computeque foi usada durante o período (incluindo a memória usada por processos em segundo plano em execução no site compute). |
|
|
double |
Porcentagem de uso de memória atribuída à memória swap. |
|
|
bigint |
O número de bytes enviados no tráfego de rede. |
|
|
bigint |
O número de bytes recebidos do tráfego de rede. |
|
|
map |
A utilização do disco agrupada por ponto de montagem. Esse provisionamento de armazenamento é efêmero e ocorre somente enquanto o site compute estiver em execução. |
|
|
string |
O nome do tipo de nó. Isso corresponderá ao nome do tipo de instância do provedor cloud. |
<driver type>Tipo de motorista < > |
Limitações conhecidas
compute Os recursos que foram marcados como excluídos antes de 23 de outubro de 2023 não aparecem na tabela clusters. Isso pode fazer com que a união da tabela
system.billing.usage
não corresponda aos registros da tabela clusters. Todos os recursos ativos do compute foram preenchidos.Essas tabelas incluem apenas registros para todos os fins e para o Job compute. Eles não contêm registros para os armazéns serverless compute, Delta Live Tables compute, ou SQL.
Os nós que foram executados por menos de 10 minutos podem não aparecer na tabela
node_timeline
.
Consultas de amostra
O senhor pode usar os seguintes exemplos de consultas para responder a perguntas comuns:
Observação
Alguns desses exemplos join a tabela cluster com a tabela system.billing.usage
. Como os registros de faturamento são inter-regionais e os registros de cluster são específicos da região, os registros de faturamento só correspondem aos registros de cluster da região em que o senhor está consultando. Para ver os registros de outra região, execute a consulta nessa região.
Unir os registros de cluster com os registros de faturamento mais recentes
Essa consulta pode ajudar o senhor a entender os gastos ao longo do tempo. Quando o usuário atualiza usage_start_time
para o período de faturamento mais atual, ele obtém as atualizações mais recentes dos registros de faturamento para join nos dados de clusters.
Cada registro é associado ao proprietário do cluster durante essa execução específica. Portanto, se o proprietário do cluster mudar, os custos serão transferidos para o proprietário correto com base na época em que 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;
Atribuir custos ao proprietário do cluster
Se o senhor deseja reduzir os custos do compute, pode usar essa consulta para descobrir quais proprietários do cluster no seu account 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;
Identifique o recurso compute com a maior média de utilização e pico de utilização
Identifique o site compute que tem a maior média de utilização da CPU e o maior pico de utilização da CPU.
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;