Monitorar a atividade da conta com tables do sistema
Este artigo explica o conceito de tables do sistema no Azure Databricks e realça os recursos que você pode usar para get ao máximo os dados de tables do sistema.
O que são tables do sistema?
tables do sistema são um repositório analítico hospedado pelo Azure Databricks dos dados operacionais de sua conta encontrados no system
catalog. As tables do sistema podem ser usadas para ter observabilidade histórica de sua conta.
Observação
Para consultar a documentação sobre system.information_schema
, confira schema de informações.
Requisitos
Para acessar o sistema tables, sua área de trabalho deve estar habilitada para o Unity Catalog. Para obter mais informações, confira Habilitar esquemas de table do sistema.
tables do sistema não estão disponíveis nas seguintes regiões:
- Regiões do Azure na China
- Regiões do Azure Governamental
- Índia Ocidental
- Oeste da Suíça
Quais sistemas tables estão disponíveis?
Atualmente, o Azure Databricks hospeda o seguinte sistema tables:
Table | Descrição | Location | Dá suporte ao streaming | Período de retenção gratuito | Inclui dados globais ou regionais |
---|---|---|---|---|---|
Logs de auditoria (Visualização Pública) | Inclui registros para todos os eventos de auditoria de workspaces em sua região. Para obter uma list dos eventos de auditoria disponíveis, confira a Referência do log de diagnóstico. | system.access.audit |
Yes | 365 dias | Regional para eventos no nível do workspace. Global para eventos de nível de conta. |
Linhagem de Table (versão prévia pública) | Inclui um registro para cada evento de leitura ou gravação em um Catalogtable ou caminho do Unity. | system.access.table_lineage |
Yes | 365 dias | Regional |
Linhagem de Column (versão prévia pública) | Inclui um registro para cada evento de leitura ou gravação em um Catalogcolumn do Unity (mas não inclui eventos que não têm uma origem). | system.access.column_lineage |
Yes | 365 dias | Regional |
Uso faturável | Inclui registros de todo o uso faturável em sua conta. | system.billing.usage |
Yes | 365 dias | Global |
Preços | Um log histórico de preços de SKU. Um registro é adicionado sempre que há uma alteração em um preço de SKU. | system.billing.list_prices |
Não | Ilimitado | Global |
Clusters (Visualização Pública) | Uma dimensão de alteração lenta table que contém o histórico completo de configurações de computação ao longo do tempo para qualquer cluster. | system.compute.clusters |
Yes | 365 dias | Regional |
Linha do tempo do nó (Visualização Pública) | Captura as métricas de utilização dos recursos de computação de todos os seus trabalhos e para todos os fins. | system.compute.node_timeline |
Yes | 30 dias | Regional |
Tipos de nó (Visualização Pública) | Captura os tipos de nós atualmente disponíveis com suas informações básicas de hardware. | system.compute.node_types |
Não | N/D | Regional |
SQL warehouses (Visualização Pública) | Contém o histórico completo de configurações ao longo do tempo para qualquer SQL warehouse. | system.compute.warehouses |
Yes | 365 dias | Regional |
Eventos do SQL warehouse (Visualização Pública) | Captura eventos relacionados a SQL warehouses. Por exemplo, iniciar, parar, executar, escalar verticalmente e reduzir verticalmente. | system.compute.warehouse_events |
Yes | 365 dias | Regional |
Trabalhos (Visualização Pública) | Rastreia todos os trabalhos criados na conta. | system.lakeflow.jobs |
Yes | 365 dias | Regional |
Tarefas de trabalho (Visualização Pública) | Rastreia todas as tarefas de trabalho executadas na conta. | system.lakeflow.job_tasks |
Yes | 365 dias | Regional |
Linha do tempo de execução do trabalho (Visualização Pública) | Rastreia os horários de início e término das execuções de trabalhos. | system.lakeflow. job_run_timeline |
Yes | 365 dias | Regional |
Linha do tempo da tarefa de trabalho (Visualização Pública) | Rastreia os horários de início e término e calcula os recursos usados para execuções de tarefas de trabalho. | system.lakeflow. job_task_run_timeline |
Yes | 365 dias | Regional |
Eventos de funil do Marketplace (Visualização Pública) | Inclui a impressão do consumidor e os dados de funil para suas listagens. | system.marketplace.listing_ funnel_events |
Yes | 365 dias | Regional |
Acesso à listagem do Marketplace (Visualização Pública) | Inclui informações do consumidor para dados de solicitações concluídas ou eventos get dados em suas listagens. | system.marketplace.listing_ access_events |
Yes | 365 dias | Regional |
Otimização preditiva (Visualização Pública) | Controla o histórico de operações do recurso de otimização preditiva. | system.storage.predictive_ optimization_operations_history |
Não | 180 dias | Regional |
Eventos do Assistente do Databricks (Visualização Pública) | Rastreia as mensagens de usuário enviadas ao Assistente do Databricks. | system.access.assistant_events |
Não | 365 dias | Regional |
Histórico de consultas (Visualização Pública) | Captura registros de todas as consultas executadas em SQL warehouses e na computação sem servidor para notebooks e trabalhos. | system.query.history |
Não | 90 dias | Regional |
Eventos de ambiente controlado (Visualização Pública) | Captura eventos relacionados a ambientes controlados. | system.access.clean_room_events |
Yes | 365 dias | Regional |
Uso do ponto de extremidade de serviço do modelo (Visualização Pública) | Captura contagens de tokens para cada solicitação para um ponto de extremidade de serviço do modelo e suas respostas. Para capturar o uso do ponto de extremidade neste table, você precisa habilitar o acompanhamento do uso em seu ponto de extremidade do serviço. | system.serving.endpoint_usage . |
Yes | 90 dias | Regional |
Dados do ponto de extremidade de serviço do modelo (Visualização Pública) | Uma dimensão com alteração lenta table que armazena metadados sobre cada modelo de base servido em um ponto de extremidade do Serviço de Modelo. | system.serving.served_entities |
Yes | 365 dias | Regional |
Eventos de acesso à rede (visualização pública) | Um table que registra um evento para cada vez que o acesso à internet é negado de sua conta. | system.access.outbound_network |
Yes | 365 dias | Regional |
O uso faturável e os preços tables são gratuitos. Tables na visualização pública também são gratuitos para uso durante a versão prévia, mas poderão incorrer em cobranças no futuro.
Observação
Você pode ver outras tables do sistema em sua conta além das listadas acima. Esses tables estão atualmente em Versão Prévia Privada e estão vazios por padrão. Se você estiver interessado em usar qualquer uma dessas tables, entre em contato com sua equipe de conta do Databricks.
Habilitar esquemas de table do sistema
Como o sistema tables é regido pelo Unity Catalog, você precisa ter pelo menos um workspace habilitado para Unity Catalogem sua conta para habilitar e acessar o sistema tables. As tables do sistema incluem dados de todos os workspaces em sua conta, mas só podem ser acessadas de um workspace habilitado pelo Catalog do Unity.
As tables do sistema estão habilitadas no nível de schema. Se você habilitar um schema do sistema, habilitará todas as tables desse schema. Quando novos esquemas são liberados, um administrador de conta precisa habilitar manualmente o schema.
Sistema tables deve ser habilitado por um administrador de conta. Você pode habilitar o sistema tables usando comandos system-schemas
na CLI do Databricks ou usando a API SystemSchemas .
Observação
O billing
schema está habilitado por padrão. Outros esquemas devem ser ativados manualmente.
List esquemas de sistema disponíveis
Use o seguinte comando curl para list os esquemas de sistema disponíveis:
curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://adb-<xxx>.azuredatabricks.net/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"
Veja a seguir um exemplo de saída do comando GET
:
{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}
state: AVAILABLE
: o sistema schema está disponível, mas ainda não foi habilitado.
state: EnableCompleted
: você habilitou o sistema schema e ele está visível no Explorador de Catalog.
Habilitar um sistema schema
Use o seguinte comando curl para habilitar um sistema schema:
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>"
Se o sistema schema for habilitado com êxito, o código de resultado 200
será retornado.
Se você tentar habilitar novamente um sistema schema, o seguinte será retornado: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"
.
Desabilitar um sistema schema
Use o seguinte comando curl para desabilitar um sistema schema:
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>"
Grant acesso ao sistema tables
O acesso ao sistema tables é regido pelo Unity Catalog. Por padrão, nenhum usuário tem acesso a esses esquemas do sistema. Para grant o acesso, um usuário que seja administrador tanto do metastore quanto da conta deve grantUSE
e SELECT
permissões nos esquemas de sistema. Veja Gerenciar privilégios no Catalog do Unity.
As tables do sistema são somente leitura e não podem ser modificadas.
Observação
Se a sua conta foi criada após 9 de novembro de 2023, talvez você não tenha um administrador de metastore por padrão. Para obter mais informações, confira Set e gerenciar o Unity Catalog.
O sistema tables contém dados para todos os espaços de trabalho em sua conta?
O sistema tables contém dados operacionais para todos os workspaces em sua conta implantados na mesma região da nuvem. O sistema de cobrança tables contém dados sobre toda a conta.
Embora o sistema tables só possa ser acessado por meio de um workspace Unity Catalog, o tables também inclui dados operacionais para os workspaces não-Unity Catalog na sua conta.
Where Os dados de table do sistema são armazenados?
Os dados do sistema table da sua conta são armazenados em uma conta de armazenamento hospedada no Azure Databricks localizada na mesma região do metastore. Os dados são compartilhados em segurança com você usando o Compartilhamento Delta.
Cada table tem um período de retenção de dados gratuito. Para obter informações sobre como estender o período de retenção, entre em contato com a equipe de conta do Azure Databricks.
Where Os tables do sistema são localizados no Catalog Explorer?
As tables do sistema na sua conta estão localizadas em um catalog chamado system
, que está incluído em cada metastore do Unity Catalog. No system
catalog você verá esquemas como access
e billing
que contêm o sistema tables.
Considerações para o sistema de streaming tables
O Azure Databricks usa o Compartilhamento Delta para compartilhar dados de table do sistema com os clientes. Esteja ciente das seguintes considerações ao transmitir com o Compartilhamento Delta:
- Se estiver usando o streaming com tables do sistema, set a opção
skipChangeCommits
comotrue
. Isso garante que o trabalho de transmissão não seja interrompido por exclusões nas tables do sistema. Consulte Ignorar atualizações e exclusões. - Não há suporte para
Trigger.AvailableNow
com o streaming de Compartilhamento Delta. Ele será convertido emTrigger.Once
.
Se você usar um gatilho em seu trabalho de streaming e descobrir que ele não está alcançando a versão mais recente da table do sistema, o Databricks recomenda aumentar a frequência agendada do trabalho.
Ler alterações incrementais de tables do sistema de streaming
spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")
Problemas conhecidos
Atualmente, não há suporte para monitoramento em tempo real. Os dados são atualizados ao longo do dia. Se não houver um log de um evento recente, verifique novamente mais tarde.
As
__internal_logging
do sistema tableschema são usadas para dar suporte ao registro em log de carga usando a tables de inferência habilitada pelo Gateway de IA para modelos externos e cargas de trabalho de taxa de transferência provisionadas. Esse schema é visível para os administradores da conta, mas não pode ser habilitado e não deve ser usado para fluxos de trabalho do cliente.Para habilitar tables do sistema, talvez seja necessário grant acesso à rede para o ponto de extremidade de armazenamento de blobs das tables do sistema. Para exibir uma list do ponto de extremidade do armazenamento das tables do sistema de cada região, consulte Endereços IP do ponto de extremidade do armazenamento.
Os esquemas do sistema
system.operational_data
esystem.lineage
estão obsoletos e conterão tables vazias.