hive为什么不能用ranger审计日志做冷热分析,那该怎么做?
冷热分析(Hot and Cold Data Analysis)的目的主要在于优化存储系统的性能和成本。通过识别并区分访问频率和存储需求不同的数据,可以采取适当的存储策略,进而提高系统的效率和用户体验。终极目的就是使用较少磁盘,从而达到降本的目的。
冷热分析目的和好处
-
优化存储资源使用
- 热数据(Hot Data) :指访问频率高的活跃数据。热数据通常需要存储在高性能存储介质(如内存、SSD)上,以满足快速访问需求。
- 冷数据(Cold Data) :指访问频率低或不再被频繁访问的历史数据或归档数据。冷数据可以存储在低成本的存储介质(如硬盘、磁带)上,节约存储成本。
-
提高系统性能
- 通过将热数据存储在高性能存储介质上,可以显著减少数据访问时间,提高系统响应速度和整体性能。
-
节约存储成本
- 将冷数据移动到较低成本的存储介质上,可以大幅降低存储成本,而不影响系统的性能。
-
数据生命周期管理
- 通过冷热分析,可以实现数据的生命周期管理(DLM)。根据数据的访问频率和重要性,将其在不同的生命周期阶段存储在合适的介质上。
-
提高存储系统的扩展性
- 通过冷热数据分层存储,可以更有效地管理和扩展存储系统,避免一味增加高性能存储设备的成本。
-
数据缓冲区优化
- 通过冷热分析,可以更合理地配置数据缓冲区,提供热数据缓存和预取机制,进一步提高系统整体性能。
环境信息
| Service | Version | Status | Description |
|---|---|---|---|
| HDFS | 3.1.1 | Installed | Apache Hadoop Distributed File System |
| YARN | 3.1.1 | Installed | Apache Hadoop NextGen MapReduce (YARN) |
| MapReduce2 | 3.1.1 | Installed | Apache Hadoop NextGen MapReduce (YARN) |
| Tez | 0.9.1 | Installed | Tez is the next generation Hadoop Query Processing framework written on top of YARN. |
| Hive | 3.1.0 | Installed | Data warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service |
| Ranger | 1.2.0 | Installed | Comprehensive security for Hadoop |
为什么不能用ranger审计日志做冷热分析
ranger审计日志是在触发策略规则时才有 我在客户端执行hive语句
hive的ranger审计日志
根本搜索不到hdfs_audit_log的表
那hiveServer2的ranger日志呢?
hiveServer2的ranger日志
可以找到hdfs_audit_log的日志,但是没有分区,我的hdfs_audit_log是一个按日分区的表,他操作了哪些分区并不能显示出来,就是后页面,我不常用的分区需要做归档操作的时候,我没法判断,我的目的不符
那hdfs的ranger 日志是佛有记录呢?
hdfs的ranger 日志
可以看到他走了hive的ranger策略就不走hdfs的了,根本没有今天的日志,所以也没办法用
怎么做?用什么日志
方案1
最好有一个统一接口,所有的操作走这个接口,记录操作日志,使用这个操作日志,这个有一个前提是要保证所有操作都走这个接口。 缺点:管理困难
方案2
使用hdfs的审计日志
可以看到分区了
但是还是有问题。cmd=getfileinfo此操作在hdfs检查是也会用到,执行show tabsles等语句也会用,而实际我跟们没有用到,导致数据不准确,不能判断数据的真实使用情况
所以数据需要清洗排除cmd=getfileinfo此操作,和没有特殊标记的/tmp目录,提高数据的准确性
这个表我0719建的在也没用过的测试表也有信息,所以需要去掉cmd=getfileinfo
缺点:虽然去掉了cmd=getfileinfo一样不能保证准确性100%