Monitorar o uso com tabelas do sistema

Visualização

Esse recurso está em Public Preview. Atualmente, não há cobranças para usar esse recurso. No futuro, parte desse uso poderá ser cobrado.

Este artigo explica o conceito de tabelas de sistema em Databricks e destaca os recursos que o senhor pode usar para obter o máximo dos dados das tabelas de sistema.

O que são tabelas de sistema?

As tabelas do sistema são um armazenamento analítico hospedado em Databricksdos dados operacionais do seu accountencontrados no catálogo system. As tabelas do sistema podem ser usadas para observação histórica em seu site account.

Observação

Para obter documentação sobre system.information_schema, consulte o esquema de informações.

Requisitos

Para acessar as tabelas do sistema, o site workspace deve estar habilitado para Unity Catalog. Para obter mais informações, consulte Habilitar esquemas de tabelas do sistema.

Quais tabelas do sistema estão disponíveis?

Atualmente, a Databricks hospeda tabelas de sistema para:

Tabela

Descrição

Localização

Suporta transmissão

Retenção

Incluir dados globais ou regionais

Logs de auditoria

Inclui registros de todos os eventos de auditoria do espaço de trabalho em sua região. Para obter uma lista dos eventos de auditoria disponíveis, consulte Referência do Audit log .

system.access.audit

Sim

365 dias

Regional para eventos de nível workspace. Global para eventos de nível account.

Linhagem da tabela

Inclui um registro para cada evento de leitura ou gravação em uma tabela ou caminho do Unity Catalog.

system.access.table_lineage

Sim

365 dias

Regional

Linhagem da coluna

Inclui um registro para cada evento de leitura ou gravação em uma coluna do Unity Catalog (mas não inclui eventos que não têm uma origem).

system.access.column_lineage

Sim

365 dias

Regional

Uso faturável

Inclui registros de todo o uso faturável em seu site account. Cada registro de uso é um agregado por hora do uso faturável de um recurso.

system.billing.usage

Sim

365 dias

Globais

Preços

Um log histórico de SKU preços. Um registro é adicionado sempre que há uma alteração no preço de uma SKU.

system.billing.list_prices

Não

N/A

Globais

Clusters

Uma tabela de dimensão de mudança lenta que contém o histórico completo das 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ós atualmente disponíveis com suas informações básicas de hardware.

system.compute.node_types

Não

N/A

Regional

Eventos do SQL warehouse

Captura eventos relacionados ao warehouse do SQL. Por exemplo, iniciar, parar, executar, aumentar e diminuir a escala.

system.compute.warehouse_events

Sim

365 dias

Regional

marketplace funnel eventos

Inclui dados de impressão do consumidor e funnel para suas listagens.

system.marketplace.listing_

funnel_events

Sim

365 dias

Regional

marketplace acesso à listagem

Inclui informações do consumidor para eventos de solicitação de dados ou obtenção de dados concluídos em suas listagens.

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

Observação

É possível que o senhor veja outras tabelas de sistema em seu site account além das listadas acima. Essas tabelas estão em Private Preview no momento e estão vazias em default. Se o senhor estiver interessado em usar qualquer uma dessas mesas, entre em contato com a equipe do Databricks account .

Habilitar esquemas de tabelas do sistema

Como as tabelas do sistema são regidas pelo Unity Catalog, você precisa ter pelo menos um workspace habilitado para Unity Catalog em sua account para habilitar e acessar as tabelas do sistema. As tabelas do sistema incluem dados de todo workspace em sua account, mas elas só podem ser acessadas de um workspace habilitado para Unity Catalog.

As tabelas de sistema são ativadas no nível do esquema. Se o senhor habilitar um esquema de sistema, habilitará todas as tabelas desse esquema. Quando novos esquemas são lançados, um administrador do account precisa ativar manualmente o esquema.

As tabelas do sistema devem ser ativadas por um administrador do account. O senhor pode ativar as tabelas do sistema usando a API SystemSchemas.

Listar os esquemas de sistema disponíveis

Use o seguinte comando curl para listar os esquemas de sistema disponíveis:

curl -v -X GET -H "Authorization: Bearer <PAT Token>" "https://<workspace>.cloud.databricks.com/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas"

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 esquema do sistema está disponível, mas ainda não foi ativado.

state: EnableCompleted: O senhor ativou o esquema do sistema e ele está visível no Catalog Explorer.

Habilitar um esquema de sistema

Use o seguinte comando curl para ativar um esquema de sistema:

curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://<workspace>.databricks.com/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Se o esquema do sistema for ativado com êxito, o código de resultado 200 será retornado.

Se o senhor tentar reativar um esquema do sistema, o retorno será o seguinte: "error_code":"SCHEMA_ALREADY_EXISTS","message":"Schema <schema-name> already exists".

Desativar um esquema de sistema

Use o seguinte comando curl para desativar um esquema do sistema:

curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://<workspace>.databricks.com/api/2.0/unity-catalog/metastores/<metastore-id>/systemschemas/<SCHEMA_NAME>"

Conceder acesso às tabelas do sistema

O acesso à tabela do sistema é controlado pelo Unity Catalog. Em default, nenhum usuário tem acesso às tabelas do sistema. Para conceder acesso, um administrador do metastore ou outro usuário privilegiado deve conceder permissões USE e SELECT nos esquemas do sistema. Consulte gerenciar privilégios em Unity Catalog.

As tabelas do sistema são somente de leitura e não podem ser modificadas.

Observação

Se o seu account foi criado depois de 8 de novembro de 2023, talvez o senhor não tenha um administrador de metastore em default. Para obter mais informações, consulte Configurar e gerenciar Unity Catalog.

As tabelas do sistema contêm dados de todos os espaços de trabalho em seu site account?

As tabelas de auditoria log e de linhagem contêm dados operacionais de todos os espaços de trabalho em seu account implantado na mesma região cloud. A tabela do sistema de faturamento (system.billing.usage) contém dados de todos os espaços de trabalho em seu site account, independentemente da região em que estejam implantados.

Embora as tabelas do sistema só possam ser acessadas por meio de um workspace do Unity Catalog, as tabelas também incluem dados operacionais para workspace do Unity Catalog em sua account.

Onde estão localizadas as tabelas do sistema?

As tabelas do sistema em seu account estão localizadas em um catálogo chamado system, que está incluído em cada metastore do Unity Catalog. No catálogo system, o senhor verá esquemas como access e billing que contêm as tabelas do sistema.

Observação

Durante o Public Preview das tabelas de sistema, a Databricks manterá todos os dados de suas tabelas de sistema.

Considerações sobre as tabelas do sistema de transmissão

O acesso às tabelas do sistema é suportado pelo Delta Sharing. Atente para as seguintes considerações ao fazer a transmissão com o site Delta Sharing:

  • Se o senhor estiver usando a transmissão com tabelas do sistema, defina a opção skipChangeCommit como true. Isso garante que a transmissão Job não seja interrompida por exclusões nas tabelas do sistema. Consulte Ignorar atualizações e exclusões.

  • Trigger.AvailableNow não é compatível com a transmissão Delta Sharing. Ele será convertido em Trigger.Once.

  • Se o senhor utilizar um acionador em sua transmissão Job e perceber que o Job não está atualizando a versão mais recente da tabela do sistema, o Databricks recomenda aumentar a frequência programada do Job.

Problemas conhecidos

  • Atualmente, não há suporte para monitoramento em tempo real. Os dados são atualizados ao longo do dia. Se o senhor não encontrar um log para um evento recente, volte mais tarde.

  • Se o seu workspace usar um VPCgerenciado pelo cliente, o acesso ao bucket S3, onde os logs estão armazenados, poderá ser negado ao senhor. Nesse caso, o senhor precisa atualizar a política de endpoint da VPC para permitir o acesso ao bucket S3 em que os dados das tabelas de sistema da sua região estão armazenados. Para obter uma lista de nomes de buckets regionais, consulte a coluna Bucket das tabelas do sistema na tabela Endereços de buckets de armazenamento.

  • Os esquemas de sistema system.operational_data e system.lineage estão obsoletos e conterão tabelas vazias.