您可以通过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热度收集
- 登录阿里云E-MapReduce控制台。
- 在顶部菜单栏处,根据实际情况选择地域和资源组。
- 单击上方的集群管理页签。
- 在集群管理页面,单击相应集群所在行的详情。
- 修改Hive的参数值。
- 在左侧导航栏,选择 。
- 在Hive服务页面,单击配置页签。
- 搜索参数hive.exec.post.hooks,在参数值后追加com.aliyun.emr.table.hive.HivePostHook。
- 保存配置。
- 单击右上角的保存。
- 在确认修改对话框中,输入执行原因,开启自动更新配置。
- 单击确定。
- 重启服务。
- 在Hive服务页面,选择右上角的 。
- 在执行集群操作对话框,输入执行原因。
- 单击确定。
- 在确认对话框中,单击确定。