一、Java API和HBase数据模型的关系
在Java中,与HBase数据库存储管理相关的类包括HBaseAdmin、HBaseConfiguration、HTable、HTableDescriptor、Put、Get以及Scanner,其中,与数据库相关的类包括HBaseAdmin和HBaseConfiguration,与表相关的包括HTable,操作列族的类是HTableDescriptor,列的修饰符包括Put、Get、Scanner三个类。
二、HBaseConfiguration类
通过HBaseConfiguration类可以对HBase进行相关配置,它是每一个HBase Client都会用到的对象,它的构造函数主要由以下两种:
1 public HBaseConfiguration(); 2 public HBaseConfiguration(final Configuration c); 3 /*默认的构造方式会尝试从hbase-default.xml和hbase-site.xml中读取配置。如果classpath没有这两个文件,就需要你自己设置配置。*/
它常用的操作主要是像下面的语句这样:
1 HBaseConfiguration hconfig = new HBaseConfiguration(); 2 hconfig.set("hbase.zookeeper.property.clientPort","8000");
这两条语句设置了“hbase.zookeeper.property.clientPort”属性的端口号为8000,一般情况下,HBaseConfiguration会使用构造函数进行初始化,然后再使用set、get方法添加必要的设置。
三、HBaseAdmin类
HBaseAdmin类主要是提供了一个接口来管理HBase数据库的表信息。它主要常用的一些表的操作方法,例如:创建表、删除表、浏览表、添加表或者删除表中数据,用法示例:
1 HBaseAdmin admin = new HBaseAdmin(hconfig); 2 hAdmin.createTable(“table name”); 3 hAdmin.disableTable("table name");
上面的语句首先创建一个表,然后使该表无效。在这个类的使用过程中,大多数还需要结合HTableDescriptor和HColumnDescriptor类,HTableDescriptor这个类主要是创建表的名字以及对应表的列族,HColumnDescriptor类主要是维护列族的信息,通常在创建表为表添加列族的时候使用,列族被创建之后不能直接修改,只能通过删除然后重建的方式修改,完整创建表的语句如下:
1 HBaseAdmin hAdmin = new HBaseAdmin(hbaseConfig); 2 HTableDescriptor t = new HTableDescriptor(tableName); 3 t.addFamily(new HColumnDescriptor(“f1″)); 4 t.addFamily(new HColumnDescriptor(“f2″)); 5 t.addFamily(new HColumnDescriptor(“f3″)); 6 t.addFamily(new HColumnDescriptor(“f4″)); 7 hAdmin.createTable(t);