Monitore a atividade da conta com tabelas do sistema
Este artigo explica o conceito de tabelas do sistema no Azure Databricks e destaca os recursos que você pode usar para aproveitar ao máximo os dados das tabelas do sistema.
O que são tabelas do sistema?
As tabelas do sistema são um repositório analítico hospedado pelo Azure Databricks dos dados operacionais da sua conta encontrados no system
catálogo. As tabelas do sistema podem ser usadas para observabilidade histórica em toda a sua conta.
Nota
Para obter documentação sobre o , consulte Esquema de system.information_schema
informações.
Requisitos
Para acessar as tabelas do sistema, seu espaço de trabalho deve estar habilitado para o Catálogo Unity. Para obter mais informações, consulte Habilitar esquemas de tabela do sistema.
As tabelas do sistema não estão disponíveis nas seguintes regiões:
- Regiões do Azure China
- Regiões do Azure Government
- Oeste da Índia
- Oeste da Suíça
Que tabelas de sistema estão disponíveis?
Atualmente, o Azure Databricks hospeda as seguintes tabelas do sistema:
Table | Description | Localização | Suporta 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 espaços de trabalho em sua região. Para obter uma lista de eventos de auditoria disponíveis, consulte Referência de log de diagnóstico. | system.access.audit |
Sim | 365 dias | Regional para eventos no nível do espaço de trabalho. Global para eventos no nível da conta. |
Linhagem de tabela (Visualização pública) | Inclui um registro para cada evento de leitura ou gravação em uma tabela ou caminho do Catálogo Unity. | system.access.table_lineage |
Sim | 365 dias | Regional |
Linhagem de colunas (Pré-visualização Pública) | Inclui um registro para cada evento de leitura ou gravação em uma coluna do Catálogo Unity (mas não inclui eventos que não têm uma fonte). | system.access.column_lineage |
Sim | 365 dias | Regional |
Utilização faturável | Inclui registos para toda a utilização faturável na sua conta. | system.billing.usage |
Sim | 365 dias | Global |
Preços | Um registro histórico de preços de SKU. Um registro é adicionado cada vez que há uma alteração no preço de uma SKU. | system.billing.list_prices |
Não | Ilimitado | Global |
Clusters (Pré-visualização Pública) | Uma tabela de dimensões de mudança lenta que contém o histórico completo de configurações de computação ao longo do tempo para qualquer cluster. | system.compute.clusters |
Sim | N/A | Regional |
Linha do tempo do nó (Visualização pública) | Captura as métricas de utilização de seus recursos de computação polivalentes e de trabalhos. | system.compute.node_timeline |
Sim | 30 dias | Regional |
Tipos de nó (Visualização pública) | Captura os tipos de nó atualmente disponíveis com suas informações básicas de hardware. | system.compute.node_types |
Não | N/A | Regional |
Armazéns SQL (Visualização Pública) | Contém o histórico completo de configurações ao longo do tempo para qualquer SQL warehouse. | system.compute.warehouses |
Sim | 365 dias | Regional |
Eventos do SQL warehouse (Visualização Pública) | Captura eventos relacionados a armazéns SQL. Por exemplo, iniciar, parar, executar, escalar para cima e para baixo. | system.compute.warehouse_events |
Sim | 365 dias | Regional |
Empregos (Pré-visualização Pública) | Rastreia todos os trabalhos criados na conta. | system.lakeflow.jobs |
Sim | 365 dias | Regional |
Tarefas de trabalho (Visualização pública) | Rastreia todas as tarefas de trabalho executadas na conta. | system.lakeflow.job_tasks |
Sim | 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 de execuções de trabalho. | system.lakeflow. job_run_timeline |
Sim | 365 dias | Regional |
Linha do tempo da tarefa de trabalho (Visualização pública) | Rastreia as horas de início e término e os recursos de computação usados para execuções de tarefas de trabalho. | system.lakeflow. job_task_run_timeline |
Sim | 365 dias | Regional |
Eventos do funil do mercado (Visualização pública) | Inclui dados de impressão e funil do consumidor para os seus anúncios. | system.marketplace.listing_ funnel_events |
Sim | 365 dias | Regional |
Acesso à listagem do Marketplace (Visualização pública) | Inclui informações do consumidor para dados de solicitação concluídos ou obter eventos de dados em seus anúncios. | system.marketplace.listing_ access_events |
Sim | 365 dias | Regional |
Otimização preditiva (Visualização pública) | Rastreia 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 Databricks Assistant (Visualização pública) | Rastreia as mensagens do usuário enviadas para o Assistente do Databricks. | system.access.assistant_events |
Não | 365 dias | Regional |
Histórico de consultas (Pré-visualização Pública) | Captura registros para todas as consultas executadas em armazéns SQL. | system.query.history |
Não | 90 dias | Regional |
Eventos em sala limpa (Visualização pública) | Captura eventos relacionados a salas limpas. | system.access.clean_room_events |
Sim | 365 dias | Regional |
Modelo servindo o uso do ponto de extremidade (Visualização pública) | Captura contagens de token para cada solicitação para um modelo de ponto de extremidade de serviço e suas respostas. Para capturar o uso do ponto de extremidade nesta tabela, você deve habilitar o rastreamento de uso em seu ponto de extremidade de serviço. |
system.serving.endpoint_usage . |
Sim | 90 dias | Regional |
Modelo que serve dados de ponto final (Visualização pública) | Uma tabela de dimensões de mudança lenta que armazena metadados para cada modelo externo servido em um ponto de extremidade de serviço de modelo. | system.serving.served_entities |
Sim | 365 dias | Regional |
Eventos de acesso à rede (Pré-visualização Pública) | Uma tabela que regista um evento sempre que o acesso à Internet é negado a partir da sua conta. | system.access.outbound_network |
Sim | 365 dias | Regional |
O uso faturável e as tabelas de preços são gratuitos. As tabelas na Pré-visualização Pública também são gratuitas durante a pré-visualização, mas podem incorrer numa cobrança no futuro.
Nota
Você pode ver outras tabelas do sistema em sua conta além das listadas acima. Essas tabelas estão atualmente em Visualização Privada e estão vazias por padrão. Se você estiver interessado em usar qualquer uma dessas tabelas, entre em contato com sua equipe de conta Databricks.
Habilitar esquemas de tabela do sistema
Como as tabelas do sistema são regidas pelo Catálogo Unity, você precisa ter pelo menos um espaço de trabalho habilitado para Catálogo Unity em sua conta para habilitar e acessar as tabelas do sistema. As tabelas do sistema incluem dados de todos os espaços de trabalho em sua conta, mas eles só podem ser acessados a partir de um espaço de trabalho habilitado para Catálogo Unity.
As tabelas do sistema são habilitadas no nível do esquema. Se você habilitar um esquema do sistema, habilitará todas as tabelas dentro desse esquema. Quando novos esquemas são lançados, um administrador de conta precisa habilitar manualmente o esquema.
As tabelas do sistema devem ser habilitadas por um administrador de conta. Você pode habilitar tabelas do sistema usando comandos
Nota
O billing
esquema está habilitado por padrão. Outros esquemas devem ser ativados manualmente.
Listar esquemas de sistema disponíveis
Utilize o comando curl seguinte para listar 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"
A seguir está um exemplo de saída do GET
comando:
{"schemas":[{"schema":"access","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"billing","state":"<AVAILABLE OR EnableCompleted>"},{"schema":"information_schema","state":"<AVAILABLE OR EnableCompleted>"}]}
state: AVAILABLE
: O esquema do sistema está disponível, mas ainda não foi ativado.
state: EnableCompleted
: Você habilitou o esquema do sistema e ele está visível no Gerenciador de Catálogos.
Habilitar um esquema do sistema
Utilize o comando curl seguinte para ativar um esquema de 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>"
Se o esquema do sistema for ativado com êxito, o código 200
de resultado será retornado.
Se você tentar reativar um esquema do sistema, o seguinte será retornado: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists"
.
Desativar um esquema do sistema
Use o seguinte comando curl para desativar um esquema do 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>"
Conceder acesso às tabelas do sistema
O acesso às tabelas do sistema é regido pelo Unity Catalog. Nenhum usuário tem acesso a esses esquemas de sistema por padrão. Para conceder acesso, um usuário que seja administrador de metastore e administrador de conta deve conceder USE
permissões nos SELECT
esquemas do sistema. Consulte Gerenciar privilégios no Catálogo Unity.
As tabelas do sistema são somente leitura e não podem ser modificadas.
Nota
Se 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, consulte Configurar e gerenciar o catálogo Unity.
As tabelas do sistema contêm dados para todos os espaços de trabalho da sua conta?
As tabelas do sistema contêm dados operacionais para todos os espaços de trabalho da sua conta implantados na mesma região de nuvem. As tabelas do sistema de faturamento contêm dados de toda a conta.
Embora as tabelas do sistema só possam ser acessadas por meio de um espaço de trabalho do Catálogo Unity, as tabelas também incluem dados operacionais para os espaços de trabalho que não são do Catálogo Unity em sua conta.
Onde os dados da tabela do sistema são armazenados?
Os dados da tabela do sistema da sua conta são armazenados em uma conta de armazenamento hospedada pelo Azure Databricks localizada na mesma região do seu metastore. Os dados são compartilhados com segurança com você usando o Delta Sharing.
Cada tabela 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 sua equipe de conta do Azure Databricks.
Onde estão localizadas as tabelas do sistema no Catalog Explorer?
As tabelas do sistema em sua conta estão localizadas em um catálogo chamado system
, que está incluído em cada metastore do Unity Catalog.
system
No catálogo, você verá esquemas como access
e billing
que contêm as tabelas do sistema.
Considerações para tabelas do sistema de streaming
O Azure Databricks usa o Compartilhamento Delta para compartilhar dados da tabela do sistema com os clientes. Esteja ciente das seguintes considerações ao transmitir com o Delta Sharing:
- Se você estiver usando streaming com tabelas do sistema, defina a
skipChangeCommits
opção comotrue
. Isso garante que o trabalho de streaming não seja interrompido por exclusões nas tabelas do sistema. Consulte Ignorar atualizações e exclusões. -
Trigger.AvailableNow
não é suportado com streaming Delta Sharing. Será convertido emTrigger.Once
.
Se você usar um gatilho em seu trabalho de streaming e achar que ele não está alcançando a versão mais recente da tabela do sistema, o Databricks recomenda aumentar a frequência agendada do trabalho.
Ler alterações incrementais de tabelas do sistema de streaming
spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")
Problemas conhecidos
Atualmente, a monitorização em tempo real não é suportada. Os dados são atualizados ao longo do dia. Se não vir um registo de um evento recente, volte mais tarde.
Para ativar tabelas do sistema, talvez seja necessário conceder acesso de rede ao endpoint de Armazenamento de blobs das tabelas do sistema. Para exibir uma lista dos pontos de extremidade de armazenamento das tabelas do sistema de cada região, consulte Endereços IP do ponto de extremidade de armazenamento.
Os esquemas do
system.operational_data
sistema sãosystem.lineage
preteridos e conterão tabelas vazias.O
__internal_logging
esquema da tabela do sistema é usado para dar suporte ao registro de carga útil usando tabelas de inferência. Esse esquema é visível para administradores de conta, mas não pode ser habilitado e não deve ser usado para fluxos de trabalho de clientes.