Udostępnij za pośrednictwem


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

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 i Storage 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ści msiResourceId 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, QueryCreatedEventi SplitCompletedEVent). Te widoki tabel & są tworzone przy użyciu katalogu i schematu podanych jako dane wejściowe użytkownika.

Nazwa tabel:

  • querycompleted: zawiera zdarzenia QueryCompleted wyzwalane przez Trino.
  • querycreated: zawiera QueryCreatedEvents wyzwalane przez Trino.
  • splitcompleted: zawiera SplitCompletedEvents 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 .