博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase 常用命令
阅读量:4573 次
发布时间:2019-06-08

本文共 13687 字,大约阅读时间需要 45 分钟。

进入HBase 命令行

./hbase shell

查看Hbase 的状态 status

hbase(main):007:0> status1 active master, 0 backup masters, 1 servers, 0 dead, 8.0000 average load

显示HBase 中的表 list

list---hbase(main):008:0> listTABLE                                                                                                                                                                       member                                                                                                                                                                      mytable                                                                                                                                                                     test                                                                                                                                                                        test0417                                                                                                                                                                    user                                                                                                                                                                        web_test                                                                                                                                                                    6 row(s) in 0.0100 seconds=> ["member", "mytable", "test", "test0417", "user", "web_test"]

删除表 drop

删除表的前提是表要处于disable的状态,如果没有则disable 表
hbase(main):016:0> drop 'user'0 row(s) in 3.1690 seconds

创建表 create

create 第一个参数是代表Row ,后面的代表Column
hbase(main):017:0> create 'user','info','data'0 row(s) in 8.6390 seconds=> Hbase::Table - userhbase(main):018:0> desc 'user'Table user is ENABLED                                                                                                                                 user                                                                                                                                                  COLUMN FAMILIES DESCRIPTION                                                                                                                           {NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                             {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                             2 row(s) in 0.0180 seconds

插入数据 put

需要主要的是在HBase中更新和创建记录数据是相同的命令,每一条记录将自动记录多次变更的情况,类似于SVN一样,但是在设计表的时候可以设置最大保存的version的最大数,读取的时候也可以读取指定的的版本数

直接给一个列插入数据(非列族下的列),类型为字符串和字典

hbase(main):020:0> put 'user','0001','info','only_info_value'0 row(s) in 0.0700 seconds#插入的是一个字典类型数据,注意字典需要双引号hbase(main):022:0> put 'user','0002','info',"{'value':'1234'}"0 row(s) in 0.0120 seconds

直接赋值给列族中的列,自动创建列,只添加一个的情况

hbase(main):025:0> put 'user','0003','data:age','18'0 row(s) in 0.0150 secondshbase(main):026:0> scan 'user'ROW                                    COLUMN+CELL                                                                                                     0001                                  column=info:, timestamp=1492422232548, value=only_info_value                                                    0002                                  column=info:, timestamp=1492422363530, value={'value':'1234'}                                                   0003                                  column=data:age, timestamp=1492423135470, value=18                                                             3 row(s) in 0.0200 seconds

添加多个列,实质上就是再执行一次put 操作,此时row_key和原来是一样的,如下所示:

hbase(main):027:0> put 'user','0003','data:gender','female'0 row(s) in 0.0090 secondshbase(main):028:0> scan 'user'ROW                                    COLUMN+CELL                                                                                                     0001                                  column=info:, timestamp=1492422232548, value=only_info_value                                                    0002                                  column=info:, timestamp=1492422363530, value={'value':'1234'}                                                   0003                                  column=data:age, timestamp=1492423135470, value=18                                                              0003                                  column=data:gender, timestamp=1492423353786, value=female                                                      3 row(s) in 0.0110 seconds

读取数据get

读取某一行的所有数据

hbase(main):029:0> get 'user','0001'COLUMN                                 CELL                                                                                                            info:                                 timestamp=1492422232548, value=only_info_value                                                                 1 row(s) in 0.0270 seconds

读取一行中一个列族的所有信息

(为了演示,给info列增加一个值

hbase(main):033:0> put 'user','0001','info:123','ext_001'0 row(s) in 0.0090 secondshbase(main):035:0> scan 'user'ROW                                    COLUMN+CELL                                                                                                     0001                                  column=info:, timestamp=1492422232548, value=only_info_value                                                    0001                                  column=info:123, timestamp=1492496315262, value=ext_001                                                         0002                                  column=info:, timestamp=1492422363530, value={'value':'1234'}                                                   0003                                  column=data:age, timestamp=1492423135470, value=18                                                              0003                                  column=data:gender, timestamp=1492423353786, value=female                                                      3 row(s) in 0.0170 secondshbase(main):037:0> get 'user','0001','info'COLUMN                                 CELL                                                                                                            info:                                 timestamp=1492422232548, value=only_info_value                                                                  info:123                              timestamp=1492496315262, value=ext_001                                                                         2 row(s) in 0.0090 seconds

获取列族中某一个字段的值

hbase(main):038:0> get 'user','0003','data:age'COLUMN                                 CELL                                                                                                            data:age                              timestamp=1492423135470, value=18                                                                              1 row(s) in 0.0110 seconds

获取user表中row key为0003,列标示符中含有a的信息

有问题,待补充

读取全表数据scan

hbase(main):042:0> scan 'user'ROW                                    COLUMN+CELL                                                                                                     0001                                  column=info:, timestamp=1492422232548, value=only_info_value                                                    0001                                  column=info:123, timestamp=1492496315262, value=ext_001                                                         0002                                  column=info:, timestamp=1492422363530, value={'value':'1234'}                                                   0003                                  column=data:age, timestamp=1492423135470, value=18                                                              0003                                  column=data:gender, timestamp=1492423353786, value=female                                                      3 row(s) in 0.0150 seconds

查询表中有多少行 count

hbase(main):043:0> count 'user'3 row(s) in 0.0140 seconds=> 3

默认是1000行显示一次,也可以调整

# 语法:count 
, {INTERVAL => intervalNum, CACHE => cacheNum}# INTERVAL设置多少行显示一次及对应的rowkey,默认1000;CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度# 例如,查询表t1中的行数,每100条显示一次,缓存区为500hbase(main)> count 't1', {INTERVAL => 100, CACHE => 500}

删除指定行某一列的数据 delete

hbase(main):049:0> get 'user','0001'COLUMN                                 CELL                                                                                                            info:                                 timestamp=1492422232548, value=only_info_value                                                                  info:123                              timestamp=1492496315262, value=ext_001                                                                         2 row(s) in 0.0090 secondshbase(main):050:0> delete 'user','0001','info:123'0 row(s) in 0.0250 secondshbase(main):051:0> get 'user','0001'COLUMN                                 CELL                                                                                                            info:                                 timestamp=1492422232548, value=only_info_value                                                                 1 row(s) in 0.0070 seconds

添加两个列族 alter table_name ,NAME =>列族名

hbase(main):052:0> desc 'user'Table user is ENABLED                                                                                                                                 user                                                                                                                                                  COLUMN FAMILIES DESCRIPTION                                                                                                                           {NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                             {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                             2 row(s) in 0.0180 secondshbase(main):055:0> alter 'user',NAME =>'Content'Updating all regions with the new schema...1/1 regions updated.Done.0 row(s) in 3.2340 secondshbase(main):056:0> desc 'user'Table user is ENABLED                                                                                                                                 user                                                                                                                                                  COLUMN FAMILIES DESCRIPTION                                                                                                                           {NAME => 'Content', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '1', TTL => 'FOREVER', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                          {NAME => 'data', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                             {NAME => 'info', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIONS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'FALSE', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'}                             3 row(s) in 0.0150 seconds

查询指定时间段的方法 TIMERANGE

hbase(main):012:0> scan 'user'ROW                                          COLUMN+CELL                                                                                                                     0001                                        column=info:, timestamp=1492422232548, value=only_info_value                                                                    0002                                        column=info:, timestamp=1492422363530, value={'value':'1234'}                                                                   0003                                        column=data:age, timestamp=1492423135470, value=18                                                                              0003                                        column=data:gender, timestamp=1492423353786, value=female                                                                      3 row(s) in 0.0210 secondshbase(main):013:0> scan 'user',{TIMERANGE =>[1492422232548,1492422232549]}ROW                                          COLUMN+CELL                                                                                                                     0001                                        column=info:, timestamp=1492422232548, value=only_info_value                                                                   1 row(s) in 0.0110 seconds

清空表:truncate ‘lmj_test’

转载于:https://www.cnblogs.com/angellst/p/7561461.html

你可能感兴趣的文章
面向对象的5条基本设计原则
查看>>
2017知乎看山杯总结(多标签文本分类)
查看>>
uva 12003 Array Transformer (大规模阵列)
查看>>
mysql5.7二进制包安装方式
查看>>
SQL With As 用法Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)简介
查看>>
装饰者模式——Java设计模式
查看>>
39.递推练习: 菲波那契数列(2)
查看>>
47..贪心 失恋28天-追女孩篇
查看>>
排序精讲
查看>>
【bzoj3172】 Tjoi2013—单词
查看>>
【uoj2】 NOI2014—起床困难综合症
查看>>
js return的用法
查看>>
for_each使用方法详解[转]
查看>>
Apache Storm 与 Spark:对实时处理数据,如何选择【翻译】
查看>>
c :set标签的陷阱(未解决)
查看>>
线性筛素数(欧拉筛)
查看>>
java 序列化与反序列化
查看>>
nginx安装环境
查看>>
Adventures with Testing BI/DW Application
查看>>
XML
查看>>