HBase之BlockCache

目录

  • BlockCache
    • LruBlockCache
    • BucketCache
    • Compressed BlockCache
    • 注意点

BlockCache

用于缓存从hdfs读的数据,有两种不同的实现,LruBlockCache(利用堆内存)和BucketCache(利用非堆内存)

LruBlockCache

使用LRU算法

  • Single access级:首次从hdfs中读取的block位于该层级,后续也会首先考虑驱逐
  • Multi access级:在single access中的block再次被访问则位于该层级,则block将会升级到该层级。
  • In-memory access:如果列族配置了in-memory,则不考虑访问次数,直接处于该层级

处于用户block,还缓存

  • Catalog Tables:即hbase:meta表
  • HFiles Indexes:用于搜索hfile时无须读取整个数据文件。索引的大小受块大小、键大小和数据大小决定
  • Keys:row key, family qualifier, and timestamp
  • Bloom Filters:布隆过滤器

BucketCache

BucketCache是通过CombinedBlockCache来联合管理的:

  • 使用LruBlockCache缓存index和bloom,数据block存储在BucketCache。
  • BucketCache块缓存可以在堆外、文件或mmaped文件模式下。通过hbase.bucketcache.ioengine参数设定。

配置方法

  1. 在hbase-env.sh中先配置堆外内存HBASE_OFFHEAPSIZE(比想要的值大,还有其他使用堆外的地方)
  2. 配置相关参数:缓存模式hbase.bucketcache.ioengine、lru缓存大小hfile.block.cache.size、bucketcache缓存大小hbase.bucketcache.size

Compressed BlockCache

hbase.block.data.cachecompressed设置为true启用。提高吞吐,同时也会提高延迟和gc、cpu使用。

注意点

某些情况下不适合使用blockcache:

  1. 完全随机读模式:数据短时间内不会访问第二次,此时在表上设置块缓存非常浪费。
  2. 大数量的scan,此时可能会导致oom发生
  3. 在一个典型的MapReduce作业中每一行只读取一次,因此不需要将它们放入块缓存。Scan对象可以通过setCacheBlocks方法(将其设置为false)禁用此选项。

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

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

相关文章

腾讯云HAI域AI作画

目录 🐳前言: 🚀了解高性能应用服务 HAI 👻即插即用 轻松上手 👻横向对比 青出于蓝 🐤应用场景-AI作画 🐤应用场景-AI对话 🐤应用场景-算法研发 🚀使用HAI进行…

【链表的说明、方法---顺序表与链表的区别】

文章目录 前言什么是链表链表的结构带头和不带头的区别 链表的实现(方法)遍历链表头插法尾插法任意位置插入一个节点链表中是否包含某个数字删除链表某个节点删除链表中所有关键字key清空链表所有节点 ArrayList 和 LinkedList的区别总结 前言 什么是链…

代码随想录二刷 | 链表 | 删除链表的倒数第N个节点

代码随想录二刷 | 链表 | 删除链表的倒数第N个节点 题目描述解题思路 & 代码实现双指针法 题目描述 19.删除链表的倒数第N个节点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入…

8、信息打点——系统篇端口扫描CDN服务负载均衡WAF

文章目录 获取网络信息获取服务信息获取阻碍信息 获取网络信息 服务器厂商信息(阿里云?腾讯云?) 收集的原因:如果服务器架设在云上,不同厂商的一些配置信息不同。判断方法:直接在ip/域名网站搜相…

整套数字化招采平台安全防御体系

招采平台作为数字化供应链的重要组成部分,需要确保招标采购过程的安全性,主体信息和交易数据信息尤为重要,通过必要的安全架构、技术和安全管理制度,做到事前防范、事中监管和事后审计的安全防御。 一、平台技术安全架构 1、先进的技术架构&#xff0c…

MeterSphere | 在接口自动化场景中,设置全局Token方法

目标 在接口自动化场景中,设置全局Token方法 方法 -- BeanShell 语言 // 导包 import org.json.*;// 创建sign值 String response prev.getResponseDataAsString();JSONObject responseJson new JSONObject(response);String token responseJson.get("bo…

java中stream常用api介绍

stream相关api对于集合操作非常方便,可以通过链式编程完成数据的处理,有时候很复杂的数据处理通过使用stream的相关api可以非常方便的完成,使用lambda表达式更可以简化为一行代码,下面就介绍一下stream的相关api方法,感…

Latex学习

二 实例 1. \Delta_{w}\frac{\partial l}{\partial w_{i1}}weight:\frac{\partial l}{\partial x_{i1}} 效果如下 其中对于希腊字母的大小写来说,可以参考: 【LaTeX 语法】字母表示 ( 大写、小写、异体 希腊字母 | 粗体字母 | 花体字母 )_latex字母_韩…

Centos8部署LNMP架构

LNMP架构 LNMP是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写。L指Linux,N指Nginx,M一般指MySQL,也可以指MariaDB,P一般指PHP,也可以指Perl或Python。 1.Linux是一类Unix计算机操作系统的统称…

09【保姆级】-GO语言的数组和切片

09【保姆级】-GO语言的数组 一、数组1.1 数组定义1.2 数组的使用1.3 数组的遍历1.4 数组的应用案例 二、切片2.1 切片的介绍2.2 切片的原理2.3 切片的三种使用 之前我学过C、Java、Python语言时总结的经验: 先建立整体框架,然后再去抠细节。先Know how&a…

Spring框架学习 -- 创建与使用

目录 (1) 创建spring 项目 ① 创建maven项目 ②添加spring框架支持 ③ 添加启动项 (2) 创建 Bean对象 (3) 将Bean注入到容器 (4) 获取Bean对象 (5) 注意事项 (6) Spring的创建和使用流程图 创作不易多多支持 (1) 创建spring 项目 首先我们使用的开发工具为idea 专业版…

为什么原生IP可以降低Google play账号关联风险?企业号解决8.3/10.3账号关联问题?

在Google paly应用上架的过程中,相信大多数开发者都遇到过开发者账号因为关联问题,导致应用包被拒审和封号的情况。 而众所周知,开发者账号注册或登录的IP地址及设备是造成账号关联的重要因素之一。酷鸟云最新上线的原生IP能有效降低账号因I…

时间序列预测(9) — Informer源码详解与运行

目录 1 源码解析 1.1 文件结构 1.2 mian_informer.py文件 1.3 模型训练 1.4 模型测试 1.5 模型预测 2 Informer模型 2.1 process_one_batch 2.2 Informer函数 2.3 DataEmbedding函数 2.4 ProbAttention稀疏注意力机制 2.5 Encoder编码器函数 2.6 Decoder解码器函数…

PG数据中DBeaver上传csv文件作为数据表

DBeaver 是一个开源的数据库工具,还是蛮好用的,有时候需要我们上传数据做表,数据为CSV格式的,DBeaver本身自带有功能实现的。 可打开连着的数据库,找到模式,点到下面的表里,选择一个表直接导入…

【Linux系统化学习】进程优先级 | 进程饥饿 | 进程切换

个人主页点击直达:小白不是程序媛 Linux专栏:Linux系统化学习 目录 进程优先级 什么是优先级? 为什么会有优先级? 如何做到的? 优先级的动态调整 查看进程优先级的命令 PRI 和 NI PRI VS NI 修改进程优先级 …

关于sh脚本文件

.sh文件是一种脚本文件,主要用于在Unix或Linux系统中运行shell命令。与其他文件格式的主要区别在于,.sh文件可以被操作系统的shell程序(如bash、sh、zsh等)直接执行。这使得.sh文件非常适合用于自动化任务,例如设置环境…

SpringBoot集成jjwt和使用

1.引入jwt依赖&#xff08;这里以jjwt为例&#xff0c;具体其他jwt产品可以参见jwt官网&#xff09; <dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version> </dependency>…

FreeRTOS内存管理分析

目录 heap_1.c内存管理算法 heap_2.c内存管理算法 heap_3.c内存管理算法 heap_4.c内存管理算法 heap_5.c内存管理算法 内存管理对应用程序和操作系统来说非常重要&#xff0c;而内存对于嵌入式系统来说是寸土寸金的资源&#xff0c;FreeRTOS操作系统将内核与内存管理分开实…

Redis:新的3种数据类型Bitmaps、HyperLoglog、Geographic

目录 Bitmaps简介常用命令bitmaps与set比较 HyperLoglog简介命令 Geographic简介命令 Bitmaps 简介 位操作字符串。 现代计算机使用二进制&#xff08;位&#xff09;作为信息的基本单位&#xff0c;1个字节等于8位&#xff0c;例如“abc”字符串是有3个字节组成&#xff0c…

Parallel Diffusion Models of Operator and Image for Blind Inverse Problems

盲逆问题算子和图像的并行扩散模型 论文链接&#xff1a;https://arxiv.org/abs/2211.10656 项目链接&#xff1a;https://github.com/BlindDPS/blind-dps Abstract 在正向算子已知的情况下(即非盲)&#xff0c;基于扩散模型的逆问题求解器已经展示了最先进的性能。然而&…