Protokolování dotazů

Důležité

Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.

Trino podporuje vlastní naslouchací procesy událostí, které lze použít k naslouchání událostem životního cyklu dotazů. Můžete vytvořit vlastní naslouchací procesy událostí nebo použít integrovaný modul plug-in poskytovaný službou HDInsight v AKS, který protokoluje události do služby Azure Blob Storage.

Integrované protokolování dotazů můžete povolit dvěma způsoby:

  • Předdefinované protokolování dotazů můžete povolit při vytváření clusteru Trino povolením katalogu Hive.

  • Integrované protokolování dotazů v clusteru můžete povolit pomocí šablony ARM.

Tento článek popisuje přidání protokolování dotazů do clusteru pomocí šablony ARM.

Požadavky

Povolení protokolování dotazů

Pokud chcete povolit integrovaný modul plug-in pro protokolování dotazů v clusteru Trino, přidejte nebo aktualizujte clusterProfile.trinoProfile.userTelemetrySpec oddíl s následujícími vlastnostmi v šabloně ARM clusteru.

Vlastnost Popis
path Plně kvalifikovaná cesta k adresáři používanému jako kořen pro zachycení různých protokolů dotazů.
hivecatalogName Tento katalog slouží k připojení externích tabulek k souborům zapsaných v účtu úložiště. Tento katalog musí být přidán do clusteru a přidat katalog Hive.
hivecatalogSchema Modul plug-in protokolování dotazů používá toto schéma k připojení externí tabulky pro protokoly, modul plug-in vytvoří toto schéma, pokud ještě neexistuje. Výchozí hodnota – trinologs
partitionRetentionInDays Modul plug-in protokolování dotazů vyřešuje oddíly v tabulkách protokolů, které jsou starší než zadaná konfigurace. Výchozí hodnota – 365

Následující příklad ukazuje, jak je protokolování dotazu povolené v clusteru Trino. Přidejte tento ukázkový kód JSON do [*].properties.clusterProfile šablony ARM.

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

Nasaďte aktualizovanou šablonu ARM tak, aby odrážela změny v clusteru. Zjistěte, jak nasadit šablonu ARM.

Poznámka:

  • Modul plug-in používá spravovanou identitu přiřazenou uživatelem (MSI) svázanou s clusterem k ověření v úložišti, přidejte Contributor do MSI přístup a Storage Blob Data Owner ujistěte se, že modul plug-in může zapisovat protokoly do účtu úložiště.
    Název MSI přiřazený uživatelem msiResourceId je uvedený ve vlastnosti ve formátu JSON prostředku clusteru. Zjistěte, jak přiřadit roli.

  • PartitionRetentionInDays odebere pouze oddíl metadat z připojené tabulky, ale neodstraní data. Pokud už data nepotřebujete, vyčistíte je podle svých požadavků.

Správa metadat

Pokud uživatel zadá název katalogu ve hiveCatalogName vlastnosti, modul plug-in připojí soubory protokolů napsané v účtu úložiště jako externí tabulky a zobrazení, které je možné dotazovat prostřednictvím Trino.

Modul plug-in vytvoří tři tabulky a tři zobrazení, která lze použít k dotazování událostí životního cyklu (QueryCompletedEventQueryCreatedEventa SplitCompletedEVent). Tyto tabulky a zobrazení se vytvářejí v katalogu a schématu zadaném jako uživatelský vstup.

Název tabulek:

  • querycompleted: Obsahuje QueryCompleted události aktivované trino.
  • querycreated: Obsahuje QueryCreatedEvents vyhozené trino.
  • splitcompleted: Obsahuje SplitCompletedEvents vyhozené trino.

Název zobrazení:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Poznámka:

Uživatelům se doporučuje používat zobrazení, protože jsou imunní vůči změnám základního schématu a účtu pro popsanou tabulku.

Archivace tabulek

Modul plug-in podporuje archivaci (N-1) tabulku ve scénáři, ve kterém se uživatel rozhodne změnit path nebo externí umístění protokolů. Pokud k tomu dojde, modul plug-in přejmenuje tabulku odkazující na starou cestu jako <table_name>_archived, vytvořené zobrazení sjednocuje výsledek aktuální tabulky a archivované tabulky v tomto scénáři.

Vytvoření vlastního modulu plug-in

Můžete také vytvořit vlastní modul plug-in naslouchacího procesu událostí, postupujte podle pokynů v dokumentaci, nasaďte vlastní moduly plug-in pomocí kroků pro nasazení modulu plug-in.