栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hbase介绍

hbase介绍

主要参考:

1.hbase介绍1
2.hbase介绍2

简单总结

主要需要明白hbase存储的模式,
1.存储的数据没有类型的概念,都是以Bytes存储,这就是为什么java api里边需要取出来的时候:Bytes.toString,写入的时候Bytes.toBytes()

rowkey

2.通过{row key,column(=< family> + < label>),version} 唯一确定的单元,
1)通过单个 Row Key 访问。
2)通过 Row Key 的 range 全表扫描。
3)Row Key 可以使任意字符串(最大长度是64KB,实际应用中长度一般为 10 ~ 100bytes),在Hbase 内部,Row Key 保存为字节数组。

列簇

Hbase 表中的每个列都归属于某个列族。列族是表的 Schema 的一部分(而列不是),必须在使用表之前定义。列名都以列族作为前缀,例如 courses:history、courses:math 都属于 courses 这个列族。这个history,math就是每个cell里边的key,

时间戳

Hbase 中通过 Row 和 Columns 确定的一个存储单元称为 Cell。每个 Cell 都保存着同一份数据的多个版本。 版本通过时间戳来索引,时间戳的类型是 64 位整型。时间戳可以由Hbase(在数据写入时自动)赋值,
此时时间戳是精确到毫秒的当前系统时间。时间戳也 可以由客户显示赋值。如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。每个 Cell 中,不同版本的数据按照时间倒序排序,即最新的数据排在最前面。

hbase常用命令行

下边分组举例 Shell 的各种操作。

general操作
查询 Hbase 服务器状态 status。

查询hbase版本 version

ddl操作
1、 创建一个表

create ‘table1’, ‘tab1_id’, ‘tab1_add’, ‘tab1_info’

2、 列出所有的表

3、 获得表的描述

describe “table1”

4、 删除一个列族 disable alter enable 注意删除前,需要先把表disable

disable ‘table1’

alter ‘table1’, {NAME=>’tab1_add’, METHOD=>’delete’}

enable ‘table1’

5、 查看表是否存在
exists ‘table2’

6、 判断表是否为‘enable’

is_enabled ‘table1’

7、 删除一个表

disable ‘table1’

drop ‘table1’

dml操作
1、 插入几条记录

put ‘member’, ‘scutshuxue’, ‘info:age’, ‘24’

put ‘member’, ‘scutshuxue’, ‘info:birthday’, ‘1987-06-17’

put ‘member’, ‘scutshuxue’, ‘info:company’, ‘alibaba’

put ‘member’, ‘scutshuxue’, ‘address:contry’, ‘china’

put ‘member’, ‘scutshuxue’, ‘address:province’, ‘zhejiang’

put ‘member’, ‘scutshuxue’, ‘address:city’, ‘hangzhou’

put命令比较简单,只有这一种用法:
hbase> put ‘t1′, ‘r1′, ‘c1′, ‘value’, ts1

t1指表名,r1指行键名,c1指列名,value指单元格值。ts1指时间戳,一般都省略掉了。

2、 全表扫描 scan

3、 获得数据 get

  1. 获得一行的所有数据

  2. 获得某行,某列族的所有数据

  3. 获得某行,某列族,某列的所有数据

4、 更新一条记录 put(把scutshuxue年龄改为99)

put ‘member’, ‘scutshuxue’, ‘info:age’, 99

5、 删除 delete、 deleteall

  1. 删除行’scutshuxue’, 列族为‘info’ 中age的值

delete ‘member’, ‘scutshuxue’, ‘info:age’

  1. 删除整行

deleteall ‘member’, ‘scutshuxue’

6、 查询表中有多少行

count ‘member’

7、 给‘xiaoming’这个id增加’info:age’字段,并使用counter实现递增

incr ‘member’, ‘xiaoming’, ‘info:age’

8、 将整个表清空

truncate ‘member’

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/688535.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号