更新时间:2024-06-14 GMT+08:00
分享

创建Connection

功能介绍

HBase通过ConnectionFactory.createConnection(configuration)方法创建Connection对象。传递的参数为上一步创建的Configuration。

Connection封装了底层与各实际服务器的连接以及与ZooKeeper的连接。Connection通过ConnectionFactory类实例化。创建Connection是重量级操作,Connection是线程安全的,因此,多个客户端线程可以共享一个Connection。

典型的用法,一个客户端程序共享一个单独的Connection,每一个线程获取自己的Admin或Table实例,然后调用Admin对象或Table对象提供的操作接口。不建议缓存或者池化Table、Admin。Connection的生命周期由调用者维护,调用者通过调用close(),释放资源。

代码样例

以下代码片段是创建Connection的示例:

private TableName tableName = null;
private Configuration conf = null;
private Connection conn = null;
public static final String TABLE_NAME = "hbase_sample_table";

public HBaseExample(Configuration conf) throws IOException {
  this.conf = conf;
  this.tableName = TableName.valueOf(TABLE_NAME);
  this.conn = ConnectionFactory.createConnection(conf);
}
  1. 样例代码中有很多的操作,如建表、查询、删表等,这里只列举了建表testCreateTable和删除表dropTable这2种操作。可参考对应章节样例。
  2. 创建表操作所需的Admin对象是从Connection对象获取。
  3. 登录代码要避免重复调用。

相关文档