返回

Hbase shell基础操作

发布时间:2023-09-12 05:51:25 188


一、数据定义命令【表级别的操作、数据库级别的操作】
1.输入以下命令进入hbase控制台:

hbase shell

2.查看所有的表:

list

3.create创建表:

create 'TestLab',{NAME=>'lUE’},VERSIONS=>3},{NAME=>'lab2',BLOCKCACHE=>'true'}
或者 create 'TestLab',’lab’,’lab2’
其中 TestLab是表名,lab与lab2是列族名。

4.describe描述表: 会列出一些表的详细信息

describe 'TestLab'

5.alter命令更改表结构:可以完成更改列族参数信息、增加列族、删除列族以及更改表的相关设置等操作:

修改列族的参数信息:
例如修改列族lab的版本。

alter 'TestLab',{NAME=>'lab',VERSIONS=>3}}

增加一个列族lab3:

alter 'Testlab','lab3'

移除或者删除已有的列族lab3(前提条件是HBase表的列族数>= 2):

alter 'TestLab',{NAME=>'lab3',METHOD=>'delete'}

6.删除表:
删除表之前需要先禁用表、再进行删除。
如果禁用表之后,想启用表可以使用enable启用表。

disable ‘TestLab’
drop ‘TestLab’

二、数据操作命令:
1.put命令:添加一个值(或者说一条记录)到指定单元格中:
个人对put命令的理解:先用表明定位到表,然后根据行键定位到行,然后先定位列族再定位列名(字段名),这就与前面的行键构成了一个二维坐标,就可以定位到具体的单元格,然后倒数第二个参数给定位到的单元格赋值,最后一个参数是时间戳可写可不写,不写的话默认当前系统时间。

put 'TestLab','001','lab1:name','chenruhai',1

2.get通过表名、行键等参数获取行或单元格数据:语法是 get 表名,行键,{条件}

get 'TestLab','001'

带条件:

get 'TestLab','001',{COLUMN=>'lab1',VERSIONS=>2}

3.scan遍历表并输出满足指定条件的行记录:语法与get类似

scan ‘表名’  表示查询全表
scan ‘表名’,{条件}  表示条件查找,{COLUMN=>’lab’}
表示查询列族lab,在’lab’中按照规则(列族:列名)加入列名即查看指定列;

指定输出行数:

scan ‘TestLab’,{LIMIT=>2}

指定输出范围:

scan ‘TestLab’,{STARTROW=>’001’,ENDROW=>’003’}

4.count计算表中的逻辑行数:

count 'TestLab'

5.delete删除表中列族或列的数据:
从表中删除一个单元格或者一个行集,语法与put类似。

delete ‘TestLab’,’001’,’lab1’

根据时间戳删除:

delete ‘TestLab’,’001’,’lab1:name’,2  表示删除时间戳小于2的001行键的lab1下的name数据。

删除所有列族在某一行的数据:

deleteall ‘TestLab’,’001’


特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
成功导入个人solo博客数据! 2023-09-12 03:13:01