Hbase-Client 1.x新版API操做大全

    某佰的教程太老了,不少都是過期的API,一些方法在eclipse中顯示都帶有橫劃線的,看的很髒亂,並且還有印刷錯誤,故花了幾天時間四處蒐羅資料把Hbase1.x的API整理了一下 ,本文的java程序所有基於HBase client 1.x以上版本 寫了一套example分門別類的列出來給你們分享(帶有詳細中文註釋) java

 

ALTER表相關操做

1. 添加列族

package com.chenjun.hbtest.example.alter;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API添加一列族
 * 下面給出的是一個完整的程序,用於添加一列族到現有的表。
 * @author CJ
 */
public class AddColoumn {

	public static void main(String[] args) throws MasterNotRunningException, IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 初始化列描述對象
		HColumnDescriptor columnDescriptor = new HColumnDescriptor("contactDetails");

		// 添加一個列族
		admin.addColumn(TableName.valueOf("employee"), columnDescriptor);
		System.out.println("coloumn added");
	}

}

2. 刪除列族

package com.chenjun.hbtest.example.alter;

import java.io.IOException;
import java.nio.charset.Charset;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * @author CJ
 *
 * 使用Java API刪除列族
 * 可使用HBAseAdmin類的deleteColumn()方法刪除列族。按照下面給出的步驟添加一個列族到表中。
 */
public class DeleteColoumn {

	public static void main(String[] args) throws MasterNotRunningException, IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 使用deleteColumn()方法delete列族。傳遞表名和列族名做爲這個方法的參數。
		admin.deleteColumn(TableName.valueOf("TableName"), "contactDetails".getBytes(Charset.forName("UTF-8")));
		System.out.println("列族已刪除");
	}

}

3. 建立一個表

package com.chenjun.hbtest.example.alter;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API建立一個表
 * 可使用HBaseAdmin類的createTable()方法建立表在HBase中。
 * 這個類屬於org.apache.hadoop.hbase.client 包。下面給出的步驟是來使用Java API建立表在HBase中。
 * 
 * @author CJ
 */

public class CreateTable {
	public static void main(String[] args) throws IOException, ServiceException {
		//new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		//初始化表描述
		HTableDescriptor tableDescriptor = new HTableDescriptor(TableName.valueOf("emp"));

		//給表描述對象增長列族
		tableDescriptor.addFamily(new HColumnDescriptor("personal"));
		tableDescriptor.addFamily(new HColumnDescriptor("professional"));

		//讓admin根據tableDescriptor執行建表操做
		admin.createTable(tableDescriptor);
		System.out.println("hbase表建立成功! 表名爲emp,列族有personal , professional");
	}
}

4. 刪除表

package com.chenjun.hbtest.example.alter;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API刪除表 在刪除一個表以前必須先將其禁用。
 * 
 * @author CJ
 */
public class DeleteTable {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();
		// 禁用
		admin.disableTable(TableName.valueOf("emp"));
		// 刪除
		admin.deleteTable(TableName.valueOf("emp12"));
		System.out.println("Table deleted");
	}

}

增刪改查操做

1.全掃描表

package com.chenjun.hbtest.example.crud;
import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;

/**
 * 使用Java API掃描
 * 使用Java API掃描整個表的數據的完整程序以下:
 * 
 * @author CJ
 */
public class FullScanTable {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名實例化HTable對象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		Scan scan = new Scan();

		// 掃描須要的列族和列
		scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
		scan.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"));

		// 獲取掃描結果
		ResultScanner scanner = hTable.getScanner(scan);

		// 遍歷scan結果
		for (Result result = scanner.next(); result != null; result = scanner.next()) {
			System.out.println("Found row : " + result);
		}
		scanner.close();
	}

}

2.範圍掃描表

package com.chenjun.hbtest.example.crud;

import java.io.IOException;
import java.util.List;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 用JAVA API經過行鍵範圍掃描HBase的操做
 * @author CJ
 */
public class RangeScanTable {
	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名實例化HTable對象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}
		//行鍵的開始值
		String beginRowKey = "1";
		//行鍵的結束值
		String endRowKey = "2";
		Scan scan = new Scan(Bytes.toBytes(beginRowKey), Bytes.toBytes(endRowKey));
		ResultScanner result = hTable.getScanner(scan);
		for (Result item : result) {
			String rowKey = Bytes.toString(item.getRow());
			//參數:列族,列名
			List<Cell> cells = item.getColumnCells(Bytes.toBytes("self"), Bytes.toBytes("name"));
			//最新的值排在前面,因此取cells的第一個元素
			System.out.println("rowKey:"+rowKey+"  "+"cell:"+cells.get(0));
		}
		
	}
}

3.插入數據

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API插入數據
 * 可使用Put 類的add()方法將數據插入到HBase。
 * 可使用HTable類的put()方法保存數據。這些類屬於org.apache.hadoop.hbase.client包
 * 
 * @author CJ
 */
public class InsertData {

	public static void main(String[] args) throws IOException, ServiceException {
		//new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		// 用rowKey實例化Put類
		Put p = new Put(Bytes.toBytes("row1"));
		
		//參數:列族,列名,列值
		p.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"), Bytes.toBytes("raju"));

		p.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"), Bytes.toBytes("hyderabad"));

		p.addColumn(Bytes.toBytes("professional"), Bytes.toBytes("designation"), Bytes.toBytes("manager"));

		p.addColumn(Bytes.toBytes("professional"), Bytes.toBytes("salary"), Bytes.toBytes("50000"));

		hTable.put(p);
		System.out.println("data inserted");
		hTable.close();
	}

}

4.查詢數據

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API讀取數據 從一個HBase表中讀取數據,要使用HTable類的get()方法。這種方法須要Get類的一個實例
 * 
 * @author CJ
 */
public class ReadData {
	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名實例化HTable對象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		// 用RowKey實例化Get對象
		Get g = new Get(Bytes.toBytes("row1"));

		// 讀取數據
		Result result = hTable.get(g);

		// 根據列族和列取出數據
		byte[] value = result.getValue(Bytes.toBytes("personal"), Bytes.toBytes("name"));
		byte[] value1 = result.getValue(Bytes.toBytes("personal"), Bytes.toBytes("city"));

		//byte[]轉String 
		String name = Bytes.toString(value);
		String city = Bytes.toString(value1);
		
		//打印輸出結果
		System.out.println("name: " + name + " city: " + city);
	}
}

5.更新數據

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API更新數據 使用put()方法將特定單元格更新數據
 * 
 * @author CJ
 */
public class UpdateData {

	public static void main(String[] args) throws MasterNotRunningException, ZooKeeperConnectionException, ServiceException, IOException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}
		// 用rowKey實例化Put對象
		Put p = new Put(Bytes.toBytes("row1"));
		p.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("city"), Bytes.toBytes("Delih"));
		hTable.put(p);
		System.out.println("data Updated");
		//關閉表
		hTable.close();
	}

}

6.刪除數據

package com.chenjun.hbtest.example.crud;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.HBaseAdmin;
import org.apache.hadoop.hbase.client.HTable;
import org.apache.hadoop.hbase.util.Bytes;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API刪除數據 能夠從使用HTable類的delete()方法刪除HBase表數據
 * 
 * @author CJ
 */
public class DeleteData {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 用表名實例化HTable對象
		String tableName = "emp";
		TableName tn = TableName.valueOf(tableName);
		HTable hTable = null;
		if (admin.tableExists(tn)) {
			hTable = (HTable) conn.getTable(tn);
		} else {
			System.err.println("此表不存在");
			System.exit(-1);
		}

		// 用rowKey實例化Delete對象
		Delete delete = new Delete(Bytes.toBytes("row1"));
		//制定要刪除的列族和列
		delete.addColumn(Bytes.toBytes("personal"), Bytes.toBytes("name"));
		delete.addFamily(Bytes.toBytes("professional"));

		// 執行刪除
		hTable.delete(delete);

		// closing the HTable object
		hTable.close();
		System.out.println("data deleted.....");
	}

}

其餘操做

1.禁用表

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 禁用表使用Java API 要驗證一個表是否被禁用,使用isTableDisabled()方法 和disableTable()方法禁用一個表。
 * 這些方法屬於HBaseAdmin類。
 * 
 * @author CJ
 */
public class DisableTable {
	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 檢查表是否禁用。
		Boolean bool = admin.isTableDisabled(TableName.valueOf("emp"));
		System.out.println(bool);

		// 使用HBaseAdmin對象禁用表。
		if (!bool) {
			admin.disableTable(TableName.valueOf("emp"));
			System.out.println("表[emp]已經被禁用");
		}
	}

}

2.啓用表

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.MasterNotRunningException;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API啓用表
 * 要驗證一個表是否被啓用,使用isTableEnabled()方法;而且使用enableTable()方法使一個表啓用。
 * 這些方法屬於HBaseAdmin類。按照下面給出啓用表的步驟。
 * 
 * @author CJ
 */
public class EnableTable {

	public static void main(String[] args) throws MasterNotRunningException, IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 檢查表是否啓用。
		Boolean bool = admin.isTableEnabled(TableName.valueOf("emp"));
		System.out.println(bool);

		// Disabling the table using HBaseAdmin object
		if (!bool) {
			admin.enableTable(TableName.valueOf("emp"));
			System.out.println("Table[emp]已經啓用");
		}
	}

}

3.列出全部表

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API列出表
 * 按照下面給出的步驟來使用Java API從HBase得到表的列表。
 * 
 * @author CJ
 */
public class ListTables {

	public static void main(String[] args) throws IOException, ServiceException {
		//new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		//根據admin獲取表描述
		HTableDescriptor[] tableDescriptor = admin.listTables();

		//打印全部的表名
		for (int i = 0; i < tableDescriptor.length; i++) {
			System.out.println(tableDescriptor[i].getNameAsString());
		}
	}

}

4.判斷某表是否存在

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API驗證表的存在
 * 可使用HBaseAdmin類的tableExists()方法驗證表在HBase中是否存在。按照下面給出的步驟驗證HBase表存在。
 * 
 * @author CJ
 */
public class TableExists {

	public static void main(String[] args) throws IOException, ServiceException{
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 驗證表是否存在
		boolean bool = admin.tableExists(TableName.valueOf("emp"));
		System.out.println(bool);
	}

}

5.關閉HBase服務

package com.chenjun.hbtest.example.other;

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.Admin;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.HBaseAdmin;

import com.google.protobuf.ServiceException;

/**
 * 使用Java API中止HBase
 * 可使用HBaseAdmin類的shutdown()方法關閉HBase。按照下面給出關閉HBase的步驟
 * 
 * @author CJ
 */

public class ShutDownHbase {

	public static void main(String[] args) throws IOException, ServiceException {
		// new一個配置對象
		Configuration conf = HBaseConfiguration.create();
		Connection conn = ConnectionFactory.createConnection(conf);
		HBaseAdmin.checkHBaseAvailable(conf);
		Admin admin = conn.getAdmin();

		// 中止Hbase
		System.out.println("Shutting down hbase");
		admin.shutdown();
	}

}
相關文章
相關標籤/搜索