Registo de consultas
Nota
Vamos desativar o Azure HDInsight no AKS em 31 de janeiro de 2025. Antes de 31 de janeiro de 2025, você precisará migrar suas cargas de trabalho para o Microsoft Fabric ou um produto equivalente do Azure para evitar o encerramento abrupto de suas cargas de trabalho. Os clusters restantes na sua subscrição serão interrompidos e removidos do anfitrião.
Apenas o apoio básico estará disponível até à data da reforma.
Importante
Esta funcionalidade está atualmente em pré-visualização. Os Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure incluem mais termos legais que se aplicam a funcionalidades do Azure que estão em versão beta, em pré-visualização ou ainda não disponibilizadas para disponibilidade geral. Para obter informações sobre essa visualização específica, consulte Informações de visualização do Azure HDInsight no AKS. Para perguntas ou sugestões de recursos, envie uma solicitação no AskHDInsight com os detalhes e siga-nos para obter mais atualizações na Comunidade do Azure HDInsight.
O Trino suporta ouvintes de eventos personalizados que podem ser usados para ouvir eventos do ciclo de vida do Query. 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 log de consultas interno de duas maneiras:
Você pode habilitar o log de consultas interno durante a criação do cluster Trino habilitando o catálogo hive.
Você pode habilitar o log de consultas interno em seu cluster usando o modelo ARM.
Este artigo aborda a adição do log de consultas ao cluster usando o modelo ARM.
Pré-requisitos
- Um cluster Trino operacional com HDInsight no AKS.
- Crie um modelo ARM para seu cluster.
- Analise o exemplo de modelo ARM de cluster completo.
- Familiaridade com a criação e implantação de modelos ARM.
Habilitar o log de consultas
Para habilitar o plug-in de log de consultas interno no cluster Trino, adicione/atualize clusterProfile.trinoProfile.userTelemetrySpec
a seção com as seguintes propriedades no modelo ARM do cluster.
Property | Description |
---|---|
path |
Caminho totalmente qualificado para um diretório usado como raiz para capturar diferentes logs de consulta. |
hivecatalogName |
Este catálogo é usado para montar tabelas externas nos arquivos escritos na conta de armazenamento. Este catálogo deve ser adicionado ao seu cluster, Adicionar catálogo hive. |
hivecatalogSchema |
O plug-in de log de consultas 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 consultas elimina 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 é habilitado em um cluster Trino. Adicione este exemplo de json em [*].properties.clusterProfile
no modelo ARM.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Implante o modelo ARM atualizado para refletir as alterações no cluster. Saiba como implantar um modelo ARM.
Nota
O plug-in usa a identidade gerenciada atribuída pelo usuário (MSI) vinculada ao cluster para autenticar no armazenamento, adicione
Contributor
eStorage Blob Data Owner
acesse o MSI para garantir que o plug-in possa gravar logs na conta de armazenamento.
O nome MSI atribuído pelo usuário é listadomsiResourceId
na propriedade no recurso JSON do cluster. Saiba como atribuir uma função.PartitionRetentionInDays apenas remove a partição de metadados da tabela montada, não exclui os dados. Por favor, limpe os dados de acordo com suas necessidades, se não for mais necessário.
Gestão de metadados
Se o usuário especificar um nome de catálogo na hiveCatalogName
propriedade, o plug-in montará os arquivos de log gravados na conta de armazenamento como tabelas e exibições externas, que podem ser consultadas através do Trino.
O plug-in cria três tabelas e três visualizações, que podem ser usadas para consultar os eventos do ciclo de vida (QueryCompletedEvent
, QueryCreatedEvent
, e SplitCompletedEVent
). Essas tabelas e exibições são criadas sob o catálogo e o esquema fornecidos como entrada do usuário.
Nome das tabelas:
querycompleted
: ContémQueryCompleted
eventos disparados por Trino.querycreated
: ContémQueryCreatedEvents
disparado por Trino.splitcompleted
: ContémSplitCompletedEvents
disparado por Trino.
Nome das visualizações:
vquerycompleted
vquerycreated
vsplitcompleted
Nota
Os usuários são encorajados a usar as visualizações, pois são imunes a alterações de esquema subjacentes e levam em conta a tabela descrita.
Arquivo de tabelas
O plugin suporta arquivamento (N-1)th tabela no cenário onde o usuário decide alterar o path
ou localização externa dos logs.
Se isso acontecer, o plugin renomeia a tabela apontando para o caminho antigo como <table_name>_archived, a exibição criada unirá o resultado das tabelas atuais e arquivadas neste cenário.
Crie o seu plugin personalizado
Você também pode criar um plug-in de ouvinte de eventos personalizado, seguir as instruções em docs, Implantar plug-ins personalizados seguindo as etapas de implantação do plug-in.