实战:大数据冷热分析

实战:大数据冷热分析

冷热分析(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目录,提高数据的准确性

相关推荐
R²AIN SUITE8 分钟前
金融合规革命:R²AIN SUITE 如何重塑银行业务智能
大数据·人工智能
搬砖的小码农_Sky1 小时前
FPGA:Xilinx Kintex 7实现DDR3 SDRAM读写
fpga开发·硬件架构·硬件工程
绿算技术1 小时前
“强强联手,智启未来”凯创未来与绿算技术共筑高端智能家居及智能照明领域新生态
大数据·人工智能·智能家居
只因只因爆2 小时前
spark的缓存
大数据·缓存·spark
Leo.yuan3 小时前
3D 数据可视化系统是什么?具体应用在哪方面?
大数据·数据库·3d·信息可视化·数据分析
只因只因爆4 小时前
spark小任务
大数据·分布式·spark
cainiao0806054 小时前
Java 大视界——Java 大数据在智慧交通智能停车诱导系统中的数据融合与实时更新
java·大数据·开发语言
End9287 小时前
Spark之搭建Yarn模式
大数据·分布式·spark
我爱写代码?7 小时前
Spark 集群配置、启动与监控指南
大数据·开发语言·jvm·spark·mapreduce
TDengine (老段)7 小时前
什么是物联网 IoT 平台?
大数据·数据库·物联网·时序数据库·tdengine·涛思数据