是否可以在hbase中仅对表/列族授予“仅插入”权限?我查看了apache上的hbase文档,但没有发现任何相关内容,当前acl具有“写入”权限,其中包括“插入+更新”。我们可以只做“只插入”吗?
ej83mcc01#
不,从技术Angular 看是不可能的。要首先仅具有insert权限,您需要从hbase读取数据,以检查该数据是否已存在于表中。然而,为了提供出色的写入速度,hbase不像传统sql数据库那样在写入之前读取数据。hbase首先将更新的数据放入memstore,然后将其刷新到新hfile中的hdfs。旧的hfile计数以前版本的数据是设计不变的,不能直接更新。要读取数据,hbase将在hfile和memstore中查找该数据,并选择最新版本。注意,压缩后,这两个文件将被合并,只有最新版本将保留在存储中。
1条答案
按热度按时间ej83mcc01#
不,从技术Angular 看是不可能的。
要首先仅具有insert权限,您需要从hbase读取数据,以检查该数据是否已存在于表中。然而,为了提供出色的写入速度,hbase不像传统sql数据库那样在写入之前读取数据。hbase首先将更新的数据放入memstore,然后将其刷新到新hfile中的hdfs。旧的hfile计数以前版本的数据是设计不变的,不能直接更新。要读取数据,hbase将在hfile和memstore中查找该数据,并选择最新版本。
注意,压缩后,这两个文件将被合并,只有最新版本将保留在存储中。