Aracılığıyla paylaş


Sorgu günlüğü

Önemli

Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.

Trino, Sorgu yaşam döngüsü olaylarını dinlemek için kullanılabilecek özel olay dinleyicilerini destekler. Kendi olay dinleyicilerinizi yazabilir veya AKS'de HDInsight tarafından sağlanan ve olayları Azure Blob Depolama günlüğe kaydeden yerleşik bir eklenti kullanabilirsiniz.

Yerleşik sorgu günlüğünü iki yolla etkinleştirebilirsiniz:

  • Hive kataloğunu etkinleştirerek Trino kümesi oluşturma sırasında yerleşik sorgu günlüğünü etkinleştirebilirsiniz.

  • ARM şablonunu kullanarak kümenizde yerleşik sorgu günlüğünü etkinleştirebilirsiniz.

Bu makale, ARM şablonunu kullanarak kümenize sorgu günlüğü eklemeyi kapsar.

Önkoşullar

Sorgu günlüğünü etkinleştirme

Trino kümenizde yerleşik sorgu günlüğü eklentisini etkinleştirmek için, küme ARM şablonunuzda aşağıdaki özelliklere sahip bölümü ekleyin/güncelleştirin clusterProfile.trinoProfile.userTelemetrySpec .

Özellik Açıklama
path Farklı sorgu günlüklerini yakalamak için kök olarak kullanılan bir dizinin tam yolu.
hivecatalogName Bu katalog, depolama hesabında yazılan dosyalara dış tabloları bağlamak için kullanılır. Bu katalog, Hive kataloğu ekle adlı kümenize eklenmelidir.
hivecatalogSchema Sorgu günlüğü eklentisi, günlükler için dış tabloyu bağlamak için bu şemayı kullanır, eklenti henüz yoksa bu şemayı oluşturur. Varsayılan değer - trinologs
partitionRetentionInDays Sorgu günlüğü eklentisi, günlük tablolarındaki belirtilen yapılandırmadan daha eski olan bölümlerin ayıklamasını sağlar. Varsayılan değer - 365

Aşağıdaki örnekte, Trino kümesinde sorgu günlüğünün nasıl etkinleştirildiği gösterilmektedir. Bu örnek json dosyasını ARM şablonuna ekleyin [*].properties.clusterProfile .

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

Güncelleştirilmiş ARM şablonunu kümenizdeki değişiklikleri yansıtacak şekilde dağıtın. ARM şablonu dağıtmayı öğrenin.

Not

  • Eklenti, depolama alanında kimlik doğrulaması yapmak için kümeye bağlı kullanıcı tarafından atanan yönetilen kimliği (MSI) kullanır. Eklentinin depolama hesabına günlük yazadığından emin olmak için lütfen MSI'ye ekleyin Contributor ve Storage Blob Data Owner erişim sağlayın.
    Kullanıcı tarafından atanan MSI adı, kümenin msiResourceId kaynak JSON'sindeki özelliğinde listelenir. Rol atamayı öğrenin.

  • PartitionRetentionInDays yalnızca bağlı tablodan meta veri bölümünü kaldırır, verileri silmez. Artık gerekmemesi durumunda lütfen verileri gereksinimlerinize göre temizleyin.

Meta veri yönetimi

Kullanıcı özelliğinde hiveCatalogName bir katalog adı belirtirse eklenti, depolama hesabında yazılan günlük dosyalarını Trino aracılığıyla sorgulanabilen dış tablolar ve görünümler olarak bağlar.

Eklenti, yaşam döngüsü olaylarını (QueryCompletedEvent, QueryCreatedEventve ) sorgulamak için kullanılabilecek üç tablo ve SplitCompletedEVentüç görünüm oluşturur. Bu tablolar ve görünümler, kullanıcı girişi olarak sağlanan katalog ve şema altında oluşturulur.

Tabloların adı:

  • querycompleted: Trino tarafından tetiklenen olayları içerir QueryCompleted .
  • querycreated: Trino tarafından tetiklenen içerir QueryCreatedEvents .
  • splitcompleted: Trino tarafından tetiklenen içerir SplitCompletedEvents .

Görünümlerin adı:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

Not

Kullanıcıların, temel alınan şema değişikliklerine ve açıklanan tablo hesabına karşı bağışıklıkları olduğundan görünümleri kullanmaları teşvik edilir.

Tablo arşivleme

Eklenti, kullanıcının günlüklerin veya dış konumunu değiştirmeye path karar aldığı senaryoda arşivlemeyi (N-1) destekler. Bu durumda eklenti, eski yola işaret eden tabloyu table_name> olarak <yeniden adlandırır_archived, oluşturulan görünüm bu senaryoda geçerli ve arşivlenmiş tabloların sonucunu bir araya getirir.

Özel eklentinizi oluşturma

Ayrıca özel bir olay dinleyicisi eklentisi yazabilir, belgelerdeki yönergeleri izleyebilir, Eklenti dağıtım adımlarını izleyerek özel eklentileri dağıtabilirsiniz.