JindoTable表或分區訪問熱度收集

更新時間:
Copy as MD

您可以通過JindoTable表或分區的訪問熱度收集功能來區分冷熱資料,從而節約整體的儲存成本,提高緩衝利用效率。

前提條件

已建立叢集,詳情請參見建立叢集

背景資訊

JindoTable支援收集訪問Hive表的記錄,收集的資料儲存在SmartData服務的Namespace中。

SmartData 3.2.x版本開始支援Spark、HivePresto引擎,SparkPresto的資料收集預設是開啟的,如果需要關閉,請參見關閉熱度收集。Hive的資料收集預設是關閉的,如果需要開啟,請參見開啟Hive熱度收集

資料查詢

JindoTable提供了命令方式查詢熱度資訊。

  • 文法

    jindo table -accessStat <-d [days]> <-n [topNums]>

    daystopNums為正整數。當只設定天數為1時,表示查詢從本地時間當天0:00開始到現在的所有訪問記錄。

  • 功能

    查詢在指定時間範圍內,訪問最多的N條表或分區的記錄。

  • 樣本:查詢近七天,訪問最多的20條表或分區的記錄。

    jindo table -accessStat -d 7 -n 20

JindoTable使用詳情,請參見JindoTable使用說明

開啟Hive熱度收集

  1. 登入阿里雲E-MapReduce控制台。

  2. 在頂部功能表列處,根據實際情況選擇地區和資源群組

  3. 單擊上方的集群管理頁簽。

  4. 集群管理頁面,單擊相應叢集所在行的详情

  5. 修改Hive的參數值。

    1. 在左側導覽列,選擇集群服务 > Hive

    2. Hive服務頁面,單擊配置頁簽。

    3. 搜尋參數hive.exec.post.hooks,在參數值後追加com.aliyun.emr.table.hive.HivePostHook

  6. 儲存配置。

    1. 單擊右上方的保存

    2. 确认修改對話方塊中,輸入执行原因,開啟自動更新配置

    3. 單擊确定

  7. 重啟服務。

    1. Hive服務頁面,選擇右上方的操作 > 重啟HiveServer2

    2. 執行叢集操作對話方塊,輸入执行原因

    3. 單擊确定

    4. 确认對話方塊中,單擊确定

關閉熱度收集

  1. 登入阿里雲E-MapReduce控制台

  2. 在頂部功能表列處,根據實際情況選擇地區和資源群組

  3. 單擊上方的集群管理頁簽。

  4. 集群管理頁面,單擊相應叢集所在行的详情

  5. 修改參數值。

    • Hive服務:

      1. 在左側導覽列,選擇集群服务 > Hive

      2. Hive服務頁面,單擊配置頁簽。

      3. 搜尋參數hive.exec.post.hooks,刪除參數值中的com.aliyun.emr.table.hive.HivePostHook。在 配置搜尋 中輸入 hive.exec.post.hooks 並單擊搜尋按鈕,在 hive-site 中找到該配置項,其值包含 com.aliyun.emr.table.hive.HivePostHook

    • Spark服務:

      1. 在左側導覽列,選擇集群服务 > Spark

      2. Spark服務頁面,單擊配置頁簽。

      3. 搜尋參數spark.sql.queryExecutionListeners,刪除參數值中的com.aliyun.emr.table.spark.SparkSQLQueryListener。在配置搜尋中搜尋 spark.sql.queryExecutionListeners,在 spark-defaults 中找到該配置項,其當前值為 com.aliyun.emr.table.spark.SparkSQLQueryListener

    • Presto服務:

      1. 在左側導覽列,選擇集群服务 > Presto

      2. Presto服務頁面,單擊配置頁簽。

      3. 搜尋參數event-listener.name,刪除參數值中的內容。

  6. 儲存配置。

    1. 單擊右上方的保存

    2. 确认修改對話方塊中,輸入执行原因,開啟自動更新配置

    3. 單擊确定

  7. 重啟服務。

    • Hive服務:

      1. Hive服務頁面,選擇右上方的操作 > 重啟HiveServer2

      2. 執行叢集操作對話方塊,輸入执行原因

      3. 單擊确定

      4. 确认對話方塊中,單擊确定

    • Spark服務:

      1. Spark服務頁面,選擇右上方的操作 > 重啟ThriftServer

      2. 執行叢集操作對話方塊,輸入执行原因

      3. 單擊确定

      4. 确认對話方塊中,單擊确定

    • Presto服務:

      1. Presto服務頁面,選擇右上方的操作 > 重啟All Components

      2. 執行叢集操作對話方塊,輸入执行原因

      3. 單擊确定

      4. 确认對話方塊中,單擊确定