ETL那些事

HBase常用命令

2020-05-31  本文已影响0人  秋风暮霞挽红曲_5f60

HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

HBase常用命令

进入shell

echo $HBASE_HOME

/data/program/hbase

 /data/program/hbase/bin/hbase shell

表结构

1. 创建表

语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}

创建一个User表,并且有一个info列族

create 'User','info'

2. 查看所有表

 list

3. 查看表详情

describe 'User'

4. 表修改

删除指定的列族

alter 'User','delete'=>'info'

表数据

1. 插入数据

语法:put <table>,<rowkey>,<family:column>,<value>

 put 'User', 'row1', 'info:name', 'xiaoming'

2. 根据rowKey查询某个记录

语法:get <table>,<rowkey>,[<family:column>,....]

 get 'User', 'row2'

 get 'User', 'row3', 'info:sex'

3. 查询所有记录

语法:scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}

扫描所有记录

 scan 'User'

扫描前2条

 scan'User', {LIMIT =>2

范围查询

 scan 'User', {STARTROW => 'row2'}

scan 'User', {STARTROW => 'row2', ENDROW => 'row2'}

scan 'User', {STARTROW => 'row2', ENDROW => 'row3'}

另外,还可以添加TIMERANGE和FITLER等高级功能

STARTROW,ENDROW必须大写,否则报错;查询结果不包含等于ENDROW的结果集

4. 统计表记录数

语法:count <table>, {INTERVAL => intervalNum, CACHE => cacheNum}

INTERVAL设置多少行显示一次及对应的rowkey,默认1000;

CACHE每次去取的缓存区大小,默认是10,调整该参数可提高查询速度

count 'User'

5. 删除

删除列

 delete 'User', 'row1', 'info:age'

删除所有行

deleteall 'User','row2'

删除表中所有数据

 truncate'User'

表管理

1. 禁用表

 disable 'User'

2. 启用表

 enable 'User'

3. 测试表是否存在

 exists 'User'

4. 删除表

删除前,必须先disable

 disable 'User'

drop 'TEST.USER'

上一篇下一篇

猜你喜欢

热点阅读