【HBase】HBase 列族属性配置

本文详细介绍了HBase的列族属性配置,包括版本数量、存活时间、最小版本数、保留删除的单元格、数据块大小、块缓存、激进缓存、压缩、布隆过滤器、数据块编码和复制范围等关键配置。通过理解并优化这些参数,可以提升HBase的性能和数据管理效率。

一、创建表及属性查看

创建一个测试表 test,列族为 cf:

create 'test', {
   
   NAME => 'cf'}

默认属性如下:

hbase > describe 'test'

{
   
   
NAME => 'cf', 
BLOOMFILTER => 'ROW', 
VERSIONS => '1', 
IN_MEMORY => 'false', 
KEEP_DELETED_CELLS => 'FALSE', 
DATA_BLOCK_ENCODING => 'NONE', 
TTL => 'FOREVER', 
COMPRESSION => 'GZ', 
MIN_VERSIONS => '0', 
BLOCKCACHE => 'true',
BLOCKSIZE => '65536', 
REPLICATION_SCOPE => '0'
}   

二、列族属性配置

2.1、版本数量(VERSIONS)

HBase 一切操作均为更新,Hbase Put 操作不会去覆盖一个值,只会在后面追加写,用时间戳(版本号)来区分,HBase 版本维度按递减顺序存储,以便在从存储文件读取时,首先找到最近的值;Hbase Delete 操作也不是真正删除了记录,而是放置了一个墓碑标记,过早的版本会在执行 Major Compaction 时真正删除。

0.96版本默认是3个, 0.98版本之后是1, 要根据业务来划分,版本是历史记录,版本增多意味空间消耗。

插入数据的时候,版本默认是当前时间;查询的时候可以指定要获取的版本个数 get 'test', { COLUMN => 'cf', VERSIONS

### 关于HBase族属IS_AUTH的信息 对于HBase中的族属`IS_AUTH`,官方文档和其他常见资源并未直接提及此特定名称的配置项。然而,在HBase中确实存在多种用于控制访问权限和数据安全的机制。 #### 访问控制表 (ACL) 为了实现细粒度的安全管理,可以利用HBase提供的Access Control Lists (ACLs),这允许管理员设置表级别的读写权限。通过命令行工具或API接口,能够针对不同用户授予或撤销对指定命名空间、表、族乃至单个单元格的操作权利[^1]。 ```bash grant 'username', 'RWXCA', 'table_name' ``` 这里展示的是如何给定用户分配相应权限的例子;其中R表示Read(读取),W代表Write(写入),XC涉及创建/删除区域,A则指代全局管理权能。 #### 安全标签与可见表达式 除了传统的ACL外,HBase还支持基于标签的安全模型——即所谓的Visibility Labels。这种功能使得敏感信息可以根据预定义好的规则被标记,并仅限于具有适当凭证的人查看。虽然这不是严格意义上的`IS_AUTH`参数,但在保护隐私方面起到了重要作用[^2]。 ```java // 设置带有可见标签的数据 Put put = new Put(Bytes.toBytes(rowKey)); put.addImmutable( Bytes.toBytes(family), Bytes.toBytes(columnQualifier), System.currentTimeMillis(), Bytes.toBytes(value), "PRIVATE" ); ``` 上述Java代码片段展示了怎样向一条记录附加私密级别标识符的方法之一。 考虑到以上提到的功能已经涵盖了大部分关于认证授权的需求场景,如果确实遇到了名为`IS_AUTH`的具体选项,则可能是某些定制化部署环境下的专有名词或者是第三方扩展模块的一部分。建议查阅具体项目的说明文件获取更确切解释。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值