Java 向Hbase表插入数据异常org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apache.client.HTable

时间:2024-09-02 22:33:08

出错代码如下:

//1.create HTablePool
HTablePool hp=new HTablePool(con, 1000);
//2.get HTable from HTablepool
HTable ht=(HTable)hp.getTable(tName);

出错原因,主要是版本更新了,所以旧的调用方式会报错:如今应用的api版本中pool.getTable返回的类型是HTableInterface ,无法强转为HTable

Java 向Hbase表插入数据异常org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apache.client.HTable

解决方法:跳过转换为中间变量,直接调用

//ht.put(put); 换成
hp.getTable(tName).put(put);