Hbase常用Shell命令
时间:2022-04-22
本文章向大家介绍Hbase常用Shell命令,主要内容包括表的管理、数据操作、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
status 查看系统状态
hbase(main):010:0> status
1 active master, 0 backup masters, 4 servers, 0 dead, 6.5000 average load
version 查看版本号
hbase(main):011:0> version
1.2.0-cdh5.7.2, rUnknown, Fri Jul 22 12:20:40 PDT 2016
table_help 查看提示信息
hbase(main):012:0> table_help
Help for table-reference commands.
You can either create a table via 'create' and then manipulate the table via commands like 'put', 'get', etc.
See the standard help information for how to use each of these commands.
However, as of 0.96, you can also get a reference to a table, on which you can invoke commands.
For instance, you can get create a table and keep around a reference to it via:
hbase> t = create 't', 'cf'
Or, if you have already created the table, you can get a reference to it:
hbase> t = get_table 't'
You can do things like call 'put' on the table:
hbase> t.put 'r', 'cf:q', 'v'
which puts a row 'r' with column family 'cf', qualifier 'q' and value 'v' into table t.
To read the data out, you can scan the table:
hbase> t.scan
which will read all the rows in table 't'.
Essentially, any command that takes a table name can also be done via table reference.
Other commands include things like: get, delete, deleteall,
get_all_columns, get_counter, count, incr. These functions, along with
the standard JRuby object methods are also available via tab completion.
For more information on how to use each of these commands, you can also just type:
hbase> t.help 'scan'
which will output more information on how to use that command.
You can also do general admin actions directly on a table; things like enable, disable,
flush and drop just by typing:
hbase> t.enable
hbase> t.flush
hbase> t.disable
hbase> t.drop
Note that after dropping a table, your reference to it becomes useless and further usage
is undefined (and not recommended).
表的管理
create 创建表
hbase(main):014:0> create 'xt','xcf'
0 row(s) in 2.5340 seconds
=> Hbase::Table - xt
hbase(main):015:0>
list 查看表
hbase(main):015:0> list
TABLE
...
xt
17 row(s) in 0.0200 seconds
=> [..."xt"]
hbase(main):016:0>
describe 表的描述
hbase(main):017:0> describe 'xt'
Table xt is ENABLED
xt
COLUMN FAMILIES DESCRIPTION
{NAME => 'xcf', BLOOMFILTER => 'ROW', VERSIONS => '1', IN_MEMORY => 'false', KEEP_DELETED_CELLS => 'FALSE', DATA_BLOCK_ENCODING => 'NONE',
TTL => 'FOREVER', COMPRESSION => 'NONE', MIN_VERSIONS => '0', BLOCKCACHE => 'true', BLOCKSIZE => '65536', REPLICATION_SCOPE => '0'}
1 row(s) in 0.0500 seconds
disable 表的禁用
hbase(main):038:0> disable 'xt'
0 row(s) in 8.7530 seconds
drop 表的删除
hbase(main):039:0> drop 'xt'
0 row(s) in 2.3130 seconds
exsits 判断是否存在
hbase(main):040:0> exists 'xt'
Table xt does not exist
0 row(s) in 0.0110 seconds
数据操作
put 增加和修改数据
向指定的列族中插入数据
hbase(main):019:0> put 'xt','1','xcf:col_name1','col_value1'
0 row(s) in 0.0080 seconds
hbase(main):020:0> put 'xt','1','xcf:col_name2','col_value2'
0 row(s) in 0.0050 seconds
get 查询数据
hbase(main):021:0> get 'xt','1'
COLUMN CELL
xcf:col_name1 timestamp=1496997489039, value=col_value1
xcf:col_name2 timestamp=1496997502916, value=col_value2
2 row(s) in 0.0110 seconds
hbase(main):022:0> get 'xt','1',{COLUMN => 'xcf:col_name1'}
COLUMN CELL
xcf:col_name1 timestamp=1496997489039, value=col_value1
1 row(s) in 0.0520 seconds
hbase(main):023:0>
delete 删除数据
hbase(main):023:0> delete 'xt','1','xcf:col_name1'
0 row(s) in 0.0280 seconds
hbase(main):024:0> get 'xt','1'
COLUMN CELL
xcf:col_name2 timestamp=1496997502916, value=col_value2
1 row(s) in 0.0030 seconds
hbase(main):026:0> deleteall 'xt','1'
0 row(s) in 0.0030 seconds
hbase(main):028:0> get 'xt','1'
COLUMN CELL
0 row(s) in 0.0070 seconds
scan 扫描全部数据
hbase(main):029:0> put 'xt','1','xcf:col1','123'
0 row(s) in 0.0230 seconds
hbase(main):030:0> put 'xt','2','xcf:col1','123'
0 row(s) in 0.0040 seconds
hbase(main):031:0> put 'xt','3','xcf:col1','123'
0 row(s) in 0.0040 seconds
hbase(main):032:0> put 'xt','4','xcf:col1','123'
0 row(s) in 0.0040 seconds
hbase(main):033:0> scan 'xt'
ROW COLUMN+CELL
1 column=xcf:col1, timestamp=1496998219258, value=123
2 column=xcf:col1, timestamp=1496998223993, value=123
3 column=xcf:col1, timestamp=1496998227824, value=123
4 column=xcf:col1, timestamp=1496998230678, value=123
4 row(s) in 0.0140 seconds
count 统计表个数
hbase(main):034:0> count 'xt'
4 row(s) in 0.0170 seconds
=> 4
truncate 清空表数据
hbase(main):035:0> truncate 'xt'
Truncating 'xt' table (it may take a while):
- Disabling table...
- Truncating table...
0 row(s) in 104.8850 seconds
hbase(main):036:0> count 'xt'
0 row(s) in 23.6480 seconds
=> 0
hbase(main):037:0>
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 架构师教你kill祖传石山代码重复/大量ifelse
- TKE集群,一次磁盘挂载问题处理
- Linux Load Average详解
- 5. Bean Validation声明式验证四大级别:字段、属性、容器元素、类
- 使用Docker镜像
- Qt音视频开发39-人脸识别在线版
- 前端学数据结构与算法(九):常见五种排序算法的实现及其优缺点
- 用最容易的方式学会单链表(Python实现)
- 突击并发编程JUC系列-万字长文解密 JUC 面试题
- 《剑指Offer》-- 题目一:找出数组中重复的数字(Python多种方法实现)
- 用最复杂的方式学会数组(Python实现动态数组)
- 一起来刷《剑指Offer》——不修改数组找出重复的数字(思路及Python实现)
- 第一章 Go介绍
- 第二章 Go变量
- 揭秘 @available