数据模型:
- 命名空间:
类似于 DatabBase 概念,有多个表。 HBase两个自带的命名空间: hbase(内置的表) default(用户默认使用的命名空间) - region
类似于表的概念,定义时只需声明时列族 - row 行
由行键(一个)和列(多个)组成,数据是按照行键字典顺序存储的。 - column 列
- time stamp 时间戳
- cell 单元格
字节码形式
DDL
namespace
- 创建 create_namespace ‘xx’
- 查看 describe_namespace ‘xx’
- 列出所有命名空间 list_namespace
- 删除 drop_namespace ‘xx’
创建表(没有指明namespace就是在default下创建)
-
create ‘xx:t1’,{NAME=>‘f1’,VERSION=>5} 创建表t1并指明命名空间xx {NAME} f1指的是列族 VERSION 表示版本数 -
多个列族f1、f2、f3 create ‘t2’,{NAME=>‘f1’},{NAME=>‘f2’},{NAME=>‘f3’} -
多个列族f1、f2、f3 create ‘t3’,‘f1’,‘f2’,‘f3’
删除列族(先禁用)
- disable ‘t1’
alter ‘t1’,NAME=>‘f1’,METHOD=>‘delete’ enable ‘t1’ is_enabled’t1’(查看使用状态) - dec ‘t1’ 查看表结构
删除表(先禁用)
- disable ‘t2’
drop ‘t2’ exists ‘t2’(查看表是否存在)
DML
使用put添加数据
- 表+rowkey+列族:列+values
put ‘stu’,‘2021_926’,‘info:name’,‘haha’
查询数据
- get ‘stu’,‘2021_926’ 查询表中rowkey为的数据
- get ‘stu’,‘2021_926’,‘info’ 查询表中rowkey为,列族为info的数据
- get ‘stu’,‘2021_926’,‘info:name’ 查询表中rowkey为,列族为info,列为name的数据
扫描全表数据 scan ’stu’
扫描筛选信息 scan ‘stu’,{COLUMNS=[‘info:name’,‘info:age’],LIMIT=>10,STARTROW=>‘XXXX’,STOPROW=>‘XXXX’ } LIMIT:10行数据,查询条数 STARTROW开始行号 STOPROW结束行号
删除数据 delete delete all删除整行
截断表truncate 清空整张表
|