您可以通過JindoTable表或分區的訪問熱度收集功能來區分冷熱資料,從而節約整體的儲存成本,提高緩衝利用效率。
前提條件
已建立叢集,詳情請參見建立叢集。
背景資訊
JindoTable支援收集訪問Hive表的記錄,收集的資料儲存在SmartData服務的Namespace中。
SmartData 3.2.x版本開始支援Spark、Hive和Presto引擎,Spark和Presto的資料收集預設是開啟的,如果需要關閉,請參見關閉熱度收集。Hive的資料收集預設是關閉的,如果需要開啟,請參見開啟Hive熱度收集。
資料查詢
JindoTable提供了命令方式查詢熱度資訊。
- 文法
jindo table -accessStat <-d [days]> <-n [topNums]>
days
和topNums
為正整數。當只設定天數為1時,表示查詢從本地時間當天0:00開始到現在的所有訪問記錄。 - 功能
查詢在指定時間範圍內,訪問最多的N條表或分區的記錄。
- 樣本:查詢近七天,訪問最多的20條表或分區的記錄。
jindo table -accessStat -d 7 -n 20
JindoTable使用詳情,請參見JindoTable使用說明。
開啟Hive熱度收集
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的叢集管理頁簽。
- 在叢集管理頁面,單擊相應叢集所在行的詳情。
- 修改Hive的參數值。
- 在左側導覽列,選擇 。
- 在Hive服務頁面,單擊配置頁簽。
- 搜尋參數hive.exec.post.hooks,在參數值後追加com.aliyun.emr.table.hive.HivePostHook。
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟服務。
- 在Hive服務頁面,選擇右上方的 。
- 在執行叢集操作對話方塊,輸入執行原因。
- 單擊確定。
- 在確認對話方塊中,單擊確定。
關閉熱度收集
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的叢集管理頁簽。
- 在叢集管理頁面,單擊相應叢集所在行的詳情。
- 修改參數值。
- Hive服務:
- 在左側導覽列,選擇 。
- 在Hive服務頁面,單擊配置頁簽。
- 搜尋參數hive.exec.post.hooks,刪除參數值中的com.aliyun.emr.table.hive.HivePostHook。
- Spark服務:
- 在左側導覽列,選擇 。
- 在Spark服務頁面,單擊配置頁簽。
- 搜尋參數spark.sql.queryExecutionListeners,刪除參數值中的com.aliyun.emr.table.spark.SparkSQLQueryListener。
- Presto服務:
- 在左側導覽列,選擇 。
- 在Presto服務頁面,單擊配置頁簽。
- 搜尋參數event-listener.name,刪除參數值中的內容。
- Hive服務:
- 儲存配置。
- 單擊右上方的儲存。
- 在確認修改對話方塊中,輸入執行原因,開啟自動更新配置。
- 單擊確定。
- 重啟服務。
- Hive服務:
- 在Hive服務頁面,選擇右上方的 。
- 在執行叢集操作對話方塊,輸入執行原因。
- 單擊確定。
- 在確認對話方塊中,單擊確定。
- Spark服務:
- 在Spark服務頁面,選擇右上方的 。
- 在執行叢集操作對話方塊,輸入執行原因。
- 單擊確定。
- 在確認對話方塊中,單擊確定。
- Presto服務:
- 在Presto服務頁面,選擇右上方的 。
- 在執行叢集操作對話方塊,輸入執行原因。
- 單擊確定。
- 在確認對話方塊中,單擊確定。
- Hive服務: