HBase笔记整理
标签(空格分隔): HBase
HBase Java api 使用
Scan查询方法
结果:
Put添加数据
结果
Get查询
结果
HBase 表
表的创建(分区,脚本,数据导入)
先创建namespace 在创建表 必须要列簇 ('info')
设置分区插入
每个分区都有startkey 和 endkey
使用shell脚本将数据导入到HBase
表的数据操作(查询,添加)
scan查询 少用,使用必须加上限制条件,不然会检索全表
put插入数据
get查询数据
RowKey的设计原则(结合订单表)
划分Region 需要根据RowKey
所以在设计RowKey的时候,必须要考虑每个分区的数据要平均。尽量避免热点性
并且RowKey设计要满足一下几点
1.不能重复
2.对数据检索的时候,依据RowKey查询最快
3.满足前缀匹配 (范围+条件) 便于查询
4.注意避免热点性(尤其在电商使用用户作为RowKey组合的时候,可将userid 倒置)
例: 订单中查询最近三月的订单信息
先通过用户id 前缀匹配 你的订单,在通过实践条件快速查询
startRowKey: 100000011_20180320
stopRowKey: 100000011_20180620
HBase表数据储存的结构
流程:
1.先到hdfs的预写日志文件WAL(Write Ahead Log)中
2.读取到MemStore 内存空间中
3.最后读写到StoreFile(HFile) 存储在HDFS上
视图: