实战:大数据冷热分析

实战:大数据冷热分析

实战:大数据冷热分析

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

冷热分析目的和好处

  1. 优化存储资源使用

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

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

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

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

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

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

环境信息

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

在Apache Ranger中,审计日志不仅仅是在触发策略规则时生成的。审计日志记录了大量的活动信息,包括但不限于以下内容:

访问控制事件:当用户或服务尝试访问受保护的资源时,会记录访问尝试的相关信息。如果访问请求符合策略规则,访问将被允许,并且此事件会被记录。如果访问尝试被拒绝,这也会被记录下来,详细信息如用户、资源、操作类型以及原因等都会包含在审计记录中。

策略变更:当管理员创建、修改或删除访问控制策略时,这些事件也会被记录在审计日志中。这有助于追踪安全策略的变更历史,确保合规性和审计需求。

用户活动:一些特定的用户活动,如登录和登出,也可能被记录。这对于监控和审计用户行为非常有用。

系统事件:涉及到Ranger系统本身的活动,如服务启动、停止或重启等,也可能会记录下来,用于系统审计和故障排查。

但是我在客户端执行hive语句,日志并不存在

hive的ranger审计日志

根本搜索不到hdfs_audit_log的表

hiveServer2的ranger日志

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

hdfs的ranger 日志

可以看到他走了hive的ranger策略就不走hdfs的了,根本没有今天的日志,所以也没办法用
但是理论上:
Apache Ranger的审计功能依赖于控制哪个组件的策略被触发。Hive和HDFS有各自的Ranger插件,它们负责监控和管理这些组件的访问控制。一旦具体组件的Ranger策略被触发,相应组件的Ranger插件会记录审计日志。因此,如果某个数据访问触发了Hive的Ranger策略,并不意味着HDFS的Ranger审计就不会记录该事件。审计日志是特定于被触发的策略和资源的。

具体来说:

Hive的Ranger策略:如果一个数据访问请求通过了Hive的Ranger策略,那么这个请求的审计日志会记录在Hive的Ranger审计日志中。这个日志记录包括用户、查询、访问的数据库和表等。

HDFS的Ranger策略:同样地,如果一个数据访问请求触发了HDFS的Ranger策略,那么这个请求的审计日志会记录在HDFS的Ranger审计日志中。这个日志记录包括用户、文件路径、操作类型(如读、写、删除)等。

这些审计日志记录是独立的,但可能存在关联。例如,一个用户通过Hive提交一个查询请求,该查询请求涉及到访问HDFS上的文件,在这种情况下:

Hive的Ranger插件会记录这个查询请求的相关审计日志。
HDFS的Ranger插件会记录对应的文件存取操作的审计日志。
所以,在某些场景下,Hive和HDFS的Ranger审计日志可能都会被记录,并且可以通过这些日志进行关联分析。总之,触发了Hive的Ranger策略,不会阻止HDFS的Ranger策略进行审计,只要访问涉及到HDFS资源并且适用HDFS的Ranger策略。

我这反正是不符合我的预期,大家可以自己试试。
推荐使用hdfs的审计日志

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

这个表我0719建的在也没用过的测试表也有信息,所以需要去掉cmd=getfileinfo

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

版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/74390.html