Frågeloggning

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

Trino stöder anpassade händelselyssnare som kan användas för att lyssna efter frågelivscykelhändelser. Du kan skapa egna händelselyssnare eller använda ett inbyggt plugin-program från HDInsight på AKS som loggar händelser till Azure Blob Storage.

Du kan aktivera inbyggd frågeloggning på två sätt:

  • Du kan aktivera inbyggd frågeloggning när Trino-klustret skapas genom att aktivera Hive-katalogen.

  • Du kan aktivera inbyggd frågeloggning i klustret med hjälp av ARM-mallen.

Den här artikeln beskriver tillägg av frågeloggning i klustret med hjälp av ARM-mall.

Förutsättningar

Aktivera frågeloggning

Om du vill aktivera det inbyggda plugin-programmet för frågeloggning i ditt Trino-kluster lägger du till/uppdaterar clusterProfile.trinoProfile.userTelemetrySpec avsnittet med följande egenskaper i arm-klustrets mall.

Property beskrivning
path Fullständigt kvalificerad sökväg till en katalog som används som en rot för att samla in olika frågeloggar.
hivecatalogName Den här katalogen används för att montera externa tabeller på filerna som skrivits i lagringskontot. Den här katalogen måste läggas till i klustret, Lägg till hive-katalog.
hivecatalogSchema Plugin-programmet för frågeloggning använder det här schemat för att montera den externa tabellen för loggarna. Plugin-programmet skapar det här schemat om det inte redan finns. Standardvärdet- trinologs
partitionRetentionInDays Plugin-programmet frågeloggning beskär partitionerna i loggtabellerna, som är äldre än den angivna konfigurationen. Standardvärdet- 365

I följande exempel visas hur en frågeloggning aktiveras i ett Trino-kluster. Lägg till det här exemplet json under [*].properties.clusterProfile i ARM-mallen.

       "trinoProfile": { 
          "userTelemetrySpec": { 
          "storage": { 
              "path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs", 
              "hivecatalogName": "hive", 
              "hivecatalogSchema": "trinologs", 
              "partitionRetentionInDays": 365 
          } 
          }
      }   

Distribuera den uppdaterade ARM-mallen för att återspegla ändringarna i klustret. Lär dig hur du distribuerar en ARM-mall.

Kommentar

  • Plugin-programmet använder användartilldelad hanterad identitet (MSI) som är kopplad till klustret för att autentisera mot lagringen. Lägg till Contributor och Storage Blob Data Owner åtkomst till MSI för att säkerställa att plugin-programmet kan skriva loggar till lagringskontot.
    Användartilldelat MSI-namn visas i msiResourceId egenskapen i klustrets resurs-JSON. Lär dig hur du tilldelar en roll.

  • PartitionRetentionInDays tar bara bort metadatapartitionen från den monterade tabellen, den tar inte bort data. Rensa data enligt dina behov om de inte behövs längre.

Hantering av metadata

Om användaren anger ett katalognamn i hiveCatalogName egenskapen monterar plugin-programmet loggfilerna som skrivits i lagringskontot som externa tabeller och vyer, som kan efterfrågas via Trino.

Plugin-programmet skapar tre tabeller och tre vyer som kan användas för att köra frågor mot livscykelhändelserna (QueryCompletedEvent, QueryCreatedEventoch SplitCompletedEVent). Dessa tabeller och vyer skapas under katalogen och schemat som tillhandahålls som användarindata.

Namn på tabeller:

  • querycompleted: Innehåller händelser som utlösts QueryCompleted av Trino.
  • querycreated: Innehåller QueryCreatedEvents utlöst av Trino.
  • splitcompleted: Innehåller SplitCompletedEvents utlöst av Trino.

Namn på vyer:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Kommentar

Användare uppmanas att använda vyerna eftersom de är immuna mot underliggande schemaändringar och konto för den tabell som beskrivs.

Arkivering av tabeller

Plugin-programmet stöder arkivering (N-1)den här tabellen i scenariot där användaren bestämmer sig för att ändra path loggarnas eller den externa platsen. Om det händer byter plugin-programmet namn på tabellen som pekar på den gamla sökvägen som table_name>_archived, vyn som <skapas kommer att förena resultatet av aktuella och arkiverade tabeller i det här scenariot.

Skapa ditt anpassade plugin-program

Du kan också skapa ett plugin-program för anpassad händelselyssnare, följa anvisningarna i dokument, Distribuera anpassade plugin-program genom att följa distributionsstegen för plugin-program.