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.
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:
Tabela | Descrição | Localização | Suporta transmissão | Período de retenção gratuito | Inclui 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.audit | Sim | 365 dias | Regional 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_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 origem). | system.access.column_lineage | Sim | 365 dias | Regional |
Uso faturável | Inclui registros de todo o uso faturável em sua conta. | system.billing.usage | Sim | 365 dias | Global |
Preços | Um 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_prices | Não | Ilimitadas | Global |
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.clusters | Sim | 365 dias | 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 disponíveis atualmente com suas informações básicas de hardware. | system.compute.node_types | Não | N/A | Regional |
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.warehouses | Sim | 365 dias | Regional |
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_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 |
marketplace funnel events (Public Preview) | 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) | Acompanha 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 no SQL warehouse e serverless compute para Notebook e Job. | system.query.history | Não | 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. Para capturar o uso do endpoint nessa tabela, o senhor deve ativar o acompanhamento do uso em seu servidor endpoint. | 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 de fundação servido em um modelo servindo endpoint. | system.serving.served_entities | Sim | 365 dias | Regional |
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_network | 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.
É 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.
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:
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:
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:
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.
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
comotrue
. 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 paraTrigger.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
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
esystem.lineage
estão obsoletos e conterão tabelas vazias.