開發工具:Eclipse,
三步
1.新建一個項目
2.把hbase安裝下的lib的文件都拷貝進來
3.把lib目錄下jar文件都引入
4.lib下的client-facing-thirdparty 目錄下的jar也都引入
看圖php
package com.yue;java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.;
import org.apache.hadoop.hbase.client.;數據庫
import java.io.IOException;
public class Test {
public static Configuration configuration; // 管理Hbase的配置信息
public static Connection connection; // 管理Hbase鏈接
public static Admin admin; // 管理Hbase數據庫的信息apache
public static void main(String[] args) throws IOException { // TODO Auto-generated method stub System.out.println("sheet"); init(); String colF[] ={"score"}; createTable("stu41",colF); insertData("stu41","zhangsan","score","English","69"); insertData("stu41","lisi","score","English","69"); getData("stu41","zhangsan","score","English"); close(); } public static void init(){ configuration = HBaseConfiguration.create(); configuration.set("hbase.zookeeper.quorum", "localhost"); try{ connection = ConnectionFactory.createConnection(configuration); admin = connection.getAdmin(); }catch(IOException e){ e.printStackTrace(); } } public static void createTable(String myTableName,String[] colFamily) throws IOException{ TableName tableName = TableName.valueOf(myTableName); if(admin.tableExists(tableName)){ System.out.println("Table exists"); }else { HTableDescriptor hTableDescriptor = new HTableDescriptor(tableName); for(String str:colFamily){ HColumnDescriptor hColumnDescriptor = new HColumnDescriptor(str); hTableDescriptor.addFamily(hColumnDescriptor); } admin.createTable(hTableDescriptor); } } // 添加單元格數據 /* * @param tableName 表名 * @param rowKey 行鍵 * @param colFamily 列族 * @param col 列限定符 * @param val 數據 * @thorws Exception * */ public static void insertData(String tableName,String rowKey,String colFamily,String col,String val) throws IOException{ Table table = connection.getTable(TableName.valueOf(tableName)); Put put = new Put(rowKey.getBytes()); put.addColumn(colFamily.getBytes(),col.getBytes(),val.getBytes()); table.put(put); table.close(); } //瀏覽數據 /* * @param tableName 表名 * @param rowKey 行 * @param colFamily 列族 * @param col 列限定符 * @throw IOException * */ public static void getData(String tableName,String rowKey,String colFamily,String col) throws IOException{ Table table = connection.getTable(TableName.valueOf(tableName)); Get get = new Get(rowKey.getBytes()); get.addColumn(colFamily.getBytes(),col.getBytes()); Result result =table.get(get); System.out.println(new String(result.getValue(colFamily.getBytes(),col==null?null:col.getBytes()))); table.close(); } // 操做數據庫以後,關閉鏈接 public static void close(){ try{ if(admin!=null){ admin.close(); // 退出用戶 } if(null != connection){ connection.close(); // 關閉鏈接 } }catch (IOException e){ e.printStackTrace(); } } //刪除表 public static void deleteTable(String tableName){ try { TableName tablename = TableName.valueOf(tableName); admin = connection.getAdmin(); admin.disableTable(tablename); admin.deleteTable(tablename); } catch (IOException e) { e.printStackTrace(); } } //End
}
單機模式ide
configuration = HBaseConfiguration.create();
configuration.set("hbase.zookeeper.quorum", "localhost");
集羣模式工具
configuration.set("hbase.rootdir","hdfs://master:9000/hbase");//主節點
configuration.set("hbase.zookeeper.quorum","master,slave1,slave2"); // 設置zookeeper節點
configuration.set("hbase.zookeeper.property.clientPort","2181"); // 設置客戶端節點
java開發Hbase簡直不費勁,當時鼓搗那個php操做Hbase搞了好幾天。
https://java-er.com/blog/java-hbase-example/oop