start-hbase.sh
,2. **停止 HBase**: stop-hbase.sh
,3. **创建表**: create 'table_name', 'column_family'
,4. **列出所有表**: list
,5. **查看表结构**: describe 'table_name'
,6. **插入数据**: put 'table_name', 'row_key', 'column_family:column', 'value'
,7. **获取数据**: get 'table_name', 'row_key'
,8. **扫描表**: scan 'table_name'
,9. **删除表**: disable 'table_name'
和 drop 'table_name'
,,这些命令可以帮助你管理和操作 HBase 数据库。HBase Shell 命令详解
HBase是一个高可靠性、高性能、面向列的分布式数据库,本文将详细介绍HBase Shell中常用的命令,包括表操作和数据操作命令,并通过表格形式展示相关命令及其功能。
基本命令
1、启动HBase Shell:
hbase shell
2、查看帮助信息:
help
3、查看HBase版本信息:
version
4、查看HBase集群状态:
status
5、列出所有表:
list
表操作命令
创建表
1、创建单列表:
create 'table_name', 'column_family'
示例:
create 'student', 'info'
2、创建多列族表:
create 'table_name', {NAME => 'column_family1'}, {NAME => 'column_family2'}
示例:
create 'student', {NAME => 'personal_info'}, {NAME => 'academic_info'}
修改表结构
1、添加列族:
alter 'table_name', 'add' => {NAME => 'new_column_family'}
示例:
alter 'student', 'add' => {NAME => 'contact_info'}
2、删除列族:
alter 'table_name', 'delete' => {NAME => 'column_family'}
示例:
alter 'student', 'delete' => {NAME => 'contact_info'}
启用与禁用表
1、启用表:
enable 'table_name'
示例:
enable 'student'
2、禁用表:
disable 'table_name'
示例:
disable 'student'
查看表结构与状态
1、查看表结构:
describe 'table_name'
示例:
describe 'student'
2、查看表是否启用:
is_enabled 'table_name'
示例:
is_enabled 'student'
3、查看表是否禁用:
is_disabled 'table_name'
示例:
is_disabled 'student'
删除表
1、删除表:
drop 'table_name'
示例:
drop 'student'
数据操作命令
插入数据
1、插入单个值:
put 'table_name', 'row_key', 'column_family:column', 'value'
示例:
put 'student', '001', 'personal_info:name', 'Alice'
2、批量插入数据:
put 'table_name', 'row_key', {COLUMN => [{FAMILY => 'column_family', QUALIFIER => 'column', VALUE => 'value'}]}
示例:
put 'student', '001', {COLUMN => [{FAMILY => 'personal_info', QUALIFIER => 'name', VALUE => 'Alice'}, {FAMILY => 'academic_info', QUALIFIER => 'major', VALUE => 'Computer Science'}]}
获取数据
1、获取单行数据:
get 'table_name', 'row_key'
示例:
get 'student', '001'
2、获取指定列的数据:
get 'table_name', 'row_key', 'column_family:column'
示例:
get 'student', '001', 'personal_info:name'
删除数据
1、删除单个数据:
delete 'table_name', 'row_key', 'column_family:column'
示例:
delete 'student', '001', 'personal_info:name'
2、删除整行数据:
deleteall 'table_name', 'row_key'
示例:
deleteall 'student', '001'
扫描数据
1、扫描全表:
scan 'table_name'
示例:
scan 'student'
2、带过滤条件的扫描:
scan 'table_name', {FILTER => "Filter(=, 'binary:rowkey值')"}
示例:
scan 'student', {FILTER => "RowFilter(=, 'binary:001')"}
常见问题解答(FAQs)
Q1:如何查看HBase集群的状态?
A1:使用status
命令可以查看HBase集群的状态。
status
Q2:如何创建一个带有多个列族的表?
A2:可以使用create
命令并指定多个列族。
create 'student', {NAME => 'personal_info'}, {NAME => 'academic_info'}
Q3:如何在表中插入数据?
A3:使用put
命令可以插入数据。
put 'student', '001', 'personal_info:name', 'Alice'
Q4:如何删除表中的一个列族?
A4:使用alter
命令可以删除列族。
alter 'student', 'delete' => {NAME => 'contact_info'}
Q5:如何扫描表中的数据?
A5:使用scan
命令可以扫描表中的数据。
scan 'student'