非交互使用
-n | --non-interactive 参数
$ echo "describe 'test1'" | ./hbase shell -n Version 0.98.3-hadoop2, rd5e65a9144e315bb0a964e7730871af32f5018d5, Sat May 31 19:56:09 PDT 2014 describe 'test1' DEscriptION ENABLED 'test1', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NON true E', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', MIN_VERSIO NS => '0', TTL => 'FOREVER', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false' , BLOCKCACHE => 'true'} 1 row(s) in 3.2410 seconds
hbase默认执行成功返回0失败返回非零,但是返回非零可能是由于rpc通信失败等,故非零不一定执行失败,下次相关 *** 作需检查。
#!/bin/bash echo "describe 'test'" | ./hbase shell -n > /dev/null 2>&1 status=$? echo "The status was " $status if ($status == 0); then echo "The command succeeded" else echo "The command may have failed." fi return $status
交互使用
即使用使用hbase cli client
基本概念:./hbase shell
hbase使用列式存储,其中类似关系型数据库中的列,其称为列族。顾名思义,列族就是很多类似RDB列数据的组合,列族中一个类似RDB的列称为一个单元格(CELL)
表结构:
如下有一个RDB的用户信息表和对应的hbase表,表名info
RDB: info
user
item
hbase: info
其中三个user为一个列族,三个item为一个列族,每一个单元格为一个cell
具体如下:
| ROW | COLUMN+CELL | | u0001 | column=info:address, timestamp=1630481161063, value=shanghai | | u0001 | column=info:age, timestamp=1630481111589, value=24 | | u0001 | column=info:gender, timestamp=1630481130520, value=F | | u0001 | column=info:name, timestamp=1630481076110, value=testMan | | u0001 | column=item:desc, timestamp=1630481534305, value=shanghai | | u0001 | column=item:number, timestamp=1630481534285, value=2 | | u0001 | column=item:price, timestamp=1630481534263, value=34000000 | | u0001 | column=item:product, timestamp=1630481534240, value=p0001 | | u0002 | column=info:address, timestamp=1630481233449, value=shanghai | | u0002 | column=info:age, timestamp=1630481231793, value=27 | | u0002 | column=info:gender, timestamp=1630481231815, value=F | | u0002 | column=info:name, timestamp=1630481231771, value=coder | | u0002 | column=item:product, timestamp=1630481534327, value=p0002 |
shell输入时语法错误处理
shell命令 查看输错命令显示
hbase(main):002:0> desc school;
hbase(main):003:0* >
hbase(main):004:0* >
hbase(main):005:0*
hbase(main):006:0* >desc可以继续输入> 然后输入命令
schema:
查看所有命名空间
list_namespace
查看命名空间信息
describe_namespac 'nameSpace name'
查看命名空间内所有表
list_namespace_tables 'nameSpace name'
查看表信息
desc 'table name' | describe 'table name'
datas
查看表数据
1> tb=get_table 'table name' # 查看所有数据 tb.scan 2> # 查看所有数据 scan 'table name' # 指定范围 ## rowkey ## 指定列
info
查看region信息
插入数据
单条插入
批量导入
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)