一.HBase介绍
基于行键(rowKey)、列键(columnKey)和时间戳(timestamp)建立索引,一种键值存储、面向列族的数据库,也可以作为多时间戳版本映射的数据库,
专门为半结构化数据和水平可扩展性设计的数据库。
HBase 逻辑实体
表table HBase用表组织数据
行row 在表里,数据按行存储,行由行键唯一标识,行键rowkey没有数据类型,可以看做字节数组
列族column family 行里的数据按照列族分组,表中每行拥有相同的列族,列族名是字节数组
列限定符column qualifier 列族数据通过列来定位,不必事前定义,也不必在不同行之间保持一致,可以看做字节数组
单元cell 行键、列族、列限定符确定一个单元,单元存储的数为单元值value,单元值也是字节数组
时间版本version 单元值有时间版本,事件版本用时间戳标识,默认当前时间戳作为操作基础,保留时间版本数量基于列族配置,默认三个
HBase 有序映射的映射 数据结构类似于 Map<RowKey, Map<ColumnFamily, Map<ColumnQualifier, Map<Version, Date>>>>
二.安装
我放弃了,window 真他妈烦,怎么都启动不来。
三.基本操作
创建user表,table必须至少有一个列族,info就是列族
create user info
显示所有表
list
显示表参数,会显示表名和列族的列表
describe user
[行键 列族 列限定符] [rowkey, column family, column qualifier]
例[TheRealMT, info, name]
HTablePool pool = new HTablePool();
HTableInterface usersTable = pool.getTable(""user);
Put p = new Put(Bytes.toBytes("TheRealMT"));
p.add(Bytes.toBytes("info"), Byt