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>
本文转自博客园xingoo的博客,原文链接:Hbase常用Shell命令,如需转载请自行联系原博主。
相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
6天前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
35 12
|
2月前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
177 7
|
2月前
|
缓存 监控 Shell
如何使用 HBase Shell 进行数据的实时监控和备份?
如何使用 HBase Shell 进行数据的实时监控和备份?
|
2月前
|
Shell 分布式数据库 Hbase
如何使用 HBase Shell 进行数据的批量导入和导出?
如何使用 HBase Shell 进行数据的批量导入和导出?
146 5
|
2月前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
58 1
|
3月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
87 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
3月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
95 4
|
3月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
70 3
|
8月前
|
Linux Shell Windows
4:Bash shell命令-步入Linux的现代方法
4:Bash shell命令-步入Linux的现代方法
113 0
|
Shell 数据处理 Python
Python 运行 shell 命令的一些方法
Python 运行 shell 命令的一些方法
下一篇
开通oss服务