Shell语法

以下是较为常用的shell命令

名称描述语法
help ‘命令名’查看命令的使用描述help ‘命令名’
status返回hbase集群的状态信息status
table_help查看如何操作表table_help
create创建表create ‘表名’, ‘列族名1’, ‘列族名2’…
alter修改列族添加一个列族:alter ‘表名’, ‘列族名’ ; 删除列族:alter ‘表名’, {NAME=> ‘列族名’, METHOD=> ‘delete’}
describe显示表相关的详细信息describe ‘表名’
list列出hbase中存在的所有表list
put添加或修改的表的值put ‘表名’, ‘行键’, ‘列族名’, ‘列值’或put ‘表名’, ‘行键’, ‘列族名:列名’, ‘列值’
scan通过对表的扫描来获取对应的值scan ‘表名’; 扫描某个列族: scan ‘表名’, {COLUMN=>‘列族名’};扫描某个列族的某个列: scan ‘表名’, {COLUMN=>‘列族名:列名’};查询同一个列族的多个列: scan ‘表名’, {COLUMNS => [ ‘列族名1:列名1’, ‘列族名1:列名2’, …]}
get获取行或单元(cell)的值get ‘表名’, ‘行键’; get ‘表名’, ‘行键’, ‘列族名’
delete删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值)删除列族的某个列: delete ‘表名’, ‘行键’, ‘列族名:列名’
deleteall删除指定行的所有元素值deleteall ‘表名’, ‘行键’
drop删除表drop的表必须是disable的; disable ‘表名’; drop ‘表名’

虚拟机操作

进入HBase客户端命令行

[root@master1 ~]# hbase shell

在这里插入图片描述

表的基本操作

help命令
要查看具体的某个命令:help '命名名称'

hbase:001:0> help 'hbase'   or     hbase:001:0> help

在这里插入图片描述
list命令:
查看当前数据库中有哪些表

hbase:003:0> list

在这里插入图片描述
create命令
创建表时只需要指定列族名称,不需要指定列名

语法:create '表名', '列族名1', '列族名2', '列族名3'.....

实例:

hbase:005:0> create 'test_table','a1','a2','a3'

在这里插入图片描述
alter命令:
添加一个列族:

语法:alter '表名', '列族名'

实例:

hbase:006:0> alter 'test_table','a4'

在这里插入图片描述
删除一个列族:

语法:alter '表名', {NAME=> '列族名', METHOD=> 'delete'}

实例:

hbase:007:0> alter 'test_table',{NAME=> 'a2', METHOD=> 'delete'}

在这里插入图片描述
put
插入数据:

语法: put ‘表名’, ‘行键’, ‘列族名’, ‘列值’ 

实例:

hbase:008:0> put 'test_table','1001','a1','1314' 	

在这里插入图片描述

语法: put ‘表名’, ‘行键’, ‘列族名:列名’, ‘列值’

实例:

hbase:010:0> put 'test_table','1002','a3:b1','520'

在这里插入图片描述
更新数据
就是再写一遍覆盖掉之前的

hbase:012:0> put 'test_table','1002','a3:b1','1314'

在这里插入图片描述
删除数据
删除某rowkey的全部数据

语法: deleteall '表名','行键'

实例:

hbase:013:0> deleteall 'test_tabel','1001'

删除某rowkey的某一列数据
语法:delete ‘表名’,‘行键’,‘列族名:列名’
实例:

hbase:013:0> delete 'test_table','1002','a3:b1'

scan命令
获取对应的值

语法:scan '表名'

实例:

hbase:013:0> scan 'test_table'

在这里插入图片描述
扫描某个列族

语法: scan ‘表名’, {COLUMN=>‘列族名’}

实例:

hbase:014:0> scan 'test_table',{COLUMN=>'a3'}

在这里插入图片描述
扫描某个列族的某个列

语法: scan ‘表名’, {COLUMN=>‘列族名:列名’}

实例:

hbase:015:0> scan 'test_table',{COLUMN=>'a3:b1'}

在这里插入图片描述
get命令

语法:get ‘表名’, ‘行键’

实例:

hbase:016:0> get 'test_table','1002'

在这里插入图片描述

语法:get ‘表名’, ‘行键’, ‘列族名’

实例:

hbase:017:0> get 'test_table','1002','a3'

在这里插入图片描述
drop命令
先让该表为disable状态

hbase:018:0> disable 'test_table'

在这里插入图片描述
再drop它

hbase:020:0> drop 'test_table'

在这里插入图片描述
在这里插入图片描述

数据导出/导入

导出

hbase org.apache.hadoop.hbase.mapreduce.Export 表名 数据文件位置 版本 开始时间 结束时间

hbase org.apache.hadoop.hbase.mapreduce.Export data:hydrogen_vehicle_data /hdfs/dataBackup 1 1639929600000 1640015999000

导入

先在hbase中创建一张一样的表

hbase org.apache.hadoop.hbase.mapreduce.Import 创建的表名 要导入数据的路径

hbase org.apache.hadoop.hbase.mapreduce.Import test_table_back /opt/hbase-data-back/test_table_back

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐