Supervisión de la actividad de la cuenta con 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 |
Sí | 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 |
Sí | 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 |
Sí | 365 días | Regional |
Uso facturable | Incluye registros de todo el uso facturable de su cuenta. | system.billing.usage |
Sí | 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 |
Sí | 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 |
Sí | 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 |
Almacenes de SQL (versión preliminar pública) | Contiene el historial completo de configuraciones a lo largo del tiempo para cualquier almacenamiento de SQL. | system.compute.warehouses |
Sí | 365 días | 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 |
Sí | 365 días | Regional |
Trabajos versión preliminar pública | Realiza un seguimiento de todos los trabajos creados en la cuenta. | system.lakeflow.jobs |
Sí | 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 |
Sí | 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 |
Sí | 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 |
Sí | 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 |
Sí | 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 |
Sí | 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 |
Sí | 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 |
Sí | 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. Para capturar el uso del punto de conexión en esta tabla, debe habilitar el seguimiento de uso en el punto de conexión de servicio. | system.serving.endpoint_usage . |
Sí | 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 |
Sí | 365 días | Regional |
Eventos de Acceso a la Red (Vista previa pública) | Tabla que registra un evento para cada vez que se deniega el acceso a Internet desde su cuenta. | system.access.outbound_network |
Sí | 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 de sistema. Puede habilitar las tablas del sistema usando comandos de system-schemas
en la CLI de Databricks o 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
entrue
. 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á enTrigger.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
ysystem.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.