本文是java操作hbase的简单代码,备用。
windows环境链接hbase前需要的准备工作
package hbase;
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;
/**
* @author whg
*
*/
public class HbaseDemo {
//hbase 链接
static Connection conn;
// 数据库元数据操作对象
static Admin admin;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
setup();
createTable();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 初始化
* @throws Exception
*/
public static void setup() throws Exception{
System.out.println("--------------- 开始初始化 -----------------");
//取得一个数据库连接的配置参数对象
Configuration conf = HBaseConfiguration.create();
//设置连接参数:HBase数据库所在的主机IP或主机名
// conf.set("hbase.zookeeper.quorum", "192.168.1.105,192.168.1.106,192.168.1.107");
conf.set("hbase.zookeeper.quorum", "master,slave01,slave02");
//设置连接参数:HBase数据库使用的端口
conf.set("hbase.zookeeper.property.clientPort", "2181");
conf.set("hbase.master", "192.168.1.105:60000");
//取得一个数据库连接对象
conn=ConnectionFactory.createConnection(conf);
//取得一个数据库元数据操作对象
admin=conn.getAdmin();
System.out.println("--------------- 初始化完成 -----------------");
System.out.println("table list:"+admin.listTables().length);
}
/**
* 创建表
* @throws Exception
*/
public static void createTable()throws Exception{
System.out.println("---------------创建表 START-----------------");
// 数据表表名
String tableName="t_book";
// 新建一个数据表表名对象
TableName tn = TableName.valueOf(tableName);
//判断表是否存在
if(admin.tableExists(tn)){
System.out.println(tableName+"表已经存在!");
}else{
System.out.println(tableName+"表不存在,开始创建!");
// 数据表描述对象
HTableDescriptor tbDescriptor=new HTableDescriptor(tn);
// 列族描述对象
HColumnDescriptor f1=new HColumnDescriptor("f1");
HColumnDescriptor f2=new HColumnDescriptor("f2");
// 在数据表中新建一个列族
tbDescriptor.addFamily(f1);
tbDescriptor.addFamily(f2);
// 新建数据表
admin.createTable(tbDescriptor);
}
System.out.println("---------------创建表 END-----------------");
}
}