Monitorar o uso com tabelas do sistema

Importante

Esta funcionalidade está em Pré-visualização Pública. Atualmente, não há cobranças para usar esse recurso. No futuro, parte deste uso pode incorrer em uma cobrança.

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_schemainformaçõ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.

Que tabelas de sistema estão disponíveis?

Atualmente, o Azure Databricks hospeda tabelas do sistema para:

Table Description Localização Suporta streaming Retenção Incluir dados globais ou regionais
Registos de auditoria 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 mesa 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 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. Cada registro de uso é uma agregação horária do uso faturável de um recurso. 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 No N/A Global
Clusters Uma tabela de dimensões de mudança lenta que contém o histórico completo de configurações de cluster ao longo do tempo para qualquer cluster. system.compute.clusters Sim Nenhuma Regional
Tipos de nós Captura os tipos de nó atualmente disponíveis com suas informações básicas de hardware. system.compute.node_types No N/A Regional
Eventos do SQL warehouse 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
Eventos do funil do mercado 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 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 Rastreia o histórico de operações do recurso de otimização preditiva. system.storage.predictive_

optimization_operations_history
Não 180 dias Regional

Nota

Você pode ver outras tabelas do sistema em sua conta além das listadas acima. Essas tabelas estão atualmente na Pré-visualização Privada e estão vazias por predefiniçã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 a API SystemSchemas.

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 à tabela do sistema é regido pelo Catálogo Unity. Por padrão, nenhum usuário tem acesso às tabelas do sistema. Para conceder acesso, um administrador de metastore ou outro usuário privilegiado 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?

O log de auditoria e as tabelas de linhagem contêm dados operacionais para todos os espaços de trabalho em sua conta implantados na mesma região de nuvem. A tabela do sistema de cobrança (system.billing.usage) contém dados para todos os espaços de trabalho em sua conta, independentemente da região em que eles são implantados.

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 espaços de trabalho que não sejam do Catálogo Unity em sua conta.

Onde estão localizadas as tabelas do sistema?

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.

Nota

Durante a Pré-visualização Pública das tabelas do sistema, o Azure Databricks irá reter todos os dados das tabelas do sistema.

Considerações para tabelas do sistema de streaming

O acesso às tabelas do sistema é suportado pelo Delta Sharing. Esteja ciente das seguintes considerações ao transmitir com o Delta Sharing:

  • Se você estiver usando streaming com tabelas do sistema, defina a skipChangeCommit opção como true. 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 em Trigger.Once.
  • Se você usar um gatilho em seu trabalho de streaming e achar que o trabalho não está alcançando a versão mais recente da tabela do sistema, o Databricks recomenda aumentar a frequência agendada do trabalho.

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 ponto final 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ão system.lineage preteridos e conterão tabelas vazias.