1.namespace
- list_namespace 展示数据库
- create_namespace
可以带属性名 属性值
create_namespace 'mydb',{'author'=>'hjp','ctime'=>'2023-10-18'}
-
describe_namespace ‘库名’
查看库的详细信息
-
alter_namespace ‘库名’
修改表的详细信息
删除就是把method设置为unset -
drop_namespace ‘库名’
删除只能删空的,如果不空就得先删数据,
2.ddl
1.创建表
create 'bigdata:student',{NAME=>'info'},{NAME=>'msg'}
注意格式
create ‘库名:表名’,{族名,属性}
库名可以省略,省略就是到默认库创建
如果没有别的属性,只有列族,可以不写NAME
create ‘bigdata:student’,‘info’,‘msg’
2.list destribe desc
查看表
这两个都行,一个查的是表,一个查的是表的详细信息
但是destribe查询表需要带库名,如果不带,查的就是默认的库
3.alter
修改表
添加列族
alter ‘student1’,‘f3’
和创建一个用法
4.drop
删除表
每个表都有状态,enabled是可用,而如果要删除,先将他修改为不可用状态然后再进行删除
disable 表
drop 表
在这里插入图片描述
5.exists
检测表是否存在
6. list_regions
查看表的regions
存的是start_key和end_key ,这里和分区分桶不同,分区分桶是哈希,而这个是切分
3. dml
1.put
添加数据和列(列不是列族)
注意,这里的添加指的是加进去一个新版本,而查询每次查询的都是最新版本,但是原来的版本是否保存是由表和族的VERSIONS决定,
put 表名,行key,列族:列名,''
![在这里插入图片描述](https://img-blog.csdnimg.cn/a3575c99c8334d879ca0b81766ad7015.png)
2.get
查询单条数据
get 表名,行key
这样查询的是整个表的全部列
也可以单独查询列
get 表名,行key, 族:列![在这里插入图片描述](https://img-blog.csdnimg.cn/819b8ed80adf46cdbb989d841d03b750.png)
3.scan
扫描
可以查全表,但是一般来说没必要,大数据环境下,数据量太大,检索太耗资源(时间 性能 )
按照key的范围查
默认范围左闭右开。
注意,key的排序是字典序
hbase:025:0> scan ‘bigdata:student’,{STARTROW => ‘1001’,STOPROW => ‘1002’}
也可以同时查询多个版本
scan ‘stu’,{RAW=>true,VERSIONS=>3}
4.delete 和deleteall
delete ‘stu’,‘1001’,‘f1:name’ 删除最新的
deleteall ‘stu’,‘1001’,‘f1:name’ 这一条的全部版本的列都删除
4.JAVA
1. ddl
admin
通过admin进行对表结构的操作
2.dml
tablename