您好,欢迎访问一九零五行业门户网

HBase Java API详解

hbase是hadoop的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。在讲解的时
hbase是hadoop的数据库,能够对大数据提供随机、实时读写访问。他是开源的,分布式的,多版本的,面向列的,存储模型。
在讲解的时候我首先给大家讲解一下hbase的整体结构,如下图:
hbase master是服务器负责管理所有的hregion服务器,hbase master并不存储hbase服务器的任何数据,hbase逻辑上的表可能会划分为多个hregion,然后存储在hregion server群中,hbase master server中存储的是从数据到hregion server的映射。
一台机器只能运行一个hregion服务器,数据的操作会记录在hlog中,在读取数据时候,hregion会先访问hmemcache缓存,如果缓存中没有数据才回到hstore中上找,没一个列都会有一个hstore集合,每个hstore集合包含了很多具体的hstorefile文件,这些文件是b树结构的,方便快速读取。
再看下hbase数据物理视图如下:
row keytimestampcolumn family
uriparser
r1t3url=http://www.taobao.comtitle=天天特价
t2host=taobao.com 
t1  
r2t5url=http://www.alibaba.comcontent=每天…
t4host=alibaba.com 
  row key: 行键,,table的主键,table中的记录按照row key排序
  timestamp: 时间戳,每次数据操作对应的时间戳,可以看作是数据的version number
  column family:列簇,table在水平方向有一个或者多个column family组成,一个column family中可以由任意多个column组成,即column family支持动态扩展,无需预先定义column的数量以及类型,所有column均以二进制格式存储,用户需要自行进行类型转换。
了解了hbase的体系结构和hbase数据视图够,现在让我们一起看看怎样通过java来操作hbase数据吧!
先说说具体的api先,如下
hbaseconfiguration是每一个hbase client都会使用到的对象,它代表的是hbase配置信息。它有两种构造方式:
public hbaseconfiguration()
public hbaseconfiguration(final configuration c)
默认的构造方式会尝试从hbase-default.xml和hbase-site.xml中读取配置。如果classpath没有这两个文件,就需要你自己设置配置。
configuration hbase_config = new configuration();
hbase_config.set(“hbase.zookeeper.quorum”, “zkserver”);
hbase_config.set(“hbase.zookeeper.property.clientport”, “2181″);
hbaseconfiguration cfg = new hbaseconfiguration(hbase_config);
其它类似信息

推荐信息