Pular para o conteúdo principal

Monitorar a atividade do site account com as tabelas do sistema

Este artigo explica o conceito de system tables no Databricks e destaca os recursos que você pode usar para aproveitar ao máximo os dados das system tables.

O que são tabelas do sistema?

As tabelas do sistema são um armazenamento analítico hospedado pelo Databricks dos dados operacionais de sua conta encontrados no catálogo system. As tabelas do sistema podem ser usadas para observabilidade histórica em sua conta.

nota

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.

  • 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:

TabelaDescriçãoLocalizaçãoSuporta transmissãoPeríodo de retenção gratuitoInclui dados globais ou regionais
Auditoria logs (visualização pública)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.auditSim365 diasRegional para eventos em nível workspace. Global para eventos em nível de 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_lineageSim365 diasRegional
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 origem).system.access.column_lineageSim365 diasRegional
Uso faturávelInclui registros de todo o uso faturável em sua conta.system.billing.usageSim365 diasGlobal
PreçosUm log 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_pricesNãoIlimitadasGlobal
clustering (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.clustersSim365 diasRegional
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_timelineSim30 diasRegional
Tipos de nós (visualização pública)Captura os tipos de nós disponíveis atualmente com suas informações básicas de hardware.system.compute.node_typesNãoN/ARegional
SQL warehouse (visualização pública)Contém o histórico completo de configurações ao longo do tempo para qualquer SQL warehouse.system.compute.warehousesSim365 diasRegional
Eventos do SQL warehouse (visualização pública)Captura eventos relacionados ao SQL warehouses. Por exemplo, iniciar, parar, executar, aumentar e diminuir a escala.system.compute.warehouse_eventsSim365 diasRegional
Empregos (Pré-visualização pública)Rastreia todos os trabalhos criados na conta.system.lakeflow.jobsSim365 diasRegional
Job tarefa (visualização pública)Rastreia todas as tarefas de trabalho que são executadas na conta.system.lakeflow.job_tasksSim365 diasRegional
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_timelineSim365 diasRegional
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_timelineSim365 diasRegional
marketplace funnel events (Public Preview)Inclui impressões do consumidor e dados de funil para suas listagens.system.marketplace.listing_ funnel_eventsSim365 diasRegional
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_eventsSim365 diasRegional
Otimização preditiva (pré-visualização pública)Acompanha o histórico de operação do recurso de otimização preditiva.system.storage.predictive_ optimization_operations_historyNão180 diasRegional
Eventos do Databricks Assistant (visualização pública)Rastreia mensagens de usuários enviadas ao Databricks Assistant.system.access.assistant_eventsNão365 diasRegional
Histórico de consultas (visualização pública)Captura registros de todas as consultas executadas no SQL warehouse e serverless compute para Notebook e Job.system.query.historyNão90 diasRegional
Eventos de sala limpa (prévia pública)Captura eventos relacionados a ambientes controlados.system.access.clean_room_eventsSim365 diasRegional
servindo modelo endpoint usage (Public Preview)Captura contagens de tokens para cada solicitação a um modelo de serviço endpoint e suas respostas. Para capturar o uso do endpoint nessa tabela, o senhor deve ativar o acompanhamento do uso em seu servidor endpoint.system.serving.endpoint_usage.Sim90 diasRegional
servindo modelo endpoint data (Public Preview)Uma tabela de dimensão de mudança lenta que armazena metadados para cada modelo de fundação servido em um modelo servindo endpoint.system.serving.served_entitiesSim365 diasRegional
Eventos de acesso à rede (pré-visualização pública)Uma tabela que registra um evento para cada vez que o acesso à Internet é negado no seu site account.system.access.outbound_networkSim365 diasRegional

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.

nota

É possível que o senhor veja outras tabelas de sistema em seu site account além das listadas acima. Essas tabelas estão atualmente em Private Preview 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 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 do account. O senhor pode ativar as tabelas do sistema usando o comando system-schemas no Databricks CLI ou usando o SystemSchemas API.

nota

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

Listar esquemas de sistema disponíveis

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

Bash
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 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: Você ativou o esquema do sistema e ele está visível no Catalog Explorer.

Habilitar um esquema do sistema

Use o comando curl a seguir para ativar um esquema do sistema:

Bash
curl -v -X PUT -H "Authorization: Bearer <PAT Token>" "https://<workspace>.cloud.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 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:

Bash
curl -v -X DELETE -H "Authorization: Bearer <PAT Token>" "https://<workspace>.cloud.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.

nota

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 do sistema contêm dados operacionais de todos os espaços de trabalho em seu account implantados na mesma região de nuvem. 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 metastore do Unity Catalog. No catálogo system , você verá esquemas como access e billing que contêm as tabelas do sistema.

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

A Databricks usa o Delta Sharing para compartilhar dados da tabela do sistema com os clientes. Atente para as seguintes considerações ao fazer transmissão com o Delta Sharing:

  • Se o senhor estiver usando a transmissão com tabelas do sistema, defina a opção skipChangeCommits como true. Isso garante que o trabalho de transmissão não seja interrompido por exclusões nas tabelas do sistema. Consulte Ignorar atualizações e exclusões.
  • Trigger.AvailableNow não é compatível com a transmissão de Delta Sharing. Ele será convertido para 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.

Ler alterações incrementais das tabelas do sistema de transmissão

Python
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.

  • O esquema de tabela do sistema __internal_logging é usado para dar suporte ao registro de carga útil usando tabelas de inferência habilitadas peloAI Gateway para modelos externos e cargas de trabalho de Taxa de transferência de provisionamento. 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.

  • Se o workspace seu usar um gerenciado pelo cliente,VPC o acesso ao S3 bucket, 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 de tabelas do sistema na tabela de endereços de bucket de armazenamento.

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