【6-2】hbase shell
来源:互联网 发布:上海知慧太阳能垃圾箱 编辑:程序博客网 时间:2024/06/05 07:57
shell,即使用命令行的方式来创建表,插入数据。
创建表,修改表,删除表是ddl,插入数据,删除数据是dml(数据库操作语言)
不会的时候 help+命令
创建一个表,create 'people',{NAME=>'info',VERSIONS=>3},{NAME=>'data',VERSIONS=>1}
回车之后,发现table里面有一个表了
输入list 可以看到有这个表
然后describe 'people'
接下来,往里面插入数据(属于dml),先help dml回车看一下
不会的时候,查看它的文档 help ‘XXX’
插入数据:put 'people','rk0001',(这个是row key),‘info:name’(列族加列的名称),'cls'
查看数据:scan 'people'
我们也可以添加别的属性:put 'people','rk0001','info:gender','female'
没有显示插入失败。接下来再查看一下:scan 'people'
接下来该返回1行数据【因为主键相同】,一个是info列族加name列,另一个是info列族加gender列
再插入一些信息:(也可以用people.put)put 'people', 'rk0001','info:size','36'
成功了。再scan一下,可以看到一条记录,这个记录有三个列。【最开始我指定了两个列族,我也可以往另一个列族里面插入数据】:put 'people','rk0001','data:torrent'(data也是一个列族),'zhongzi'
回车,存进去了。scan一下 scan ‘people’
现在有一行四列,中文也被转化成了二进制。
这个表的物理结构是什么?【留作后面学】
再插入一条:put 'people','rk0002',(插入一个列,一个shell,由列族和列名称组成)'info:name','bdyjy'
这时候scan,应该返回两行。
继续插入:put 'people','rk0002','info:gender‘(列族下面有多少个列,随便设,这个比关系型数据库好),'female'
现在scan,有两行,rk0001,rk0002,两行,第一行里面有4列,第二行有2列。
【关系型数据库不能保存这么灵活】
现在,put 'people','rk0001','info:size','37'
再变,put 'people','rk0001','info:size','37.5'
再scan,发现这个值变了,【这个值被覆盖掉了吗?】NO 还记得列族的VERSION吗 当时设置的是3
scan 'people',(加一个过滤条件){COLLUMNS =>'info',VERSIONS =>3}
此时发现,value=36,37,37.5 三个都有,此时如果再增加38 那么第一个36没了(因为最大的版本只能存放3个)
Q:我能不能把被覆盖掉的36查出来?
A:加一个raw=true 【当版本超过3之后,打一个标记位,就删掉了,但是内存还没有进行flush】
我先退出shell:quit
再把HMaster停掉:./stop-hbase.sh
然后再来一次,start,./hbase-shell,再查一下,发现还有
现在画一下这个表的结构
两个列族,info和data,每个列族下面有列
cls多个版本都保存在这里
我的rk002只有两列,没有数据的地方,在关系型数据库里面,是占用空间的(因为你定义类型了varchar),但是在hbase里,bdyjy这个里有许多是空的,
一个cell可以保存多个值,每个值有一个timestamp。
Q:如何定位一个cell? 先一个row key(行) ,然后一个列族中的一个列的标识符(列),如果我想查cell里的某个值,它默认会给我最新的,如果我想查特定的某个值,需要查它的timestamp
- 【6-2】hbase shell
- hbase shell 常用命令2
- HBase Shell
- HBase shell
- Hbase shell
- hbase shell
- HBase Shell
- hbase shell
- hbase shell
- HBASE Shell
- HBase shell
- HBase Shell
- hbase shell
- Hbase shell
- Hbase shell
- hbase shell
- HBase shell
- HBase Shell
- PHP之记录错误日志
- 今天碰到一个PHP配置问题
- AJAX单元测试傻瓜教程
- 陀螺仪和加速度传感器 MPU6050 I2C在stm32上的使用
- iOS开发中那些高效常用的宏
- 【6-2】hbase shell
- Xutils和Xutils3的基本使用
- 浅谈12306核心模型设计思路和架构设计
- HTTP状态码
- uva 11054 Wine trading in Gergovia
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- 带表情符号的自定义键盘
- C++函数的默认参数
- poj 1979 Red and Black (简单BFS)