JindoTable表或分区的访问冷度收集功能可以为您维护表或分区上次的访问时间,从而筛选出最近没有被访问的数据,帮助您优化数据存储方式,节约成本。例如,在数据分析中,您可以把部分不常用的分区数据移动到成本更低的存储介质以节约成本。
前提条件
已创建EMR-3.35.0及后续版本或EMR-4.9.0及后续版本,创建详情请参见创建集群。
背景信息
SmartData 3.5.x版本开始支持Hive、Spark和Presto组件的冷度收集功能。该功能目前默认不开启,如果需要开启,请参见开启Spark冷度收集、开启Hive冷度收集和开启Presto冷度收集。
说明 因为冷度收集与热度收集使用相同的hooks或Listeners,所以开启组件的冷度收集时会同时打开热度收集功能。表或分区访问热度收集的详情,请参见JindoTable表或分区访问热度收集。
使用限制
- 不支持DLF数据湖元数据。
- Hive CLI、HiveServer2、Spark SQL CLI、Spark Thriftserver和Presto服务所在IP需要有权限访问元数据底层存储(MySQL或RDS)。
- 仅支持Hive、Spark和Presto组件的冷度收集。
数据查询
JindoTable提供了命令方式查询冷度信息。
- 语法
jindo table -leastUseStat -n <num> [-i/-ignoreNever]
num是显示的条目数量,应为正整数。-i/-ignoreNever为可选参数,如果设置该参数,则会过滤掉从未被访问过的表或分区。
- 功能
展示最久未被访问的表或分区。
- 示例:查询最久未被访问的表或分区的20条记录。
jindo table -leastUseStat -n 20
返回如下图所示三列结果。- 第一列为表的名字,格式:数据库名.表名。
- 第二列为分区名字,格式:第一分区列=列值/第二分区列=列值/...,如果表为非分区表则为空。
- 第三列为最近一次访问的时间,格式:yyyy-MM-dd HH:mm:ss。
说明 如果为分区表,则只显示到分区级别,表本身不会单独显示。
JindoTable使用详情,请参见JindoTable使用说明。