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
- Provozní cluster Trino se službou HDInsight v AKS.
- Vytvořte šablonu ARM pro váš cluster.
- Projděte si kompletní ukázku šablony ARM clusteru.
- Znalost vytváření a nasazování šablon ARM
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 aStorage 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živatelemmsiResourceId
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 (QueryCompletedEvent
QueryCreatedEvent
a SplitCompletedEVent
). Tyto tabulky a zobrazení se vytvářejí v katalogu a schématu zadaném jako uživatelský vstup.
Název tabulek:
querycompleted
: ObsahujeQueryCompleted
události aktivované trino.querycreated
: ObsahujeQueryCreatedEvents
vyhozené trino.splitcompleted
: ObsahujeSplitCompletedEvents
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.