Hbase操作集锦
一.Hbase架构与理解
Hbase架构大致如下,图片取自https://www.cnblogs.com/linkworld/p/10963910.html。
二.Hbase shell操作
创建Hbase表时默认有一个region,这个region的rowkey是没有边界的,即没有开始的startrowkey和结尾的endrowkey。这样做有一个坏处就是当数据太大,会出现写热点,当一个region装不下时就会split为2个region,拆分会消耗大量IO。所以一般创建表时都会进行预分区,即指定每个region的startrowkey和endrowkey。但当数据量太大时还是会导致region进行split,只是概率稍微少点,不易造成热点。
比如create 'model:hbasetest',{NAME=>'cf'},SPLITS=>['10000','20000','30000']就是在命名空间model下创建了4个region的hbase表。预分区有多种方式,这里就不在赘述。
hbase相关操作如下:
1.统计有多少行
count 'model:hbasetest',INTERVAL => 5000
2.列出所有表名
list_namespace_tables 'model'
3.查看命名空间
list_namespace
4.创建命名空间
create_namespace 'model'
5.获取任意5条数据
scan 'model:hbasetest',{LIMIT=>5}
6.插入数据
put 'model:hbasetest','100','cf:level','6'
7.查询指定key的数据
get 'model:hbasetest','100'
8.删除数据某个key的所有数据
deleteall 'model:hbasetest','100'
9.删除表
disable 'model:hbasetest'
drop 'model:hbasetest'
三.springboot操作hbase
具体代码操作这里就不详述,具体见github:https://github.com/MyCreazy/springboot_opt_hbase.git
四.有用就关注一下码农独白,了解更多技术分享