Hbase提供了丰富的Java API,以及线程池操作,下面我用线程池来展示一下使用Java API操作Hbase。
项目结构如下:
我使用的Hbase的版本是
hbase-0.98.9-hadoop2-bin.tar.gz
大家下载后,可以拿到里面的lib目录下面的jar文件,即上所示的hbase-lib资源。
接口类:
/hbase-util/src/com/b510/hbase/util/dao/HbaseDao.java
1 package com.b510.hbase.util.dao; 2 3 import java.util.List; 4 5 import org.apache.hadoop.hbase.client.HTableInterface; 6 7 8 /** 9 * @author Hongten 10 * @created 7 Nov 2018 11 */ 12 public interface HbaseDao { 13 14 // initial table 15 public HTableInterface getHTableFromPool(String tableName); 16 17 // check if the table is exist 18 public boolean isHTableExist(String tableName); 19 20 // create table 21 public void createHTable(String tableName, String[] columnFamilys); 22 23 // insert new row 24 public void addRow(String tableName, String rowKey, String columnFamily, String column, String value); 25 26 // get row by row key 27 public void getRow(String tableName, String rowKey); 28 29 public void getAllRows(String tableName); 30 31 // get rows by giving range 32 public void getRowsByRange(String tableName, String startRowKey, String endRowKey); 33 34 //delete row 35 public void delRow(String tableName, String rowKey); 36 37 //delete rows by row keys 38 public void delRowsByRowKeys(String tableName, List<String> rowKeys); 39 40 // auto flush data when close 41 public void closeAutoFlush(HTableInterface table); 42 43 // close table 44 public void closeTable(HTableInterface table); 45 46 // close pool connection 47 public void closePoolConnection(); 48 49 // delete table 50 public void deleteHTable(String tableName); 51 }