HBase常用 Shell 命令
1. 基本命令
打开 Hbase Shell:
# hbase shell1.1 获取帮助
# 获取帮助
help
# 获取命令的详细信息
help 'status'1.2 查看服务器状态
status1.3 查看版本信息
version2. 关于表的操作
2.1 查看所有表
2.2 创建表
命令格式: create '表名称', '列族名称 1','列族名称 2','列名称 N'
2.3 查看表的基本信息
命令格式:desc '表名'
2.4 表的启用/禁用
enable 和 disable 可以启用/禁用这个表,is_enabled 和 is_disabled 来检查表是否被禁用
2.5 检查表是否存在
2.6 删除表
3. 增删改
3.1 添加列族
命令格式: alter '表名', '列族名'
3.2 删除列族
命令格式:alter '表名', {NAME => '列族名', METHOD => 'delete'}
3.3 更改列族存储版本的限制
默认情况下,列族只存储一个版本的数据,如果需要存储多个版本的数据,则需要修改列族的属性。修改后可通过 desc 命令查看。
3.4 插入数据
命令格式:put '表名', '行键','列族:列','值'
注意:如果新增数据的行键值、列族名、列名与原有数据完全相同,则相当于更新操作
3.5 获取指定行、指定行中的列族、列的信息
3.6 删除指定行、指定行中的列
4. 查询
hbase 中访问数据有两种基本的方式:
按指定 rowkey 获取数据:get 方法;
按指定条件获取数据:scan 方法。
scan 可以设置 begin 和 end 参数来访问一个范围内所有的数据。get 本质上就是 begin 和 end 相等的一种特殊的 scan。
4.1 Get查询
4.2 查询整表数据
4.3 查询指定列簇的数据
4.4 条件查询
除了列 (COLUMNS) 修饰词外,HBase 还支持 Limit(限制查询结果行数),STARTROW(ROWKEY 起始行,会先根据这个 key 定位到 region,再向后扫描)、STOPROW(结束行)、TIMERANGE(限定时间戳范围)、VERSIONS(版本数)、和 FILTER(按条件过滤行)等。
如下代表从 rowkey2 这个 rowkey 开始,查找下两个行的最新 3 个版本的 name 列的数据:
4.5 条件过滤
Filter 可以设定一系列条件来进行过滤。如我们要查询值等于 24 的所有数据:
值包含 yale 的所有数据:
列名中的前缀为 birth 的:
FILTER 中支持多个过滤条件通过括号、AND 和 OR 进行组合:
PrefixFilter 用于对 Rowkey 的前缀进行判断:
最后更新于
这有帮助吗?