实战:大数据冷热分析

在这里插入图片描述

实战:大数据冷热分析

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/883499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javaScript整数反转

function _reverse(number) { // 补全代码 return (number ).split().reverse().join(); } number :首先,将数字 number 转换为字符串。在 JavaScript 中,当你将一个数字与一个字符串相加时,JavaScript 会自动将数字转换为字符串…

PyTorch中如何进行向量微分、矩阵微分、计算雅各比行列式

文章目录 摘要Abstract 一、计算雅各比行列式二、向量微分三、矩阵微分总结 摘要 本文介绍了在PyTorch中进行向量微分、矩阵微分以及计算雅各比行列式的方法。通过对自动微分(Autograd)功能的讲解,展示了如何轻松实现复杂的数学运算&#xf…

代码编辑组件

代码编辑组件 文章说明核心代码运行演示源码下载 文章说明 拖了很久,总算是自己写了一个简单的代码编辑组件,虽然还有不少的bug,真的很难写,在写的过程中感觉自己的前端技术根本不够用,好像总是方案不够好;…

Flux 开源替代,他来了——Liberflux

LibreFLUX 是 FLUX.1-schnell 的 Apache 2.0 版本,它提供完整的 T5 上下文长度,使用注意力屏蔽,恢复了无分类器引导,并完全删除了 FLUX 美学微调/DPO 的大部分内容。 这意味着它比基本通量要难看得多,但它有可能更容易…

数据结构与算法汇总整理篇——数组与字符串双指针与滑动窗口的联系学习及框架思考

数组 数组精髓:循环不变量原则 数组是存放在连续内存空间上的相同类型数据的集合,通过索引(下标)访问元素,索引从0开始 随机访问快(O(1)时间复杂度);插入删除慢(需要移动元素);长度固定(部分语言中可动态调整) 其存…

解决电脑突然没有声音

问题描述:电脑突然没有声音了,最近没有怎么动过系统,没有安装或者卸载过什么软件,也没有安装或者卸载过驱动程序,怎么就没有声音了呢? 问题分析:仔细观察,虽然音量按钮那边看不到什…

索引的使用以及使用索引优化sql

索引就是一种快速查询和检索数据的数据结构,mysql中的索引结构有:B树和Hash。 索引的作用就相当于目录的作用,我么只需先去目录里面查找字的位置,然后回家诶翻到那一页就行了,这样查找非常快, 一、索引的使…

[Linux网络编程]06-I/O多路复用策略---select,poll分析解释,优缺点,实现IO多路复用服务器

一.I/O多路复用 I/O多路复用是一种用于提高系统性能的 I/O 处理机制。 它允许一个进程(或线程)同时监视多个文件描述符(可以是套接字、管道、终端设备等),等待这些文件描述符中出现读、写或异常状态。一旦有满足条件的…

ts:类的创建(class)

ts:类的创建(class) 一、主要内容说明二、例子class类的创建1.源码1 (class类的创建)2.源码1的运行效果 三、结语四、定位日期 一、主要内容说明 class创建类里主要有三部分组成,变量的声明,构…

ts:数组的常用方法(filter)

ts:数组的常用方法(filter) 一、主要内容说明二、例子filter方法(过滤)1.源码1 (push方法)2.源码1运行效果 三、结语四、定位日期 一、主要内容说明 ts中数组的filter方法,是筛选数…

【STM32】单片机ADC原理详解及应用编程

本篇文章主要详细讲述单片机的ADC原理和编程应用,希望我的分享对你有所帮助! 目录 一、STM32ADC概述 1、ADC(Analog-to-Digital Converter,模数转换器) 2、STM32工作原理 二、STM32ADC编程实战 (一&am…

C++STL之stack

1.stack的使用 函数说明 接口说明 stack() 构造空的栈 empty() 检测 stack 是否为空 size() 返回 stack 中元素的个数 top() 返回栈顶元素的引用 push() 将元素 val 压入 stack 中 pop() 将 stack 中尾部的元素弹出 2.stack的模拟实现 #include<vector> namespace abc { …

LeetCode 热题 100之普通数组

1.最大子数组和 思路分析&#xff1a;这个问题可以通过动态规划来解决&#xff0c;我们可以使用Kadane’s Algorithm&#xff08;卡登算法&#xff09;来找到具有最大和的连续子数组。 Kadane’s Algorithm 的核心思想是利用一个变量存储当前的累加和 currentSum&#xff0c;并…

MATLAB生物细胞瞬态滞后随机建模定量分析

&#x1f3af;要点 基于随机动态行为受化学主方程控制&#xff0c;定量分析单细胞瞬态效应。确定性常微分方程描述双稳态和滞后现象。通过随机性偏微分方程描述出暂时性滞后会逐渐达到平稳状态&#xff0c;并利用熵方法或截断方法计算平衡收敛速度的估计值。随机定量分析模型使…

python查询并安装项目所依赖的所有包

引言 如果需要进行代码的移植&#xff0c;肯定少不了在另一台pc或者服务器上进行环境的搭建&#xff0c;那么首先是要知道在已有的工程的代码中用到了哪些包&#xff0c;此时&#xff0c;如果是用人工去一个一个的代码文件中去查看调用了哪些包&#xff0c;这个工作甚是繁琐。…

C++《vector的模拟实现》

在之前《vector》章节当中我们学习了STL当中的vector基本的使用方法&#xff0c;了解了vector当中各个函数该如何使用&#xff0c;在学习当中我们发现了vector许多函数的使用是和我们之前学习过的string类的&#xff0c;但同时也发现vector当中一些函数以及接口是和string不同的…

H5实现PDF文件预览,使用pdf.js-dist进行加载

H5实现PDF文件预览&#xff0c;使用pdf.js-dist进行加载 一、应用场景 在H5平台上预览PDF文件是在原本已经开发完成的系统中新提出的需求&#xff0c;原来的系统业务部门是在PC端进行PDF的预览与展示&#xff0c;但是现在设备进行了切换&#xff0c;改成了安卓一体机进行文件…

基于neo4j的课程资源生成性知识图谱

你是不是还在为毕业设计苦恼&#xff1f;又或者想在课堂中进行知识的高效管理&#xff1f;今天给大家分享一个你一定会感兴趣的技术项目——基于Neo4j的课程资源生成性知识图谱&#xff01;&#x1f4a1; 这套系统通过知识图谱的形式&#xff0c;将课程资源、知识点和学习路径…

前端页面样式没效果?没应用上?

当我们在开发项目时会有很多个页面、相同的标签&#xff0c;也有可能有相同的class值。样式设置的多了&#xff0c;分不清哪个是当前应用的。我们可以使用网页的开发者工具。 在我们开发的网页中按下f12或&#xff1a; 在打开的工具中我们可以使用元素选择器&#xff0c;单击我…

渗透测试-百日筑基—SQL注入篇时间注入绕过HTTP数据编码绕过—下

day8-渗透测试sql注入篇&时间注入&绕过&HTTP数据编码绕过 一、时间注入 SQL注入时间注入&#xff08;也称为延时注入&#xff09;是SQL注入攻击的一种特殊形式&#xff0c;它属于盲注&#xff08;Blind SQL Injection&#xff09;的一种。在盲注中&#xff0c;攻击…