java操作hbase的增删改查

首先需要将hbase安装目录下lib文件夹中的jar文件全部加入到项目类路径下,另外还需要将hadoop相关jar包也加入。

这里需要用到的主要API介绍一下。

Configuration:HBase参数配置对象。

Connection:HBase连接对象,通过ConnectionFactory工厂方法创建,需要传入一个参数配置对象。

Admin:通过Admin实现创建表,删除表操作。

TableName:取代字符串形式的tableName。

Table:使用Table可以新增数据put(),查询数据getScanner()。

下面通过代码来演示如何做常规的操作:

1、初始化配置,构建一个HBase连接器对象。

private static Connection connection;

static{
	Configuration config = HBaseConfiguration.create();
	config.set("hbase.rootdir", "hdfs://server:9000/hbase");
	config.set("hbase.zookeeper.quorum", "server:2181");
	try {
		connection = ConnectionFactory.createConnection(config);
	} catch (IOException e) {
		e.printStackTrace();
	}	
}

2、建表。

public static boolean createTable(String tableName,String columnFamily){
	boolean success = false;
	Admin admin = null;
	TableName tn = TableName.valueOf(tableName);
	try {
		admin = connection.getAdmin();
		if(!admin.tableExists(tn)){
			HTableDescriptor desc = new HTableDescriptor(tn);
			desc.addFamily(new HColumnDescriptor(columnFamily.getBytes()));
			admin.createTable(desc);
			System.out.println("table ["+tableName+"] create ok.");
			success = true;			
		}else{
			System.out.println("table ["+tableName+"] already exists.");
			success = false ;
		}
	} catch (Exception e) {
		success = false ;
	}
	return success;
}

3、插入数据。

public static boolean putData(String tableName,String rowKey,String columnFamily,String qualifier,Object value){
	boolean success = false;
	Admin admin = null;
	TableName table = TableName.valueOf(tableName);
	try {
		admin = connection.getAdmin();
		if(admin.tableExists(table)){
			Table t = connection.getTable(table);
			Put put = new Put(rowKey.getBytes());
			put.addColumn(columnFamily.getBytes(), qualifier.getBytes(), value.toString().getBytes());
			t.put(put);
			success = true;
		}else{
			System.out.println("table ["+tableName+"] does not exist.");
			success = false;
		}
	} catch (Exception e) {
		success = false;
	}
	return success;
}

4、查看数据。 

@SuppressWarnings("deprecation")
public static void getValueByTable(String tableName){
	TableName tn = TableName.valueOf(tableName.getBytes());
	try{
		Table 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值