Comparteix via


Referencia de tablas del sistema de proceso

En este artículo se proporciona una guía de referencia para las tablas del sistema de computación. Puede usar estas tablas para supervisar la actividad y las métricas de los recursos de cómputo de propósito general no serverless, los recursos de cómputo para tareas y las canalizaciones declarativas de Spark de Lakeflow en su cuenta. Las tablas de cálculo incluyen:

  • clusters: registra las configuraciones de proceso en su cuenta.
  • node_types: incluye un único registro para cada uno de los tipos de nodo disponibles actualmente, incluida la información de hardware.
  • node_timeline: incluye registros minuto a minuto de las métricas de uso de la computadora.

Esquema de la tabla de clústeres

La tabla de clúster es una tabla de dimensiones de variación lenta que contiene el historial completo de las configuraciones de computación a lo largo del tiempo para la computación de propósito general, la computación de trabajos, la computación de canalizaciones declarativas de Lakeflow Spark y la computación de mantenimiento de canalizaciones.

Ruta de acceso de tabla: esta tabla del sistema se encuentra en system.compute.clusters

Nombre de la columna Tipo de datos Descripción Ejemplo
account_id cuerda / cadena Identificador de la cuenta donde se creó este clúster. 23e22ba4-87b9-
4cc2-9770-d10b894b7118
workspace_id cuerda / cadena Identificador del área de trabajo donde se creó el clúster. 1234567890123456
cluster_id cuerda / cadena Identificador del clúster para el que está asociado este registro. 0000-123456-crmpt124
cluster_name cuerda / cadena Nombre del clúster definido por el usuario. My cluster
owned_by cuerda / cadena Nombre de usuario del propietario del clúster. El valor predeterminado es el creador del clúster, pero se puede cambiar a través de la API de clústeres. sample_user@email.com
create_time marca de tiempo Marca de tiempo del cambio a esta definición de proceso. 2023-01-09 11:00:00.000
delete_time marca de tiempo Marca de tiempo de cuándo se eliminó el clúster. El valor es null si el clúster no se elimina. 2023-01-09 11:00:00.000
driver_node_type cuerda / cadena Nombre del tipo de nodo de controlador. Esto coincide con el nombre de tipo de instancia del proveedor de nube. Standard_D16s_v3
worker_node_type cuerda / cadena Nombre del tipo de nodo de trabajo. Esto coincide con el nombre de tipo de instancia del proveedor de nube. Standard_D16s_v3
worker_count bigint Número de trabajadores. Se define solo para clústeres de tamaño fijo. 4
min_autoscale_workers bigint El número mínimo establecido de trabajadores. Este campo solo es válido para clústeres de escalado automático. 1
max_autoscale_workers bigint Número máximo de trabajos. Este campo solo es válido para clústeres de escalado automático. 1
auto_termination_minutes bigint Duración de la autoterminación configurada. 120
enable_elastic_disk booleano Estado de habilitación del disco de escalado automático. true
tags mapa Etiquetas definidas por el usuario para el clúster (no incluye etiquetas predeterminadas). {"ResourceClass":"SingleNode"}
cluster_source cuerda / cadena Origen del clúster. Los valores de UI o API solo se aplican a la computación de uso general. Todo el proceso de trabajo se registra como JOB. Las canalizaciones son PIPELINE o PIPELINE_MAINTENANCE. UI
init_scripts arreglo Conjunto de rutas de acceso para scripts de inicialización. "/Users/example@email.com
/files/scripts/install-python-pacakges.sh"
aws_attributes Estructura Configuración específica de AWS. null
azure_attributes Estructura Configuración específica de Azure. {
"first_on_demand": "0",
"availability": "ON_DEMAND_AZURE",
"spot_bid_max_price": "—1"
}
gcp_attributes Estructura Configuración específica de GCP. Este campo estará vacío. null
driver_instance_pool_id cuerda / cadena Identificador del grupo de instancias si el controlador está configurado sobre un grupo de instancias. 1107-555555-crhod16-pool-DIdnjazB
worker_instance_pool_id cuerda / cadena Identificador del grupo de instancias si el trabajo está configurado sobre un grupo de instancias. 1107-555555-crhod16-pool-DIdnjazB
dbr_version cuerda / cadena Databricks Runtime del clúster. 14.x-snapshot-scala2.12
change_time marca de tiempo Marca de tiempo del cambio en la definición de proceso. 2023-01-09 11:00:00.000
change_date fecha Fecha de cambio. Se usa para la retención. 2023-01-09
data_security_mode cuerda / cadena Modo de acceso del recurso de cálculo. Consulta Referencia del modo de acceso. USER_ISOLATION
policy_id cuerda / cadena Identificador de la política de cálculo del clúster, si procede. 1234F35636110A5B

Referencia del modo de acceso

En la tabla siguiente se traducen los valores posibles incluidos en la data_security_mode columna . La columna también puede ser null para determinadas canalizaciones y clústeres creados por el sistema.

Importancia Modo de acceso
USER_ISOLATION Estándar
SINGLE_USER Dedicado

Los modos de acceso heredados se registran con los siguientes valores:

Importancia Modo de acceso
LEGACY_PASSTHROUGH Acceso directo de credenciales (compartido)
LEGACY_SINGLE_USER Acceso directo de credenciales (usuario único)
LEGACY_TABLE_ACL Personalizado
NONE Sin aislamiento compartido

Esquema de tabla de tipos de nodos

La tabla de tipos de nodos captura los tipos de nodos disponibles actualmente con su información básica de hardware.

Ruta de acceso de tabla: esta tabla del sistema se encuentra en system.compute.node_types.

Nombre de la columna Tipo de datos Descripción Ejemplo
account_id cuerda / cadena Identificador de la cuenta donde se creó este clúster. 23e22ba4-87b9-4cc2-9770-d10b894b7118
node_type cuerda / cadena Identificador único para este tipo de nodo. Standard_D16s_v3
core_count doble Número de vCPU de la instancia. 48.0
memory_mb largo Memoria total de la instancia. 393216
gpu_count largo Número de GPU de la instancia. 0

Esquema de tabla de escala de tiempo de nodo

La tabla de escala de tiempo del nodo captura los datos de uso de recursos de nivel de nodo en granularidad de minuto. Cada registro contiene datos durante un minuto determinado de tiempo por instancia. En esta tabla se capturan los cronogramas de nodo para los recursos de cómputo de propósito general, los de cómputo de los trabajos, los de cómputo para Los procesos declarativos de Lakeflow Spark y los de cómputo para el mantenimiento de canalización en su cuenta.

Ruta de acceso de tabla: esta tabla del sistema se encuentra en system.compute.node_timeline.

Nombre de la columna Tipo de datos Descripción Ejemplo
account_id cuerda / cadena Identificador de la cuenta donde se ejecuta este recurso de proceso. 23e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id cuerda / cadena Identificador del área de trabajo donde se ejecuta este recurso de computación. 1234567890123456
cluster_id cuerda / cadena Identificador del recurso de cómputo. 0000-123456-crmpt124
instance_id cuerda / cadena Identificador de la instancia específica. i-1234a6c12a2681234
start_time marca de tiempo Hora de inicio del registro en UTC. 2024-07-16T12:00:00Z
end_time marca de tiempo Hora de finalización del registro en UTC. 2024-07-16T13:00:00Z
driver booleano Si la instancia es un controlador o un nodo de trabajo. true
cpu_user_percent doble Porcentaje de tiempo que la CPU pasó en userland. 34.76163817234407
cpu_system_percent doble Porcentaje de tiempo que la CPU pasó en el kernel. 1.0895310279488264
cpu_wait_percent doble Porcentaje de tiempo que la CPU ha dedicado a esperar la E/S. 0.03445157400629276
mem_used_percent doble Porcentaje de la memoria del proceso que se usó durante el período de tiempo (incluida la memoria usada por los procesos en segundo plano que se ejecutan en el proceso). 45.34858216779041
mem_swap_percent doble Porcentaje de uso de memoria que se atribuye al intercambio de memoria. 0.014648443087939
network_sent_bytes bigint Número de bytes enviados en el tráfico de red. 517376
network_received_bytes bigint Número de bytes recibidos del tráfico de red. 179234
disk_free_bytes_per_mount_point mapa Uso del disco agrupado por punto de montaje. Este es un almacenamiento efímero provisionado solo mientras el cómputo está en ejecución. {"/var/lib/lxc":123455551234,"/":
123456789123,"/local_disk0":123412341234}
node_type cuerda / cadena Nombre del tipo de nodo. Esto coincidirá con el nombre de tipo de instancia del proveedor de nube. Standard_D16s_v3

Restricciones conocidas

  • Los recursos de proceso que se marcaron como eliminados antes del 23 de octubre de 2023 no aparecen en la tabla de clústeres. Esto puede dar lugar a combinaciones de la tabla system.billing.usage que no coincidan con los registros de la tabla de clústeres. Se han restaurado todos los recursos de cálculo activos.
  • Estas tablas solo incluyen registros para el proceso de todos los fines y trabajos. No contienen registros para el cómputo sin servidor, el uso de canalizaciones declarativas de Spark de Lakeflow ni los almacenes de datos SQL.
  • Es posible que los nodos que se ejecutan durante menos de 10 minutos no aparezcan en la tabla node_timeline.

Consultas de ejemplo

Puede usar las siguientes consultas de ejemplo para responder a preguntas comunes:

Nota:

Algunos de estos ejemplos unen la tabla de clúster con la tabla system.billing.usage. Dado que los registros de facturación abarcan varias regiones y los registros de clúster son específicos de cada región, los registros de facturación solo coinciden con los registros de clúster de la región en la que usted consulta. Para ver los registros de otra región, ejecute la consulta en esa región.

Unir los registros de clúster con los registros de facturación más recientes

Esta consulta puede ayudarle a comprender el gasto a lo largo del tiempo. Una vez que actualice usage_start_time al período de facturación más reciente, obtiene las actualizaciones más recientes de los registros de facturación para agrupar los datos en clústeres.

Cada registro está asociado al propietario del clúster durante esa ejecución concreta. Por lo tanto, si cambia el propietario del clúster, los costos se acumulan al propietario correcto en función de cuándo se usó el clúster.

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;

Identificación de los recursos informáticos con el uso promedio más alto y el uso máximo.

Identifique las computaciones generales y de trabajos que tienen la mayor utilización media de CPU y la mayor utilización máxima de 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;