HBase学习(二) HBase的shell操作
目录Shell语法虚拟机操作表的基本操作Shell语法以下是较为常用的shell命令名称描述语法help ‘命令名’查看命令的使用描述help ‘命令名’status返回hbase集群的状态信息statustable_help查看如何操作表table_helpcreate创建表create ‘表名’, ‘列族名1’, ‘列族名2’…alter修改列族添加一个列族:alter ‘表名’, ‘列族名’
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
更多推荐
所有评论(0)