创建Connection
功能介绍
HBase通过ConnectionFactory.createConnection(configuration)方法创建Connection对象。传递的参数为上一步创建的Configuration。
Connection封装了底层与各实际服务器的连接以及与ZooKeeper的连接。Connection通过ConnectionFactory类实例化。创建Connection是重量级操作,而且Connection是线程安全的,因此,多个客户端线程可以共享一个Connection。
典型的用法,一个客户端程序共享一个单独的Connection,每一个线程获取自己的Admin或Table实例,然后调用Admin对象或Table对象提供的操作接口。不建议缓存或者池化Table、Admin。Connection的生命周期由调用者维护,调用者通过调用close(),释放资源。
建议业务代码连接同一个CloudTable集群时,多线程创建并复用同一个Connection,不必每个线程都创建各自Connection。Connection是连接CloudTable集群的连接器,创建过多连接会加重Zookeeper负载,并损耗业务读写性能。
代码样例
以下代码片段是创建Connection对象的示例:
private TableName tableName = null; private Connection conn = null; public HBaseSample(Configuration conf) throws IOException { this.tableName = TableName.valueOf("hbase_sample_table"); this.conn = ConnectionFactory.createConnection(conf); }