共用方式為


查詢記錄

注意

AKS 上的 Azure HDInsight 將於 2025 年 1 月 31 日退場。 請於 2025 年 1 月 31 日之前,將工作負載移轉至 Microsoft Fabric 或對等的 Azure 產品,以免工作負載突然終止。 訂用帳戶中剩餘的叢集將會停止,並會從主機移除。

在淘汰日期之前,只有基本支援可用。

重要

此功能目前為預覽功能。 Microsoft Azure 預覽版增補使用規定包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。 若需此特定預覽版的相關資訊,請參閱 Azure HDInsight on AKS 預覽版資訊。 如有問題或功能建議,請在 AskHDInsight 上提交要求並附上詳細資料,並且在 Azure HDInsight 社群上追蹤我們以獲得更多更新資訊。

Trino 支援自訂事件接聽程式,可用來接聽查詢生命週期事件。 您可以撰寫自己的事件接聽程式,或使用 HDInsight on AKS 提供的內建外掛程式,將事件記錄至 Azure Blob 儲存體。

您可以透過兩種方式啟用內建查詢記錄:

  • 您可藉由啟用 hive 目錄,在建立 Trino 叢集期間啟用內建查詢記錄。

  • 您可以使用 ARM 樣本在叢集中啟用內建查詢記錄。

本文涵蓋使用 ARM 範本將查詢記錄新增至叢集。

必要條件

啟用查詢記錄

若要在 Trino 叢集中啟用內建查詢記錄外掛程式,請在叢集 ARM 範本中新增/更新包含下列屬性的 clusterProfile.trinoProfile.userTelemetrySpec 區段。

屬性 說明
path 目錄的完整路徑,可作為擷取不同查詢記錄的根目錄。
hivecatalogName 此目錄用於在寫入儲存體帳戶的檔案上掛接外部資料表。 您必須在叢集中新增此目錄:新增 hive 目錄
hivecatalogSchema 查詢記錄外掛程式會使用此結構描述來掛接記錄的外部資料表,如果此結構描述尚未存在,外掛程式會予以建立。 預設值 - trinologs
partitionRetentionInDays 查詢記錄外掛程式會剪除記錄資料表中的分割,這些分割比指定的組態還要舊。 預設值 - 365

下列範例示範如何在 Trino 叢集中啟用查詢記錄。 在 ARM 範本中的 [*].properties.clusterProfile 下新增此範例 json。

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

部署更新的 ARM 範本以反映叢集中的變更。 了解如何部署 ARM 範本

注意

  • 外掛程式會使用繫結至叢集的使用者指派受控識別 (MSI) 來對儲存體進行驗證,請將 ContributorStorage Blob Data Owner 存取權新增至 MSI,以確保外掛程式可將記錄寫入儲存體帳戶。
    使用者指派的 MSI 名稱會列在叢集資源 JSON 的 msiResourceId 屬性中。 了解如何指派角色

  • PartitionRetentionInDays 只會從掛接的資料表中移除中繼資料分割,並不會刪除資料。 如果不再需要,請依據您的需求清除資料。

中繼資料管理

如果使用者在 hiveCatalogName 屬性中指定目錄名稱,外掛程式會將儲存體帳戶中寫入的記錄檔掛接為外部資料表和檢視,其可透過 Trino 進行查詢。

外掛程式會建立三個資料表和三個檢視,可用於查詢生命週期事件 (QueryCompletedEventQueryCreatedEventSplitCompletedEVent)。 這些資料表和檢視是在以使用者輸入形式提供的目錄和結構描述之下建立的。

資料表名稱:

  • querycompleted:包含 Trino 所引發的 QueryCompleted 事件。
  • querycreated:包含 Trino 所引發的 QueryCreatedEvents
  • splitcompleted:包含 Trino 所引發的 SplitCompletedEvents

檢視名稱:

  • vquerycompleted
  • vquerycreated
  • vsplitcompleted

注意

使用者不受基礎結構描述變更的影響並考慮到所描述的資料表時,鼓勵他們使用檢視。

資料表封存

外掛程式支援在使用者決定變更記錄的 path 或外部位置的案例中封存第 (N-1) 個資料表。 如果發生這種情況,外掛程式會將指向舊路徑的資料表重新命名為 <table_name>_archived,所建立的檢視會結合此案例中目前和封存的資料表結果。

建立自訂外掛程式

您也可以依照文件的指示,撰寫自訂事件接聽程式外掛程式,並遵循外掛程式部署步驟來部署自訂外掛程式。