全部产品
Search
文档中心

开源大数据平台E-MapReduce:JindoTable表或分区访问热度收集

更新时间:May 18, 2026

您可以通过JindoTable表或分区的访问热度收集功能来区分冷热数据,从而节约整体的存储成本,提高缓存利用效率。

前提条件

已创建集群,详情请参见创建集群

背景信息

JindoTable支持收集访问Hive表的记录,收集的数据保存在SmartData服务的Namespace中。

SmartData 3.2.x版本开始支持Spark、Hive和Presto引擎,Spark和Presto的数据收集默认是打开的,如果需要关闭,请参见关闭热度收集。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. 确认对话框中,单击确定