Hbase 删除 -- 墓碑标记 [ type=DeleteColumn ]

一 、 Hbase 删除

1.新建一张表

2. 插入数据,并查看 ,注意name2的时间戳值更大

3.此时删除name2 时间戳大的那个

a.scan 无数据

b.打上了type=DeleteColumn 的标识

4. flush 只是删除在内存 memstore 中的数据

此时 进行flush操作,会删除所有还在内存中的值,但是删除标记不会被删除

5.只有执行major_compact 时,才会真正去删除数据 与删除"删除标记"

 

 

二、Hbase get

rowkey 使用 单引号不行,需要使用双引号

同样的值,当rowkey使用 单引号时就不行查不到数据了 

三 一种快速查询的方法

背景:

在入库的时候对rowkey进行了Hash操作,得到了二进制。Hbase中用16进制表示2进制。

 

16进制0x开头,16进制表示2进制去拼接rowky是可以去Hbase里 查看滴,但是二进制由于获取不到,是不可以打印滴 !

 

为了通过给定的一个串,去Hbase中查询结果,那么通过一种方法就可以达到查询的目的。之后不用专门去写代码去一步一步搞了... ...

a. 拼接得到哈希串


        // 拼接得到哈希串
        String s="018ef624a1e72c393e8df54c078d2d461fcc43336f6ce4cde5a9874ae15af079";
        int strs=s.toUpperCase().hashCode() & 0x7FFF ;
        System.out.println((short)strs);  //21621

b. 然后将10进制21621得到16进制 得到:5475   --> \x54\x75,

c. 拼接得到rowkey 查询 \x54\x75

\x54\x75018EF624A1E72C393E8DF54C078D2D461FCC43336F6CE4CDE5A9874AE15AF079

 

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页