本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
監控阿帕奇冰山工作負載
若要監控 Iceberg 工作負載,您有兩種選擇:分析中繼資料表
如果您正在使用 AWS Glue Data Catalog,則可以通過在 Iceberg 公開的元數據表格頂部設置監視來獲得有關 Iceberg 表的健康情況的見解。
監控對於效能管理和疑難排解至關重要。例如,當 Iceberg 資料表中的分割區達到特定百分比的小檔案時,您的工作負載可以啟動壓縮工作,將檔案合併為較大的檔案。這樣可以防止查詢放慢速度超出可接受的層級。
表格層級監控
下面的屏幕顯示了在 Amazon 創建的表監控儀表板 QuickSight。此儀表板使用 Spark SQL 查詢 Iceberg 中繼資料表,並擷取詳細的指標,例如使用中檔案數量和總儲存空間。然後,此信息存儲在 AWS Glue 表中用於操作目的。最後, QuickSight 儀表板 (如下圖所示) 是使用 Amazon Athena 建立的。此資訊可協助您識別並解決系統中的特定問題。
範例 QuickSight 儀表板會收集下列冰山表的關鍵績效指標 (KPI):
KPI |
Description |
查詢 |
---|---|---|
檔案數 |
冰山資料表中的檔案數目 (適用於所有快照) |
|
作用中的檔案數 |
冰山資料表最後一個快照中的作用中檔案數 |
|
平均檔案大小 |
Iceberg 表格中所有檔案的平均檔案大小 (以 MB 為單位) |
|
平均現行檔案大小 |
Iceberg 表格中作用中檔案的平均檔案大小 (以 MB 為單位) |
|
小檔案的百分比 |
使用中檔案小於 100 MB 的百分比 |
|
儲存空間總大小 |
表格中所有檔案的總大小,不包括孤立檔案和 Amazon S3 物件版本 (如果已啟用) |
|
作用中儲存體總大小 |
指定資料表目前快照集中所有檔案的總大小 |
|
資料庫層級監視
下列範例顯示在中建立的監視儀表板, QuickSight 以提供 Iceberg 表格集合之資料庫層級 KPI 概觀。
此資料面板會收集下列 KPI:
KPI |
Description |
查詢 |
---|---|---|
檔案數 |
Iceberg 資料庫中的檔案數目 (適用於所有快照) |
此儀表板使用上一節提供的資料表層級查詢,並合併結果。 |
作用中的檔案數 |
Iceberg 資料庫中的作用中檔案數量 (以 Iceberg 資料表的最後一個快照為基礎) |
|
平均檔案大小 |
Iceberg 資料庫中所有檔案的平均檔案大小 (以 MB 為單位) |
|
平均現行檔案大小 |
Iceberg 資料庫中所有使用中檔案的平均檔案大小 (以 MB 為單位) |
|
小檔案的百分比 |
冰山資料庫中使用中檔案小於 100 MB 的百分比 |
|
儲存空間總大小 |
資料庫中所有檔案的總大小,不包括孤立檔案和 Amazon S3 物件版本 (如果已啟用) |
|
作用中儲存體總大小 |
資料庫中所有表格目前快照集中所有檔案的總大小 |
預防性維護
透過設定前幾節中討論的監視功能,您可以從預防角度而非反應角度來進行資料表維護。例如,您可以使用表格層次和資料庫層次的測量結果來排定下列動作:
-
當一個表達到 N 個小文件時,使用 bin 打包壓縮來分組小文件。
-
當表達到給定分區中的 N 個刪除文件時,使用 bin 壓縮來合併刪除文件。
-
當總儲存空間比使用中儲存空間高出 X 倍時,移除快照以移除已壓縮的小型檔案。