大数据冷热数据分析:hive为什么不能用ranger审计日志做冷热分析,那该怎么做?

256 阅读3分钟

hive为什么不能用ranger审计日志做冷热分析,那该怎么做?

冷热分析(Hot and Cold Data Analysis)的目的主要在于优化存储系统的性能和成本。通过识别并区分访问频率和存储需求不同的数据,可以采取适当的存储策略,进而提高系统的效率和用户体验。终极目的就是使用较少磁盘,从而达到降本的目的。

冷热分析目的和好处

  1. 优化存储资源使用

    • 热数据(Hot Data) :指访问频率高的活跃数据。热数据通常需要存储在高性能存储介质(如内存、SSD)上,以满足快速访问需求。
    • 冷数据(Cold Data) :指访问频率低或不再被频繁访问的历史数据或归档数据。冷数据可以存储在低成本的存储介质(如硬盘、磁带)上,节约存储成本。
  2. 提高系统性能

    • 通过将热数据存储在高性能存储介质上,可以显著减少数据访问时间,提高系统响应速度和整体性能。
  3. 节约存储成本

    • 将冷数据移动到较低成本的存储介质上,可以大幅降低存储成本,而不影响系统的性能。
  4. 数据生命周期管理

    • 通过冷热分析,可以实现数据的生命周期管理(DLM)。根据数据的访问频率和重要性,将其在不同的生命周期阶段存储在合适的介质上。
  5. 提高存储系统的扩展性

    • 通过冷热数据分层存储,可以更有效地管理和扩展存储系统,避免一味增加高性能存储设备的成本。
  6. 数据缓冲区优化

    • 通过冷热分析,可以更合理地配置数据缓冲区,提供热数据缓存和预取机制,进一步提高系统整体性能。

环境信息

ServiceVersionStatusDescription
HDFS3.1.1InstalledApache Hadoop Distributed File System
YARN3.1.1InstalledApache Hadoop NextGen MapReduce (YARN)
MapReduce23.1.1InstalledApache Hadoop NextGen MapReduce (YARN)
Tez0.9.1InstalledTez is the next generation Hadoop Query Processing framework written on top of YARN.
Hive3.1.0InstalledData warehouse system for ad-hoc queries & analysis of large datasets and table & storage management service
Ranger1.2.0InstalledComprehensive security for Hadoop

为什么不能用ranger审计日志做冷热分析

ranger审计日志是在触发策略规则时才有 我在客户端执行hive语句

image.png

hive的ranger审计日志

1721895312310.jpg 根本搜索不到hdfs_audit_log的表 那hiveServer2的ranger日志呢?

hiveServer2的ranger日志

1721895312332.jpg 可以找到hdfs_audit_log的日志,但是没有分区,我的hdfs_audit_log是一个按日分区的表,他操作了哪些分区并不能显示出来,就是后页面,我不常用的分区需要做归档操作的时候,我没法判断,我的目的不符 那hdfs的ranger 日志是佛有记录呢?

hdfs的ranger 日志

1721895312342.jpg 可以看到他走了hive的ranger策略就不走hdfs的了,根本没有今天的日志,所以也没办法用

怎么做?用什么日志

方案1

最好有一个统一接口,所有的操作走这个接口,记录操作日志,使用这个操作日志,这个有一个前提是要保证所有操作都走这个接口。 缺点:管理困难

方案2

使用hdfs的审计日志

1721897196890.jpg 可以看到分区了 但是还是有问题。cmd=getfileinfo此操作在hdfs检查是也会用到,执行show tabsles等语句也会用,而实际我跟们没有用到,导致数据不准确,不能判断数据的真实使用情况

image.png

所以数据需要清洗排除cmd=getfileinfo此操作,和没有特殊标记的/tmp目录,提高数据的准确性

image.png 这个表我0719建的在也没用过的测试表也有信息,所以需要去掉cmd=getfileinfo 缺点:虽然去掉了cmd=getfileinfo一样不能保证准确性100%