码迷,mamicode.com
首页 > 其他好文 > 详细

Hbase Client Test Case

时间:2015-04-28 22:51:00      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:hbase   hbase客户端java操作   

好吧,其实就是一个简单的Hbase客户端java操作

HbaseTestCase.java

package hbase;

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.client.Get;
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.client.Result;
import org.apache.hadoop.hbase.client.ResultScanner;
import org.apache.hadoop.hbase.client.Scan;


/**
 * 
 * <p> 
 * Title: HbaseTestCase.java 
 * Package hbase 
 * </p>
 * <p>
 * Description: Hbase Client TestCase
 * <p>
 * @author Tom.Cai
 * @created 2015-4-28 下午9:14:01 
 * @version V1.0 
 *
 */
public class HbaseTestCase {
	public static final String TABLE_NAME = "table1";
	public static final String FAMILY_NAME = "family1";
	public static final String ROW_KEY = "row1";
	
	public static void main(String[] args) throws Exception {
		Configuration conf = HBaseConfiguration.create();
		//定位到hadoop
		conf.set("hbase.rootdir", "hdfs://192.168.80.100:9000/hbase");
		//hadoop地址也可以配置成主机名的形式
		conf.set("hbase.zookeeper.quorum", "192.168.80.100");
		
		HBaseAdmin admin = new HBaseAdmin(conf);
		//新增表
		createTable(admin);
		
		//删除表
		//deleteTable(admin);
		
		
		HTable htable = new HTable(conf, TABLE_NAME);
		//增加表记录
		//addRecodes(htable);
		
		//获取表记录
		getRecodes(htable);
		
		//全表扫描表
		scanTable(htable);
	}



	private static void scanTable(HTable htable) throws IOException {
		Scan scan = new Scan();
		ResultScanner rScanner = htable.getScanner(scan);
		for (Result result : rScanner) {
			byte[] be = result.getValue(FAMILY_NAME.getBytes(), "qualifier".getBytes());
			System.out.println(result+"---->value:"+new String(be));
		}
	}



	private static void getRecodes(HTable htable) throws IOException {
		Get get = new Get(ROW_KEY.getBytes());
		Result  result = htable.get(get);
		byte[] b = result.getValue(FAMILY_NAME.getBytes(), "qualifier".getBytes());
		System.out.println(new String(b));
	}



	private static void addRecodes(HTable htable) throws IOException {
		Put put = new Put(ROW_KEY.getBytes());
		put.add(FAMILY_NAME.getBytes(),"qualifier".getBytes(),"value".getBytes());
		htable.put(put);
	}



	private static void deleteTable(HBaseAdmin admin) throws IOException {
		admin.disableTable(TABLE_NAME);
		admin.deleteTable(TABLE_NAME);
	}

	
	
	private static void createTable(HBaseAdmin admin) throws IOException {
		if(!admin.tableExists(TABLE_NAME)){
			HTableDescriptor desc = new HTableDescriptor(TABLE_NAME);
			HColumnDescriptor family = new HColumnDescriptor(FAMILY_NAME);
			desc.addFamily(family);
			admin.createTable(desc);
		}
	}
}

我的个人网站:http://www.caicongyang.com 

我的CSDN博客地址: http://blog.csdn.net/caicongyang




Hbase Client Test Case

标签:hbase   hbase客户端java操作   

原文地址:http://blog.csdn.net/caicongyang/article/details/45343783

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!