Log de consultas
Importante
O Azure HDInsight no AKS se aposentou em 31 de janeiro de 2025. Saiba mais com este comunicado.
Você precisa migrar suas cargas de trabalho para microsoft fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho.
Importante
Esse recurso está atualmente em versão prévia. Os termos de uso complementares para o Microsoft Azure Previews incluem mais termos legais que se aplicam aos recursos do Azure que estão em versão beta, em versão prévia ou ainda não lançados em disponibilidade geral. Para obter informações sobre essa versão prévia específica, consulte Azure HDInsight em informações de visualização do AKS. Para obter perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações sobre da Comunidade do Azure HDInsight.
O Trino dá suporte a ouvintes de eventos personalizados que podem ser usados para escutar eventos de ciclo de vida de consulta. Você pode criar seus próprios ouvintes de eventos ou usar um plug-in interno fornecido pelo HDInsight no AKS que registra eventos no Armazenamento de Blobs do Azure.
Você pode habilitar o registro em log de consulta interno de duas maneiras:
Você pode habilitar o registro em log de consultas internas durante a criação de cluster do Trino habilitando o catálogo de Hive.
Você pode habilitar o registro interno de consultas no seu cluster usando um modelo ARM.
Este artigo aborda a adição de registro de consultas em log ao cluster usando o modelo ARM.
Pré-requisitos
- Um cluster Trino operacional com HDInsight no Serviço de Kubernetes do Azure (AKS).
- Crie template ARM para seu cluster.
- Revisar o exemplo completo do modelo ARM do cluster .
- Familiaridade com a criação e implantação de modelos ARM .
Habilitar o registro em log de consulta
Para habilitar o plug-in de log de consulta integrado no cluster Trino, adicione/atualize a seção clusterProfile.trinoProfile.userTelemetrySpec
com as seguintes propriedades no modelo ARM do cluster.
Propriedade | Descrição |
---|---|
path |
Caminho totalmente qualificado para um diretório usado como uma raiz para capturar logs de consulta diferentes. |
hivecatalogName |
Esse catálogo é usado para montar tabelas externas nos arquivos gravados na conta de armazenamento. Esse catálogo deve ser adicionado ao cluster, Adicionar catálogo de Hive. |
hivecatalogSchema |
O plug-in de log de consulta usa esse esquema para montar a tabela externa para os logs, o plug-in cria esse esquema se ele ainda não existir. Valor padrão – trinologs |
partitionRetentionInDays |
O plug-in de log de consulta poda as partições nas tabelas de log, que são mais antigas do que a configuração especificada. Valor padrão – 365 |
O exemplo a seguir demonstra como um log de consulta está habilitado em um cluster Trino. Adicione este json de exemplo em [*].properties.clusterProfile
no modelo do ARM.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Implante o modelo do ARM atualizado para refletir as alterações em seu cluster. Saiba como implantar um modelo ARM.
Nota
O plug-in usa uma identidade gerenciada (MSI) atribuída pelo usuário e vinculada ao cluster para se autenticar no armazenamento. Conceda acesso
Contributor
eStorage Blob Data Owner
à MSI para garantir que o plug-in possa escrever logs na conta de armazenamento.
O nome MSI atribuído pelo usuário está listado na propriedademsiResourceId
no JSON do recurso do cluster. Saiba como atribuir uma função.PartitionRetentionInDays remove apenas a partição de metadados da tabela montada e não exclui os dados. Limpe os dados de acordo com seus requisitos, se não forem mais necessários.
Gerenciamento de metadados
Se o usuário especificar um nome de catálogo na propriedade hiveCatalogName
, o plug-in montará os arquivos de logs gravados na conta de armazenamento como tabelas e visões externas, que podem ser consultados por meio do Trino.
O plug-in cria três tabelas e três exibições, que podem ser usadas para consultar os eventos do ciclo de vida (QueryCompletedEvent
, QueryCreatedEvent
e SplitCompletedEVent
). As exibições de tabelas & são criadas sob o catálogo e o esquema fornecidos como entrada do usuário.
Nome das tabelas:
-
querycompleted
: contém eventosQueryCompleted
disparados pelo Trino. -
querycreated
: contémQueryCreatedEvents
disparado pelo Trino. -
splitcompleted
: contémSplitCompletedEvents
disparado pelo Trino.
Nome dos modos de exibição:
vquerycompleted
vquerycreated
vsplitcompleted
Nota
Os usuários são incentivados a usar as visualizações, pois elas são imunes às alterações no esquema subjacente e consideram a tabela descrita.
Arquivamento de tabelas
O plug-in oferece suporte ao arquivamento da (N-1)ª tabela no cenário em que o usuário decide alterar o path
ou o local externo dos logs.
Se isso acontecer, o plug-in renomeará a tabela apontando para o caminho antigo como <table_name>_archived, a exibição criada unirá o resultado das tabelas atuais e arquivadas nesse cenário.
Criar seu plug-in personalizado
Você também pode desenvolver um plug-in de ouvinte de eventos personalizado, seguindo as instruções nos documentos . Implante plug-ins personalizados seguindo as etapas de implantação do plug-in em .