Pular para o conteúdo principal

referência de tabelas do sistema de computação

info

Visualização

Essas tabelas do sistema estão em Pré-visualização Pública.

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 deserverless não multifuncionais compute, Job compute e DLT pipeline compute em seu account. As tabelas do site compute incluem:

  • 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 clustering

A tabela de clustering é 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 compute, Job compute, DLT pipeline compute, e pipeline maintenance compute.

Caminho da tabela : Esta tabela do sistema está localizada em system.compute.clusters

Nome da coluna

Tipo de dados

Descrição

Exemplo

account_id

string

ID do site account onde esse clustering foi criado.

23e22ba4-87b9- 4cc2-9770-d10b894b7118

workspace_id

string

ID do site workspace onde esse clustering foi criado.

1234567890123456

cluster_id

string

ID do clustering ao qual esse registro está associado.

0000-123456-xxxxxxxx

cluster_name

string

Nome definido pelo usuário para o clustering.

My cluster

owned_by

string

Nome de usuário do proprietário do clustering. por padrão para o criador do clustering, mas pode ser alterado por meio do clustering API.

sample_user@email.com

create_time

carimbo de data/hora

Registro de data e hora da alteração desta definição do site compute.

2023-01-09 11:00:00.000

delete_time

carimbo de data/hora

Registro de data e hora de quando o clustering foi excluído. O valor é null se o clustering 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.

i3.xlarge

worker_node_type

string

nome do tipo de nó de trabalho. Isso corresponde ao nome do tipo de instância do provedor de nuvem.

i3.xlarge

worker_count

bigint

Número de trabalhadores. Definido apenas para clustering de tamanho fixo.

4

min_autoscale_workers

bigint

O número mínimo de trabalhadores definido. Esse campo é válido somente para o clustering de autoescala.

1

max_autoscale_workers

bigint

O número máximo de trabalhadores definido. Esse campo é válido somente para o clustering de autoescala.

1

auto_termination_minutes

bigint

A duração configurada da autoterminação.

120

enable_elastic_disk

boolean

Status de ativação do disco de autoescala.

true

tags

map

Tags definidas pelo usuário para o clustering (não inclui tags default ).

{"ResourceClass":"SingleNode"}

cluster_source

string

Onde o clustering foi criado. Para todos os fins compute, a fonte pode ser UI ou API. Outros tipos de compute são registrados como JOB, PIPELINE ou PIPELINE_MAINTENANCE.

UI

init_scripts

matriz

Conjunto de caminhos para o script de inicialização.

"/Users/example@email.com /files/scripts/install-python-pacakges.sh"

aws_attributes

struct

Configurações específicas do AWS.

{ "ebs_volume_count": null, "availability": "SPOT_WITH_FALLBACK", "first_on_demand": "0", "spot_bid_price_percent": "100" }

azure_attributes

struct

Configurações específicas do Azure.

null

gcp_attributes

struct

Configurações específicas do GCP. Esse campo ficará vazio.

null

driver_instance_pool_id

string

ID do pool de instâncias se o driver estiver configurado em um pool de instâncias.

1107-555555-crhod16-pool-DIdnjazB

worker_instance_pool_id

string

ID do pool de instâncias se o worker estiver configurado em cima de uma instância pool.

1107-555555-crhod16-pool-DIdnjazB

dbr_version

string

O endereço Databricks Runtime do agrupamento.

14.x-snapshot-scala2.12

change_time

carimbo de data/hora

Registro de data e hora da alteração na definição do site compute.

2023-01-09 11:00:00.000

change_date

Data

Alterar data. Usado para retenção.

2023-01-09

Esquema de 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

account_id

string

ID do site account onde esse clustering foi criado.

23e22ba4-87b9-4cc2-9770-d10b894b7118

node_type

string

Identificador exclusivo para o tipo de nó.

i3.xlarge

core_count

double

Número de vCPUs para a instância.

48.0

memory_mb

long

Memória total para a instância.

393216

gpu_count

long

Número de GPUs para a instância.

0

Esquema da tabela de cronograma do Node

A tabela de linha do tempo do nó captura dados de utilização de recurso em nível de nó com granularidade de minuto. Cada registro contém dados de um determinado minuto de tempo por instância. Esta tabela captura as linhas de tempo dos nós para o recurso multifuncional compute, Job compute, DLT pipeline compute e pipeline maintenance compute em seu account.

Caminho da tabela : Essa tabela do sistema está localizada em system.compute.node_timeline.

Nome da coluna

Tipo de dados

Descrição

Exemplo

account_id

string

ID do site account onde esse recurso compute está sendo executado.

23e22ba4-87b9-4cc2-9770-d10b894b7118

workspace_id

string

ID do site workspace onde esse recurso compute está sendo executado.

1234567890123456

cluster_id

string

ID do recurso compute.

0000-123456-crmpt124

instance_id

string

ID da instância específica.

i-1234a6c12a2681234

start_time

carimbo de data/hora

começar o tempo para o registro em UTC.

2024-07-16T12:00:00Z

end_time

carimbo de data/hora

Hora de término do registro em UTC.

2024-07-16T13:00:00Z

driver

boolean

Se a instância é um driver ou um nó worker.

true

cpu_user_percent

double

Porcentagem de tempo que a CPU passou na área do usuário.

34.76163817234407

cpu_system_percent

double

Porcentagem de tempo que a CPU passou no kernel.

1.0895310279488264

cpu_wait_percent

double

Porcentagem de tempo que a CPU passou esperando pela E/S.

0.03445157400629276

mem_used_percent

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).

45.34858216779041

mem_swap_percent

double

Porcentagem de uso de memória atribuída à memória swap.

0.014648443087939

network_sent_bytes

bigint

O número de bytes enviados no tráfego da rede.

517376

network_received_bytes

bigint

O número de bytes recebidos do tráfego da rede.

179234

disk_free_bytes_per_mount_point

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.

{"/var/lib/lxc":123455551234,"/": 123456789123,"/local_disk0":123412341234}

node_type

string

O nome do tipo de nó. Isso corresponderá ao nome do tipo de instância do provedor de nuvem.

i3.xlarge

Limitações conhecidas

  • compute recurso que foram marcados como excluídos antes de 23 de outubro de 2023 não aparecem na tabela de agrupamento. Isso pode fazer com que a união da tabela system.billing.usage não corresponda aos registros da tabela de clustering. 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 serverless compute, DLT compute, ou SQL warehouse.
  • Os nós que foram executados por menos de 10 minutos podem não aparecer na tabela node_timeline.

Exemplos de consultas

Você pode usar os exemplos de consultas a seguir para responder perguntas comuns:

nota

Alguns desses exemplos join a tabela de clustering com a tabela system.billing.usage. Como os registros de faturamento são inter-regionais e os registros de clustering são específicos da região, os registros de faturamento só correspondem aos registros de clustering da região em que o usuário está consultando. Para ver registros de outra região, execute a consulta nessa região.

unir os registros de agrupamento com os registros de faturamento mais recentes

Essa consulta pode ajudar você a entender os gastos ao longo do tempo. Depois que 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 em dados de clustering.

Cada registro está associado ao proprietário do clustering durante essa execução específica. Portanto, se o proprietário do clustering mudar, os custos serão transferidos para o proprietário correto com base na época em que o clustering foi usado.

SQL
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;

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.

SQL
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;