監控阿帕奇冰山工作負載 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控阿帕奇冰山工作負載

若要監控 Iceberg 工作負載,您有兩種選擇:分析中繼資料表或使用指標記者。指標記者是在冰山 1.2 版中引入的,並且僅適用於 REST 和 JDBC 目錄。

如果您正在使用 AWS Glue Data Catalog,則可以通過在 Iceberg 公開的元數據表格頂部設置監視來獲得有關 Iceberg 表的健康情況的見解。

監控對於效能管理和疑難排解至關重要。例如,當 Iceberg 資料表中的分割區達到特定百分比的小檔案時,您的工作負載可以啟動壓縮工作,將檔案合併為較大的檔案。這樣可以防止查詢放慢速度超出可接受的層級。

表格層級監控

下面的屏幕顯示了在 Amazon 創建的表監控儀表板 QuickSight。此儀表板使用 Spark SQL 查詢 Iceberg 中繼資料表,並擷取詳細的指標,例如使用中檔案數量和總儲存空間。然後,此信息存儲在 AWS Glue 表中用於操作目的。最後, QuickSight 儀表板 (如下圖所示) 是使用 Amazon Athena 建立的。此資訊可協助您識別並解決系統中的特定問題。

QuickSight 用於監控冰山表的儀表板

範例 QuickSight 儀表板會收集下列冰山表的關鍵績效指標 (KPI):

KPI

Description

查詢

檔案數

冰山資料表中的檔案數目 (適用於所有快照)

select count(*) from <catalog.database.table_name>.all_files

作用中的檔案數

冰山資料表最後一個快照中的作用中檔案數

select count(*) from <catalog.database.table_name>.files

平均檔案大小

Iceberg 表格中所有檔案的平均檔案大小 (以 MB 為單位)

select avg(file_size_in_bytes)/1000000 from <catalog.database.table_name>.all_files

平均現行檔案大小

Iceberg 表格中作用中檔案的平均檔案大小 (以 MB 為單位)

select avg(file_size_in_bytes)/1000000 from <catalog.database.table_name>.files

小檔案的百分比

使用中檔案小於 100 MB 的百分比

select cast(sum(case when file_size_in_bytes < 100000000 then 1 else 0 end)*100/count(*) as decimal(10,2)) from <catalog.database.table_name>.files

儲存空間總大小

表格中所有檔案的總大小,不包括孤立檔案和 Amazon S3 物件版本 (如果已啟用)

select sum(file_size_in_bytes)/1000000 from <catalog.database.table_name>.all_files

作用中儲存體總大小

指定資料表目前快照集中所有檔案的總大小

select sum(file_size_in_bytes)/1000000 from <catalog.database.table_name>.files

資料庫層級監視

下列範例顯示在中建立的監視儀表板, QuickSight 以提供 Iceberg 表格集合之資料庫層級 KPI 概觀。

QuickSight 用於冰山數據庫級監控的儀表板

此資料面板會收集下列 KPI:

KPI

Description

查詢

檔案數

Iceberg 資料庫中的檔案數目 (適用於所有快照)

此儀表板使用上一節提供的資料表層級查詢,並合併結果。

作用中的檔案數

Iceberg 資料庫中的作用中檔案數量 (以 Iceberg 資料表的最後一個快照為基礎)

平均檔案大小

Iceberg 資料庫中所有檔案的平均檔案大小 (以 MB 為單位)

平均現行檔案大小

Iceberg 資料庫中所有使用中檔案的平均檔案大小 (以 MB 為單位)

小檔案的百分比

冰山資料庫中使用中檔案小於 100 MB 的百分比

儲存空間總大小

資料庫中所有檔案的總大小,不包括孤立檔案和 Amazon S3 物件版本 (如果已啟用)

作用中儲存體總大小

資料庫中所有表格目前快照集中所有檔案的總大小

預防性維護

透過設定前幾節中討論的監視功能,您可以從預防角度而非反應角度來進行資料表維護。例如,您可以使用表格層次和資料庫層次的測量結果來排定下列動作:

  • 當一個表達到 N 個小文件時,使用 bin 打包壓縮來分組小文件。

  • 當表達到給定分區中的 N 個刪除文件時,使用 bin 壓縮來合併刪除文件。

  • 當總儲存空間比使用中儲存空間高出 X 倍時,移除快照以移除已壓縮的小型檔案。