查詢記錄
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需此特定預覽的相關資訊,請參閱 AKS 上的 Azure HDInsight 預覽資訊。 如有問題或功能建議,請提交請求到 AskHDInsight,並關注我們以獲取 Azure HDInsight 社群的更多更新。
Trino 支援自定義 事件接聽程式, 可用來接聽查詢生命週期事件。 您可以撰寫自己的事件接聽程式,或使用 HDInsight 在 AKS 上提供的內建外掛程式,將事件記錄至 Azure Blob 記憶體。
您可以透過兩種方式啟用內建查詢記錄:
您可以啟用hive目錄,在 建立 Trino 叢集 期間啟用內建查詢記錄。
您可以使用 ARM 樣本在叢集中啟用內建查詢記錄。
本文涵蓋如何使用 ARM 範本將查詢日誌新增至叢集。
先決條件
- 在 AKS 上運行 HDInsight 的 Trino 叢集。
- 為叢集建立 ARM 範本。
- 檢視完整的叢集 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) 來驗證記憶體,請新增
Contributor
並Storage Blob Data Owner
MSI 的存取權,以確保外掛程式可以將記錄寫入記憶體帳戶。
使用者指派的 MSI 名稱會列在叢集資源 JSON 的msiResourceId
屬性中。 瞭解如何 指派角色。PartitionRetentionInDays 只會從掛接的數據表中移除元數據分割區,並不會刪除數據。 如果不再需要數據,請根據您的需求進行清除。
元數據管理
如果使用者在 hiveCatalogName
屬性中指定目錄名稱,外掛程式會將記憶體帳戶中寫入的記錄檔掛接為外部數據表和檢視表,可透過 Trino 查詢。
外掛程式會建立三個數據表和三個檢視,可用來查詢生命週期事件(QueryCompletedEvent
、QueryCreatedEvent
和 SplitCompletedEVent
)。 這些數據表 & 視圖是在所提供的目錄和架構下根據使用者輸入建立的。
數據表的名稱:
-
querycompleted
:包含 Trino 引發的QueryCompleted
事件。 -
querycreated
:包含由 Trino 觸發的QueryCreatedEvents
。 -
splitcompleted
:包含由 Trino 觸發的SplitCompletedEvents
。
檢視名稱:
vquerycompleted
vquerycreated
vsplitcompleted
注意
建議使用者使用檢視,因為檢視不受基礎架構變更的影響,並且考慮到所描述的數據表。
數據表歸檔
外掛程式支援在使用者決定變更記錄 path
或外部位置時,將第 N-1 個資料表存檔。
如果發生這種情況,外掛程式會將指向舊路徑的數據表重新命名為 <table_name>_archived,所建立的檢視會結合此案例中目前和封存數據表的結果。