hbase操作学习

1.namespace

  1. list_namespace 展示数据库
  2. create_namespace

    可以带属性名 属性值
cpp 复制代码
create_namespace 'mydb',{'author'=>'hjp','ctime'=>'2023-10-18'}
  1. describe_namespace '库名'

    查看库的详细信息

  2. alter_namespace '库名'

    修改表的详细信息

    删除就是把method设置为unset

  3. drop_namespace '库名'

    删除只能删空的,如果不空就得先删数据,

2.ddl

1.创建表
cpp 复制代码
 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

相关推荐
Python私教2 小时前
model中能定义字段声明不存储到数据库吗
数据库·oracle
Red Red4 小时前
网安基础知识|IDS入侵检测系统|IPS入侵防御系统|堡垒机|VPN|EDR|CC防御|云安全-VDC/VPC|安全服务
网络·笔记·学习·安全·web安全
BestandW1shEs4 小时前
谈谈Mysql的常见基础问题
数据库·mysql
重生之Java开发工程师4 小时前
MySQL中的CAST类型转换函数
数据库·sql·mysql
教练、我想打篮球5 小时前
66 mysql 的 表自增长锁
数据库·mysql
Ljw...5 小时前
表的操作(MySQL)
数据库·mysql·表的操作
哥谭居民00015 小时前
MySQL的权限管理机制--授权表
数据库
wqq_9922502775 小时前
ssm旅游推荐系统的设计与开发
数据库·旅游
难以触及的高度5 小时前
mysql中between and怎么用
数据库·mysql