首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大数据入门->HBase的增删改查

进行HBase的增删改查的基础训练是需要搭建好Hbase的基础环境的,搭建教程参考V客公众号上一篇的搭建教程《

hbase-1.2.9安装教程(mac版)

》。Hbase提供了非常多的接口交互方式,本次实验将在HBase Shell的交互方式下进行。

进入HBase Shell控制台

由于HBase在本机是利用homebrew来安装的,所以可以用brew list hbase来查看hbase的安装地址,然后运行start-hbase.sh的启动脚本,然后用jps查看下hbase的启动状态,确认hbase的服务正常启动后,然后进入habase shell的控制台,连接hbase成功后,可以随便运行一个查看命令验证hbase的功能,确保能够正常的在hbase里面进行后续的增删改查的操作实验。

运行如图:

创建表

创建一张客户信息表customer,包含两个列族,第一个是基本信息 baseinfo,第二个列族是财产信息property,执行命令行如下:

运行如图:

查看所有的表

运行命令 :

运行如图:

这里我们可以查看我们刚才创建好的表。

新增记录

我们往customer表里的baseinfo列族里面新增了一些数据。运行命令:

$ put 'customer','1','baseinfo:age','29'

$ put 'customer','1','baseinfo:phone','13006214788'

$ put 'customer','1','baseinfo:address','shanghai'

运行如图:

我们往customer表里的property列族里面新增了一些数据。运行命令:

$ put 'customer','1','property:wechatpay','1000'

$ put 'customer','1','property:alipay','1100'

$ put 'customer','1','property:bankCard','2000'

$ put 'customer','1','property:cash','600'

运行如图:

根据RowKey查询

现在我们去查customer表里的RowKey为1的(行号为1的数据),运行命令:

$ get 'customer','1'

运行如图:

这里我们可以查询到customer表行号为1的所有数据记录。

查看列族

现在我们去分别去查customer表里的RowKey为1且列族为baseinfo和property的所有数据,运行命令:

$ get 'customer', '1', 'baseinfo'

$ get 'customer', '1', 'property'

运行如图:

我们可以看到我们刚才往customer表插入的两个列族的数据。

查看表内容

现在我们去查看customer表的内容,运行命令:

$ scan 'customer'

运行如图:

我们可以看到customer所存储的数据。

更新记录

现在我们准备更新customer表列族baseinfo的name信息,更新前name的值为zhengshangchao,更新后name的值为shangchao。运行命令:

$ get 'customer','1','baseinfo:name'

$ put 'customer','1','baseinfo:name','shangchao'

$ get 'customer','1','baseinfo:name'

运行如图:

支持历史版本

首先我们看下customer表两个列族支持的版本VERSIONS的值是多少,运行命令:

$ describe 'customer'

运行如图:

我们可以看到新建表的时候版本VERSIONS的默认值是1,HBase官方建议是VERSIONS的值最好不要超过3,现在我们修改列族baseinfo的VERSIONS的值为3,运行命令:

$ alter 'customer',

然后再看看修改的结果,运行命令:

$ describe 'customer'

运行如图:

我们可以看到列族baseinfo的VERSIONS值已经改为3,而列族property的VERSIONS值仍然是1。下面我们来看看这个VERSIONS怎么用。首先我们做一次数据的更新,执行命令:

$ put 'customer','1','baseinfo:name','zhengshangchao'

$ get 'customer','1',

$ get 'customer','1',

运行如图:

我们通过运行结果看到带VERSIONS的查询可以查找到历史版本的更新信息。其实除了VERSIONS支持历史版本查询外,借助Timestamp查询历史版本也可以完成历史版本查询,运行命令:

$ get 'customer','1',

运行如图:

我们可以通过时间戳Timestamp查询到那个时间点的历史版本。

删除记录

我们现在准备删除一个列数据baseinfo的phone,运行命令:

$ delete 'customer','1','baseinfo:phone'

运行如图:

我们发现执行删除列数据后,baseinfo:phone这列数据消失了。接下来我们试验一下按RowKey为维度来删除数据,我们要删除数据是RowKey=1的数据,运行命令:

$ deleteall 'customer','1'

运行如图:

删除表

删除表的操作需要在删除之前禁用这张表,然后再删除这张表,运行命令:

$ disable 'customer'

$ drop 'customer'

运行如图:

删除后我们可以看到再去查看这张表的时候,这张表已经不存在了。

此外,HBase还提供了web的管理端界面http://localhost:16010/master-status。运行如图:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190222G08Y4O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券