前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hbase基本操作~

Hbase基本操作~

作者头像
用户3003813
发布2018-09-06 13:24:08
6510
发布2018-09-06 13:24:08
举报
文章被收录于专栏:个人分享个人分享

创建一个名为PageViews的表,并具有名为info的列簇:

代码语言:javascript
复制
create 'PageViews', 'info'

每张表至少要有一个列簇,因此我们创建了info,现在,看看我们的表,执行下面list命令:

代码语言:javascript
复制
list

通过describe命令得到表的更多信息:

Describe命令返回表的详细信息,包括列簇的列表,这里我们创建的仅有一个:info,现在为表添加以下数据,下面命令是在info中添加新的行:

代码语言:javascript
复制
put 'PageViews', 'rowkey1', 'info:page', '/mypage'

Put命令插入一条行键为rowkey1的新纪录,指定在info下的page列,插入值为/mypage的记录,我们随后可以通过get命令通过行键rowkey1查询到这条记录:

代码语言:javascript
复制
get 'PageViews', 'rowkey1'

可以看到列info:page,或者更多具体的列,其值为/mypage,并带有时间戳表明该条记录是什么时候插入的。让我们在做表扫描之前再添加一行,并查询出PageViews表的所有记录:

代码语言:javascript
复制
put 'PageViews', 'rowkey2', 'info:page', '/myotherpage'
scan 'PageViews'

我们不能查询本身,但是我们可以对表进行scan操作,如果你执行scan table命令,它会返回表中所有行,这很有可能不是你想要做的。你可以给出行的范围来限制返回的结果,让我们插入一带有s开头行键的新记录:

代码语言:javascript
复制
 put 'PageViews', 'srowkey2', 'info:page', '/myotherpage'

如果我增加点限制,想查询行键在r和s之间的记录,可以使用如下结构:

代码语言:javascript
复制
scan 'PageViews', { STARTROW => 'r', ENDROW => 's' }

这个scan返回了仅有s开头的记录,这个类比是基于全行键上的,所以rowkey1比r大,所有它被返回了。另外,scan的结果包含了所指范围的STARTROW,但不包含ENDROW,注意,ENDROW不是必须指定的,如果我们执行相同查询只给出了STARTROW,那么我们会得到行键比r大的所有记录。

代码语言:javascript
复制
scan 'PageViews', { STARTROW => 'r' }

disable 'tableName' --disable表。注:修改表结构时,必须要先disable表。

enable 'tableName' --使表可用

drop 'tableName' --删除表

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-11-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档