Compartir vía


Supervisión de la utilización con las tablas del sistema

En este artículo se explica el concepto de tablas del sistema en Azure Databricks y se resaltan los recursos que puede usar para sacar el máximo partido de los datos de las tablas del sistema.

¿Qué son las tablas del sistema?

Las tablas de sistema son un almacén analítico hospedado en Azure Databricks de los datos operativos de su cuenta que se encuentran en el catálogo system. Las tablas del sistema se pueden usar para la observabilidad histórica en toda la cuenta.

Nota:

Para obtener documentación sobre system.information_schema, consulte Esquema de información.

Requisitos

  • Para acceder a sus tablas del sistema, su área de trabajo debe estar habilitada para Unity Catalog. Para obtener más información, consulte Habilitación de esquemas de tabla del sistema.

  • Las tablas del sistema no están disponibles en las siguientes regiones:

    • Regiones de Azure China
    • Regiones de Azure Government
    • Oeste de la India
    • Oeste de Suiza

¿Qué tablas del sistema están disponibles?

Actualmente, Azure Databricks hospeda las siguientes tablas del sistema:

Tabla Descripción Location Admite streaming Período gratuito de retención Incluye datos globales o regionales
Registros de auditoría (versión preliminar pública) Incluye registros para todos los eventos de auditoría de áreas de trabajo de su región. Para obtener una lista de los eventos de auditoría disponibles, consulte Referencia del registro de diagnóstico. system.access.audit 365 días Regionales para eventos de nivel de área de trabajo. Globales para eventos de nivel de cuenta.
Linaje de tabla (versión preliminar pública) Incluye un registro para cada evento de lectura o escritura en una tabla o ruta de acceso de Unity Catalog. system.access.table_lineage 365 días Regional
Linaje de columnas (versión preliminar pública) Incluye un registro para cada evento de lectura o escritura en una columna de Unity Catalog (pero no incluye eventos que no tienen un origen). system.access.column_lineage 365 días Regional
Uso facturable Incluye registros de todo el uso facturable de su cuenta. Cada registro de uso es un agregado por hora del uso facturable de un recurso. system.billing.usage 365 días Global
Precios Un registro histórico de precios de SKU. Se agrega un registro cada vez que hay un cambio en un precio de SKU. system.billing.list_prices No Ilimitado Global
Clústeres (versión preliminar pública) Tabla de dimensión variable lenta que contiene el historial completo de configuraciones de proceso a lo largo del tiempo para cualquier clúster. system.compute.clusters N/D Regional
Escala de tiempo del nodo (versión preliminar pública) Captura las métricas de uso de los recursos de proceso de todos los fines y trabajos. system.compute.node_timeline 30 días Regional
Tipos de nodo (versión preliminar pública) Captura los tipos de nodo disponibles actualmente con su información básica de hardware. system.compute.node_types No N/D Regional
Eventos de SQL Warehouse (versión preliminar pública) Captura eventos relacionados con los almacenes de SQL. Por ejemplo, iniciar, detener, ejecutar, escalar y reducir verticalmente. system.compute.warehouse_events 365 días Regional
Trabajos versión preliminar pública Realiza un seguimiento de todos los trabajos creados en la cuenta. system.lakeflow.jobs 365 días Regional
Tareas de trabajo (versión preliminar pública) Realiza un seguimiento de todas las tareas de trabajo que se ejecutan en la cuenta. system.lakeflow.job_tasks 365 días Regional
Escala de tiempo de ejecución del trabajo (versión preliminar pública) Realiza un seguimiento de las horas de inicio y finalización de las ejecuciones del trabajo. system.lakeflow.

job_run_timeline
365 días Regional
Escala de tarea de ejecución del trabajo (versión preliminar pública) Supervisa las horas de inicio y fin y los recursos de proceso usados para la ejecución de las tareas. system.lakeflow.

job_task_run_timeline
365 días Regional
Eventos de embudo de Marketplace (versión preliminar pública) Incluye datos de impresión y embudo de los consumidores para sus listas. system.marketplace.listing_

funnel_events
365 días Regional
Acceso a la descripción de Marketplace (versión preliminar pública) Incluye información del consumidor para los datos de solicitud completados o se obtienen eventos de datos en sus listas. system.marketplace.listing_

access_events
365 días Regional
Optimización predictiva (versión preliminar pública) Realiza un seguimiento del historial de operaciones de la característica de optimización predictiva. system.storage.predictive_

optimization_operations_history
No 180 días Regional
Eventos del Asistente de Databricks (versión preliminar pública) Realiza un seguimiento de los mensajes de usuario enviados al Asistente de Databricks. system.access.assistant_events No 365 días Regional
Historial de consultas (versión preliminar pública) Captura los registros de todas las consultas que se ejecutan en almacenes de SQL. system.query.history 90 días Regional
Eventos de sala limpia (versión preliminar pública) Captura eventos relacionados con las salas limpias. system.access.clean_room_events 365 días Regional
Uso del punto de conexión de servicio de modelos (versión preliminar pública) Captura los recuentos de tokens para cada solicitud a un punto de conexión de servicio de modelo y sus respuestas. system.serving.endpoint_usage 90 días Regional
Datos de punto de conexión de servicio de modelos (versión preliminar pública) Tabla de dimensiones de variación lenta que almacena metadatos para cada modelo externo servido en un punto de conexión de servicio del modelo. system.serving.served_entities 365 días Regional

Las tablas de precios y uso facturables son gratuitas. Las tablas en versión preliminar pública también son gratuitas durante la versión preliminar, pero podrían incurrir en un cargo en el futuro.

Nota:

Es posible que vea otras tablas del sistema en su cuenta además de las enumeradas anteriormente. Esas tablas se encuentran actualmente en versión preliminar privada y están vacías de forma predeterminada. Si está interesado en usar cualquiera de estas tablas, póngase en contacto con el equipo de la cuenta de Databricks.

Habilitación de esquemas de tabla del sistema

Dado que las tablas del sistema se rigen por el catálogo de Unity, debe tener al menos un área de trabajo habilitada para el catálogo de Unity en su cuenta para habilitar y acceder a las tablas del sistema. Las tablas del sistema incluyen datos de todas las áreas de trabajo de la cuenta, pero solo se puede acceder a ellas desde un área de trabajo habilitada para el catálogo de Unity.

Las tablas del sistema están habilitadas en el nivel de esquema. Si habilita un esquema del sistema, habilitará todas las tablas dentro de ese esquema. Cuando se publican nuevos esquemas, un administrador de cuenta tiene que habilitar manualmente el esquema.

Un administrador de la cuenta debe habilitar las tablas del sistema. Puede habilitar tablas del sistema mediante la API SystemSchemas.

Nota:

El esquema de billing está habilitado de manera predeterminada. Otros esquemas deben habilitarse manualmente.

Lista de esquemas del sistema disponibles

Use el siguiente comando curl para enumerar los esquemas del sistema disponibles:

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

A continuación se muestra un ejemplo de salida del GET comando:

{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}

state: AVAILABLE: el esquema del sistema está disponible, pero aún no se ha habilitado.

state: EnableCompleted: ha habilitado el esquema del sistema y está visible en Catalog Explorer.

Habilitación de un esquema del sistema

Use el siguiente comando curl para habilitar un esquema del sistema:

curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Si el esquema del sistema está habilitado correctamente, se devuelve el código 200 de resultado.

Si intenta volver a habilitar un esquema del sistema, se devuelve lo siguiente: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists".

Deshabilitar un esquema del sistema

Use el siguiente comando curl para deshabilitar un esquema del sistema:

curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Concesión de acceso a tablas del sistema

El acceso a las tablas del sistema se rige por Unity Catalog. De forma predeterminada, ningún usuario tiene acceso a estos esquemas del sistema. Para conceder el acceso, un usuario que sea tanto administrador del metastore como administrador de la cuenta debe conceder permisos USE y SELECT en los esquemas del sistema. Consulte Administración de privilegios en Unity Catalog.

Las tablas del sistema son de solo lectura y no se pueden modificar.

Nota:

Si la cuenta se creó después del 9 de noviembre de 2023, es posible que no tenga un administrador de metastore de forma predeterminada. Para más información, consulte Configuración y administración de Unity Catalog.

¿Las tablas del sistema contienen datos para todas las áreas de trabajo de la cuenta?

Las tablas del sistema contienen datos operativos para todas las áreas de trabajo de la cuenta implementadas en la misma región de nube. Las tablas del sistema de facturación contienen datos de toda la cuenta.

Aunque solo se puede acceder a las tablas del sistema a través de un área de trabajo del catálogo de Unity, las tablas también incluyen datos operativos para áreas de trabajo que no son del catálogo de Unity en la cuenta.

¿Dónde se almacenan los datos de la tabla del sistema?

Los datos de la tabla del sistema de la cuenta se almacenan en una cuenta de almacenamiento hospedada en Azure Databricks que se encuentra en la misma región que el metastore. Los datos se comparten de forma segura con usted mediante Delta Sharing.

Cada tabla tiene un período de retención de datos gratuito. Para obtener información sobre cómo ampliar el período de retención, póngase en contacto con el equipo de la cuenta de Azure Databricks.

¿Dónde se encuentran las tablas del sistema en el Explorador de catálogos?

Las tablas del sistema de tu cuenta se encuentran en un catálogo llamado system, que se incluye en todos los metadatos del Catálogo Unity. En el system catálogo, verá esquemas como access y billing que contienen las tablas del sistema.

Consideraciones para las tablas del sistema de streaming

Azure Databricks utiliza el Uso compartido de Delta para compartir datos de tabla del sistema con los clientes. Tenga en cuenta las siguientes consideraciones al transmitir con Delta Sharing:

  • Si usa streaming con tablas del sistema, establezca la opción skipChangeCommits en true. Esto garantiza que el trabajo de streaming no se interrumpa de las eliminaciones en las tablas del sistema. Consulte Omisión de actualizaciones y eliminaciones.
  • Trigger.AvailableNow no se admite con streaming de Delta Sharing. Se convertirá en Trigger.Once.

Si utiliza un desencadenador en su trabajo de streaming y observa que no se pone al día con la última versión de la tabla del sistema, Databricks recomienda aumentar la frecuencia programada del trabajo.

Leer los cambios incrementales de las tablas del sistema de streaming

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

Problemas conocidos

  • Actualmente no se admite la supervisión en tiempo real. Los datos se actualizan a lo largo del día. Si no ves un registro de un evento reciente, vuelve a comprobarlo más tarde.

  • Para habilitar las tablas del sistema, es posible que tenga que conceder acceso de red al punto de conexión de Blob Storage de las tablas del sistema. Para ver una lista del punto final de almacenamiento de las tablas de sistema de cada región, consulta Direcciones IP del punto final de almacenamiento.

  • Los esquemas del sistema system.operational_data y system.lineage están en desuso y contendrán tablas vacías.

  • El esquema de tabla del sistema de __internal_logging se usa para admitir el registro de carga mediante tablas de inferencia. Este esquema es visible para los administradores de cuentas, pero no se puede habilitar y no debe utilizarse para los flujos de trabajo del cliente.