您可以通过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服务页面,选择右上角的。
-
在执行集群操作对话框,输入执行原因。
-
单击确定。
-
在确认对话框中,单击确定。
-
关闭热度收集
-
在顶部菜单栏处,根据实际情况选择地域和资源组。
-
单击上方的集群管理页签。
-
在集群管理页面,单击相应集群所在行的详情。
-
修改参数值。
-
Hive服务:
-
在左侧导航栏,选择。
-
在Hive服务页面,单击配置页签。
-
搜索参数hive.exec.post.hooks,删除参数值中的com.aliyun.emr.table.hive.HivePostHook。在 配置搜索 中输入
hive.exec.post.hooks并单击搜索按钮,在 hive-site 中找到该配置项,其值包含com.aliyun.emr.table.hive.HivePostHook。
-
-
Spark服务:
-
在左侧导航栏,选择。
-
在Spark服务页面,单击配置页签。
-
搜索参数spark.sql.queryExecutionListeners,删除参数值中的com.aliyun.emr.table.spark.SparkSQLQueryListener。在配置搜索中搜索
spark.sql.queryExecutionListeners,在 spark-defaults 中找到该配置项,其当前值为com.aliyun.emr.table.spark.SparkSQLQueryListener。
-
-
Presto服务:
-
在左侧导航栏,选择。
-
在Presto服务页面,单击配置页签。
-
搜索参数event-listener.name,删除参数值中的内容。
-
-
-
保存配置。
-
单击右上角的保存。
-
在确认修改对话框中,输入执行原因,开启自动更新配置。
-
单击确定。
-
-
重启服务。
-
Hive服务:
-
在Hive服务页面,选择右上角的。
-
在执行集群操作对话框,输入执行原因。
-
单击确定。
-
在确认对话框中,单击确定。
-
-
Spark服务:
-
在Spark服务页面,选择右上角的。
-
在执行集群操作对话框,输入执行原因。
-
单击确定。
-
在确认对话框中,单击确定。
-
-
Presto服务:
-
在Presto服务页面,选择右上角的。
-
在执行集群操作对话框,输入执行原因。
-
单击确定。
-
在确认对话框中,单击确定。
-
-