Rejestrowanie zapytań
Ważny
Usługa Azure HDInsight w usłudze AKS została wycofana 31 stycznia 2025 r. Dowiedz się więcej za pomocą tego ogłoszenia.
Aby uniknąć nagłego kończenia obciążeń, należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure.
Ważny
Ta funkcja jest obecnie dostępna w wersji zapoznawczej. Dodatkowe warunki użytkowania platformy Microsoft Azure zawierają więcej warunków prawnych, które dotyczą funkcji platformy Azure w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje na temat tej konkretnej wersji zapoznawczej, zobacz informacje o wersji zapoznawczej Azure HDInsight na AKS. W przypadku pytań lub sugestii dotyczących funkcji prosimy przesłać zgłoszenie na AskHDInsight z odpowiednimi szczegółami i śledź nas, aby uzyskać więcej aktualności na społeczność Azure HDInsight.
Program Trino obsługuje niestandardowe odbiorniki zdarzeń , które można wykorzystać do monitorowania zdarzeń cyklu życia zapytań. Możesz utworzyć własne odbiorniki zdarzeń lub użyć wbudowanej wtyczki udostępnionej przez usługę HDInsight w usłudze AKS, która rejestruje zdarzenia w usłudze Azure Blob Storage.
Wbudowane rejestrowanie zapytań można włączyć na dwa sposoby:
Wbudowane rejestrowanie zapytań można włączyć podczas tworzenia klastra Trino, włączając katalog hive.
Możesz włączyć wbudowane rejestrowanie zapytań w klastrze za pomocą szablonu ARM.
W tym artykule opisano, jak dodać rejestrowanie zapytań do klastra za pomocą szablonu ARM.
Warunki wstępne
- Działający klaster Trino z HDInsight na AKS.
- Utwórz szablon ARM dla klastra.
- Zapoznaj się z kompletnym wzorem klastra oraz przykładowym szablonem ARM.
- Znajomość tworzenia i wdrażania szablonu usługi ARM.
Włączanie rejestrowania zapytań
Aby włączyć wbudowaną wtyczkę rejestrowania zapytań w klastrze Trino, dodaj/zaktualizuj sekcję clusterProfile.trinoProfile.userTelemetrySpec
z następującymi właściwościami w szablonie ARM klastra.
Własność | Opis |
---|---|
path |
W pełni określona ścieżka do katalogu używanego jako katalog główny do przechwytywania różnych dzienników zapytań. |
hivecatalogName |
Ten katalog służy do montowania tabel zewnętrznych na plikach zapisanych na koncie magazynowym. Ten katalog należy dodać do klastra, Dodaj katalog hive. |
hivecatalogSchema |
Wtyczka rejestrowania zapytań używa tego schematu do zainstalowania tabeli zewnętrznej dla dzienników, wtyczka tworzy ten schemat, jeśli jeszcze nie istnieje. Wartość domyślna — trinologs |
partitionRetentionInDays |
Wtyczka rejestrowania zapytań czyści partycje w tabelach dziennika, które są starsze niż określona konfiguracja. Wartość domyślna — 365 |
W poniższym przykładzie pokazano, jak rejestrowanie zapytań jest włączone w klastrze Trino. Dodaj ten przykładowy JSON w sekcji [*].properties.clusterProfile
w szablonie ARM.
"trinoProfile": {
"userTelemetrySpec": {
"storage": {
"path": "https://querylogstorageaccount.blob.core.windows.net/logs/trinoquerylogs",
"hivecatalogName": "hive",
"hivecatalogSchema": "trinologs",
"partitionRetentionInDays": 365
}
}
}
Wdróż zaktualizowany szablon ARM, aby odzwierciedlić zmiany w klastrze. Dowiedz się, jak wdrożyć szablon ARM.
Notatka
Wtyczka używa tożsamości zarządzanej przypisanej przez użytkownika (MSI) powiązanej z klastrem do uwierzytelniania w magazynie danych. Aby zapewnić, że wtyczka może zapisywać dzienniki na koncie magazynu, dodaj dostęp
Contributor
iStorage Blob Data Owner
do tej tożsamości zarządzanej.
Nazwa przypisanej przez użytkownika tożsamości usługi zarządzanej (MSI) jest wymieniona we właściwościmsiResourceId
w zasobie klastra zapisanym w formacie JSON. Dowiedz się, jak przypisać rolę.PartitionRetentionInDays usuwa tylko partycję metadanych z zainstalowanej tabeli, ale nie usuwa danych. Wyczyść dane zgodnie z wymaganiami, jeśli nie będą już potrzebne.
Zarządzanie metadanymi
Jeśli użytkownik określi nazwę katalogu we właściwości hiveCatalogName
, wtyczka montuje pliki logów zapisane na koncie magazynu jako zewnętrzne tabele i widoki, które można przeszukiwać za pomocą Trino.
Wtyczka tworzy trzy tabele i trzy widoki, których można użyć do wykonywania zapytań dotyczących zdarzeń cyklu życia (QueryCompletedEvent
, QueryCreatedEvent
i SplitCompletedEVent
). Te widoki tabel & są tworzone przy użyciu katalogu i schematu podanych jako dane wejściowe użytkownika.
Nazwa tabel:
-
querycompleted
: zawiera zdarzeniaQueryCompleted
wyzwalane przez Trino. -
querycreated
: zawieraQueryCreatedEvents
wyzwalane przez Trino. -
splitcompleted
: zawieraSplitCompletedEvents
wyzwalane przez Trino.
Nazwa widoków:
vquerycompleted
vquerycreated
vsplitcompleted
Nota
Użytkownicy są zachęcani do korzystania z widoków, ponieważ są one odporni na zmiany schematu i uwzględniają opisane tabele.
Archiwizacja tabeli
Wtyczka obsługuje archiwizowanie (N-1)-owej tabeli w sytuacji, gdy użytkownik decyduje się na zmianę path
lub lokalizacji zewnętrznej dzienników.
W takim przypadku wtyczka zmienia nazwę tabeli wskazującej starą ścieżkę jako <table_name>_archived, utworzony widok będzie łączyć wynik bieżących i zarchiwizowanych tabel w tym scenariuszu.
Tworzenie wtyczki niestandardowej
Możesz również utworzyć wtyczkę niestandardowego nasłuchiwacza zdarzeń. Postępuj według instrukcji w dokumentacji . Następnie wdrażaj wtyczki niestandardowe, wykonując kroki wdrażania wtyczki .