Udostępnij za pośrednictwem


Rejestrowanie zapytań

Ważne

Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.

Program Trino obsługuje niestandardowe odbiorniki zdarzeń, których można używać do nasłuchiwania 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.

  • Wbudowane rejestrowanie zapytań w klastrze można włączyć przy użyciu szablonu usługi ARM.

W tym artykule opisano dodawanie rejestrowania zapytań do klastra przy użyciu szablonu usługi ARM.

Wymagania wstępne

  • Operacyjny klaster Trino z usługą HDInsight w usłudze AKS.
  • Utwórz szablon usługi ARM dla klastra.
  • Zapoznaj się z kompletnym przykładem szablonu usługi ARM klastra.
  • Znajomość tworzenia i wdrażania szablonów usługi ARM.

Włączanie rejestrowania zapytań

Aby włączyć wbudowaną wtyczkę rejestrowania zapytań w klastrze Trino, dodaj/zaktualizuj clusterProfile.trinoProfile.userTelemetrySpec sekcję z następującymi właściwościami w szablonie usługi ARM klastra.

Właściwości opis
path W pełni kwalifikowana ścieżka do katalogu używanego jako katalog główny do przechwytywania różnych dzienników zapytań.
hivecatalogName Ten wykaz służy do instalowania tabel zewnętrznych na plikach zapisanych na koncie magazynu. Ten wykaz musi zostać dodany w klastrze, Dodaj wykaz 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 kod json w obszarze [*].properties.clusterProfile w szablonie usługi ARM.

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

Wdróż zaktualizowany szablon usługi ARM, aby odzwierciedlić zmiany w klastrze. Dowiedz się, jak wdrożyć szablon usługi ARM.

Uwaga

  • Wtyczka używa tożsamości zarządzanej przypisanej przez użytkownika (MSI) powiązanej z klastrem w celu uwierzytelniania w magazynie. Contributor Dodaj plik MSI i Storage Blob Data Owner uzyskaj do niego dostęp, aby zapewnić, że wtyczka może zapisywać dzienniki na koncie magazynu.
    Nazwa tożsamości usługi zarządzanej msiResourceId przypisana przez użytkownika znajduje się we właściwości w formacie JSON zasobu klastra. 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 hiveCatalogName właściwości, wtyczka instaluje pliki dzienników zapisane na koncie magazynu jako zewnętrzne tabele i widoki, które można wykonywać zapytania za pośrednictwem Trino.

Wtyczka tworzy trzy tabele i trzy widoki, które mogą służyć do wykonywania zapytań dotyczących zdarzeń cyklu życia (QueryCompletedEvent, QueryCreatedEvent, i SplitCompletedEVent). Te tabele i widoki są tworzone w katalogu i schemacie udostępnionym jako dane wejściowe użytkownika.

Nazwa tabel:

  • querycompleted: zawiera QueryCompleted zdarzenia wyzwalane przez Trino.
  • querycreated: Zawiera QueryCreatedEvents wyzwolony przez Trino.
  • splitcompleted: Zawiera SplitCompletedEvents wyzwolony przez Trino.

Nazwa widoków:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Uwaga

Użytkownicy są zachęcani do korzystania z widoków, ponieważ są odporne na podstawowe zmiany schematu i konto dla tabeli opisanej.

Archiwizacja tabeli

Wtyczka obsługuje archiwizowanie (N-1)th tabeli w scenariuszu, w którym użytkownik decyduje się na zmianę path lokalizacji lub 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ć niestandardową wtyczkę odbiornika zdarzeń, postępować zgodnie z instrukcjami dotyczącymi dokumentów, wdróż niestandardowe wtyczki, wykonując kroki wdrażania wtyczki.