Monitorar o uso com tabelas do sistema

Este artigo explica o conceito de tabelas do sistema no 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 armazenamento analítico hospedado pelo Databricks, dos dados operacionais da sua conta, disponíveis no catálogo system. As tabelas do sistema podem ser usadas para observabilidade histórica em sua conta.

Observação

Para ver a documentação sobre system.information_schema, consulte Esquema de informações.

Requisitos

  • Para acessar as tabelas do sistema, seu espaço de trabalho deve estar habilitado para o Unity Catalog. Para obter mais informações, consulte Ativar esquemas de tabela do sistema.

  • As tabelas do sistema não estão disponíveis nas regiões da AWS GovCloud.

Quais tabelas do sistema estão disponíveis?

Atualmente, o Databricks hospeda as seguintes tabelas do sistema:

Tabela

Descrição

Localização

Suporta streaming

Período de retenção gratuito

Inclui dados globais ou regionais

Registros de auditoria (visualização pública)

Contém registros de todos os eventos de auditoria de workspaces em sua região. Para ver uma lista de eventos de auditoria disponíveis, consulte Referência de log de auditoria.

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 da tabela (pré-visualização pública)

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 de colunas (pré-visualização pública)

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 fonte).

system.access.column_lineage

Sim

365 dias

Regional

Uso faturável

Inclui registros de todo o uso faturável em sua conta. 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 registro histórico de preços de SKU. Um registro é adicionado sempre que há uma alteração no preço de uma SKU.

system.billing.list_prices

Não

Ilimitadas

Globais

clusters (visualização pública)

Tabela de dimensão de mudanças lentas que armazena todo o histórico das configurações de computação ao longo do tempo para qualquer cluster.

system.compute.clusters

Sim

N/A

Regional

Cronograma do Node (pré-visualização pública)

Captura as métricas de uso de seus recursos de computação para todas as finalidades e jobs.

system.compute.node_timeline

Sim

30 dias

Regional

Tipos de nós (visualização pública)

Captura os tipos de nós atualmente disponíveis com as informações básicas de hardware.

system.compute.node_types

Não

N/A

Regional

Eventos do SQL warehouse (visualização pública)

Captura eventos relacionados ao SQL warehouse. Por exemplo, iniciar, interromper, executar, escalar e reduzir.

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

Job tarefa (visualização pública)

Rastreia todas as tarefas de trabalho que são executadas na conta.

system.lakeflow.job_tasks

Sim

365 dias

Regional

Job cronograma de execução (visualização pública)

Acompanha os horários de início e término das execuções de jobs.

system.lakeflow.

job_run_timeline

Sim

365 dias

Regional

Job tarefa timeline (visualização pública)

Monitora as horas de início e término e os recursos de computação utilizados para execuções de tarefas dos jobs.

system.lakeflow.

job_task_run_timeline

Sim

365 dias

Regional

Eventos de funil do Marketplace (visualização pública)

Inclui impressões do consumidor e dados de funil para suas listagens.

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 eventos de obtenção de dados em suas listagens.

system.marketplace.listing_

access_events

Sim

365 dias

Regional

Otimização preditiva (pré-visualização pública)

Monitora o histórico de operação 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 mensagens de usuários enviadas ao Databricks Assistant.

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 warehouses SQL.

system.query.history

Sim

90 dias

Regional

Eventos de sala limpa (prévia pública)

Captura eventos relacionados a ambientes controlados.

system.access.clean_room_events

Sim

365 dias

Regional

servindo modelo endpoint usage (Public Preview)

Captura contagens de tokens para cada solicitação a um modelo de serviço endpoint e suas respostas.

system.serving.endpoint_usage

Sim

90 dias

Regional

servindo modelo endpoint data (Public Preview)

Uma tabela de dimensão de mudança lenta que armazena metadados para cada modelo externo servido em um modelo servindo endpoint.

system.serving.served_entities

Sim

365 dias

Regional

O uso faturável e as tabelas de preços são gratuitos. As tabelas na visualização pública também podem ser usadas gratuitamente durante a visualização, mas podem ser cobradas no futuro.

Observação

O senhor pode ver outras tabelas de sistema em sua conta além das listadas acima. Essas tabelas estão em Private Preview no momento e estão vazias por padrão. Se o senhor estiver interessado em usar qualquer uma dessas tabelas, entre em contato com a equipe de contas da Databricks.

Habilitar esquemas de tabela 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 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 o esquema manualmente.

As tabelas do sistema devem ser ativadas por um administrador da conta. Você pode ativar as tabelas do sistema usando a API SystemSchemas.

Observação

O esquema billing é ativado por padrão. Outros esquemas devem ser habilitados manualmente.

Listar esquemas do sistema disponíveis

Use o comando curl a seguir para listar os esquemas do 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"

Veja a seguir um exemplo de resultado 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: Você habilitou o esquema do sistema e ele está visível no Catalog Explorer.

Ativar um esquema do sistema

Use o comando curl a seguir para ativar um esquema do 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 devidamente ativado, será apresentado o código do resultado 200.

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

Desativar um esquema do sistema

Use o comando curl a seguir 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 às tabelas do sistema é regido pelo Unity Catalog. Nenhum usuário tem acesso a esses esquemas do sistema pelo site default. Para conceder acesso, um usuário que seja administrador do metastore e administrador do account 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 para leitura e não podem ser modificadas.

Observação

Se a sua conta tiver sido criada após 8 de março de 2023, talvez você não tenha um administrador da metastore por padrão. Para mais informações, consulte Configurar e gerenciar o Unity Catalog.

As tabelas do sistema contêm dados de todos os espaços de trabalho em sua conta?

As tabelas do sistema contêm dados operacionais de todos os espaços de trabalho em seu account implantados na mesma região cloud. As tabelas do sistema de faturamento contêm dados de todo o site account.

Embora as tabelas do sistema só possam ser acessadas por meio de um Unity Catalog workspace, as tabelas também incluem dados operacionais para o espaço de trabalho nãoUnity Catalog em seu account.

Onde os dados da tabela do sistema são armazenados?

Os dados da tabela do sistema do seu accountsão armazenados em um Databricks-hosted storage account localizado na mesma região do seu metastore. Os dados são compartilhados com o senhor de forma segura usando o Delta Sharing.

Cada tabela tem um período de retenção de dados gratuito. Para obter informações sobre a extensão do período de retenção, entre em contato com a equipe Databricks account .

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 Unity Catalog metastore. No catálogo system, você verá esquemas como access e billing que contêm as tabelas do sistema.

Considerações para tabelas de sistema de streaming

A Databricks usa o Delta Sharing para compartilhar dados da tabela do sistema com os clientes. Esteja ciente das seguintes considerações ao fazer streaming com o Delta Sharing:

  • Se você estiver usando streaming com tabelas do sistema, defina a opção skipChangeCommits como true. Isso garante que o trabalho de streaming não seja interrompido por exclusões nas tabelas do sistema. Veja Ignorar atualizações e exclusões.

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

Se o senhor usar um acionador em seu trabalho de streaming e descobrir que ele não está atualizando a versão mais recente da tabela do sistema, a Databricks recomenda aumentar a frequência programada do trabalho.

Leia as alterações incrementais das tabelas 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 você não vir um registro de um evento recente, volte mais tarde.

  • Se o seu espaço de trabalho utiliza uma VPC gerenciada pelo cliente, você pode ter o acesso negado ao bucket do S3 onde os logs estão armazenados. Nesse caso, você precisa atualizar sua política de endpoint da VPC para permitir o acesso ao bucket do S3, em que os dados das tabelas do sistema da sua região estão armazenados. Para ter uma lista de nomes de buckets regionais, consulte a coluna Bucket de tabelas do sistema na tabela de endereços de bucket de armazenamento.

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

  • O esquema de tabela do sistema __internal_logging é usado para oferecer suporte ao registro de carga útil usando tabelas de inferência. Esse esquema é visível para os administradores do account, mas não pode ser ativado e não deve ser usado para o fluxo de trabalho do cliente.