暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

二倍速 HBase

让代码飞 2021-12-12
223

二倍速 HBase

先 Run 起来瞅瞅

https://github.com/dajobe/hbase-docker

// 拉取镜像运行容器
docker pull dajobe/hbase
./start-hbase.sh


// 进入容器进入shell
docker exec -it hbase-docker /bin/bash
hbase shell
复制

如果用 Redis 来实现

  • 定义一个全局唯一的字符串作为 rowkey

  • 以这个 rowkey 加上【x】作为 key 存一个 hash 类型的数据

  • hash 类型的数据里自然也是 【k】 - v 结构的

  • 这里的 【x】就是 HBase 里的列簇

  • 这里的【k】就是 HBase 里的列

rowkey0_family0 = [
'column1' => 1,
'column2' => 2,
'column3' => 3,
]


rowkey0_family1 = [
'columnA' => a,
'columnB' => b,
'columnC' => c,
]


...


rowkey1_family0 = [
'column1' => 1,
'column2' => 2,
'column3' => 3,
]


rowkey1_family1 = [
'columnA' => a,
'columnB' => b,
'columnC' => c,
]


...
复制

时间戳

  • 版本控制

HBase Shell

表操作

// 创建表
create 'USER_INFO','ADDRESS'
// 查看表
list
// 禁用表
disable USER_INFO
// 删除表
drop USER_INFO
复制

添加/更新数据

put ‘表名’,’ROWKEY’,’列蔟名:列名’,’值’

put 'USER_INFO','000001','ADDRESS:PROVINCE','beijing'
put 'USER_INFO','000001','ADDRESS:CITY','beijing'
put 'USER_INFO','000001','ADDRESS:DISTRICT','chaoyang'
put 'USER_INFO','000001','ADDRESS:DETAIL','jiuxianqiao'
复制

查看数据

// 查看一条
get 'USER_INFO','000001', {FORMATTER => 'toString'}
// 查看所有
scan 'USER_INFO',{FORMATTER => 'toString'}
// 查询条件
scan 'USER_INFO', {ROWPREFIXFILTER => '000001', LIMIT => 3, COLUMNS => ['ADDRESS:PROVINCE', 'ADDRESS:CITY'], FORMATTER => 'toString'}
// 查看数量
count 'USER_INFO'
复制

删除数据

// 删除列
delete 'USER_INFO','000001','ADDRESS:DETAIL'
// 删除行
deleteall 'USER_INFO','000001'
// 清空表
truncate 'USER_INFO'
复制
文章转载自让代码飞,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论