hbase hdfs外部表_HBase(基于HDFS)的使用

补充:使用secure CRT操作hbase

(一)修改secureCRT配置环境

(二)使用hbase,查看所有命令

一:create建表(创建user表,包括base_info、extra_info两个列族)

create 'user',{NAME=>'base_info',VERSIONS=>3},{NAME=>'extra_info'}

可以使用list命令查看所有数据表:

可以使用describe命令,查看数据表结构:

二:数据表的删除drop

注意在删除表之前,需要先使得表状态为disable

三:向表中插入数据

向user表中插入信息,row key为rk0001,列族base_info中添加name列标示符,值为zhangsan

put 'user', 'rk0001', 'base_info:name', 'zhangsan'

向user表中插入信息,row key为rk0001,列族base_info中添加gender列标示符,值为female

put 'user', 'rk0001', 'base_info:gender', 'female'

向user表中插入信息,row key为rk0001,列族base_info中添加age列标示符,值为20

put 'user', 'rk0001', 'base_info:age', 20

向user表中插入信息,row key为rk0001,列族extra_info中添加pic列标示符,值为picture

put 'user', 'rk0001', 'extra_info:pic', 'picture'

四:get获取表数据

(一)获取user表中row key为rk0001的所有信息

get 'user', 'rk0001'

(二)获取user表中row key为rk0001,base_info列族的所有信息

get 'user', 'rk0001', 'base_info'

(三)获取user表中row key为rk0001,base_info列族的name、age列标示符的信息

get 'user', 'rk0001', 'base_info:name', 'base_info:age'

(四)获取user表中row key为rk0001,base_info、extra_info列族的信息

get 'user', 'rk0001', 'base_info', 'extra_info'

get 'user', 'rk0001', {COLUMN => ['base_info', 'extra_info']}get 'user', 'rk0001', {COLUMN => ['base_info:name', 'extra_info:pic']}

(五)获取user表中row key为rk0001,列族为base_info,版本号最新5个的信息

get 'user', 'rk0001', {COLUMN => 'base_info', VERSIONS => 2}get 'user', 'rk0001', {COLUMN => 'base_info:name', VERSIONS => 5}get 'user', 'rk0001', {COLUMN => 'base_info:name', VERSIONS => 5, TIMERANGE => [xxx时间戳, xxx时间戳]}

五:条件查询

(一)ValueFilter值过滤---获取user表中row key为rk0001,cell的值包含zh的信息

get 'user', 'rk0001', {FILTER => "ValueFilter(=, 'substring:zh')"}

(二)QualifierFilter键过滤---获取user表中row key为rk0001,列标示符中含有a的信息

get 'user', 'rk0001', {FILTER => "(QualifierFilter(=,'substring:a'))"}

(三)ValueFIlter值过滤,使用=进行值查询时:注意数据存储是按照二进制存储,所有使用binary

put 'user', 'rk0002', 'base_info:name', 'fanbingbing'put'user', 'rk0002', 'base_info:gender', 'female'put'user', 'rk0002', 'base_info:nationality', '中国'

get 'user', 'rk0002', {FILTER => "ValueFilter(=, 'binary:中国')"}

六:Scan查询操作

会一块查询HLog中的数据

(一)查询user表中的所有信息

scan 'user'

(二)查询user表中列族为base_info的信息

scan 'user', {COLUMNS => 'base_info'}

scan'user', {COLUMNS => 'base_info', RAW => true, VERSIONS => 5}

(三)查询user表中列族为base_info和extra_info的信息

scan 'user', {COLUMNS => ['base_info', 'extra_info']}

scan'user', {COLUMNS => ['base_info:name', 'extra_info:pic']}

(四)查询user表中列族为base_info、列标示符为name的信息

scan 'user', {COLUMNS => 'base_info:name'}

(五)查询user表中列族为base_info、列标示符为name的信息,并且版本最新的5个

scan 'user', {COLUMNS => 'base_info:name', VERSIONS => 5}

注意:scan查询版本时,有时可以比get多查询出一个。因为我们新写入的数据存放在HLog中,没有写入HFile中,所以scan将数据全部获取,get只获取3个最新版本

(六)查询user表中列族为base_info和extra_info且列标示符中含有a字符的信息

scan 'user', {COLUMNS => ['base_info', 'extra_info'], FILTER => "(QualifierFilter(=,'substring:a'))"}

(七)查询user表中列族为base_info,rk范围是[rk0001, rk0003)的数据

scan 'user', {COLUMNS => 'base_info', STARTROW => 'rk0001', ENDROW => 'rk0003'}

(八)查询user表中row key以rk字符开头的

scan 'user',{FILTER=>"PrefixFilter('rk')"}

(九)查询user表中指定范围的数据

scan 'user', {TIMERANGE => [xxx时间戳, xxx时间戳]}

七:数据修改

(一)delete删除数据

删除user表row key为rk0001,列标示符为base_info:name,timestamp为1583222243421的数据

delete 'user', 'rk0001', 'base_info:name', 1583222243421

删除user表row key为rk0001,列标示符为base_info:name的数据

delete 'user', 'rk0001', 'base_info:name'

(二)清空user表中的数据

truncate 'user'

(三)修改表结构---添加列族

首先停用user表(新版本不用)

disable 'user'

添加两个列族f1和f2

alter 'user', NAME => 'f1'alter'user', NAME => 'f2'

启用表

enable 'user'

(四)修改表结构---删除列族

###disable 'user'(新版本不用)

删除一个列族:

alter 'user', NAME => 'f1', METHOD => 'delete' 或 alter 'user', 'delete' => 'f1'

添加列族f1同时删除列族f2

alter 'user', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}

将user表的f1列族版本号改为5

alter 'user', NAME => 'info', VERSIONS => 5

启用表

enable 'user'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值