Java:使用HTable连接到HBase-处理连接丢失
我有一个问题。我使用Java程序在HBase中写入数据。我在那里有HTable对象,我调用以下方法(伪代码): clearBufferOnFail设置为true:Java:使用HTable连接到HBase-处理连接丢失,java,hadoop,connection,hbase,Java,Hadoop,Connection,Hbase,我有一个问题。我使用Java程序在HBase中写入数据。我在那里有HTable对象,我调用以下方法(伪代码): clearBufferOnFail设置为true: this.htable.setAutoFlush(false,true); 代码的第一部分被反复调用。我们做一些事情,创建一个Put对象,刷新htable,做更多的事情,创建一个Put对象。。。等等 如果我的HTable对象与HBase失去连接,会发生什么情况?这是内部处理的吗?或者我需要关闭我的HTable对象并打开一个新的HTa
this.htable.setAutoFlush(false,true);
代码的第一部分被反复调用。我们做一些事情,创建一个Put对象,刷新htable,做更多的事情,创建一个Put对象。。。等等
如果我的HTable对象与HBase失去连接,会发生什么情况?这是内部处理的吗?或者我需要关闭我的HTable对象并打开一个新的HTable对象吗?
到目前为止,我认为连接是通过连接池从HTable对象内部处理的,因此我不必做任何事情。我认为捕获一个异常然后重试就足够了。当clearBufferOnFail设置为true时,不会写入重复的数据
但是,是否会有太多的连接以某种方式被打开?或者这一切都处理好了吗?什么类型/类别的
htable
?它的org.apache.hadoop.hbase.client.htable,我使用的是org.apache.hbase的0.90.4-cdh3u3版本
// creates a Put object with new data
Put put = createNewPutObject();
htable.put(put);
htable.flushCommits();