Java 向Hbase表插入数据报错(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apa)
来源:互联网 发布:网络端口号 编辑:程序博客网 时间:2024/05/21 00:45
在用JAVA代码向Hbase表插入数据的时候,跳出org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apache.hadoop.hbase.client.HTable错误,刚接触大数据开发,当然得记录一下.
从上面可以看出HTablePool 转化为HTable类型了出错.查看getTable()方法.
原来,getTable返回的类型是HTableInterface类型,知道原因就好办了.
原代码:
public static void insertData1(String tableName) { System.out.println("start insert data ......"); HTablePool pool = new HTablePool(configuration, 1000); HTable table = (HTable) pool.getTable(tableName); Put put = new Put("112233bbbcccc".getBytes());// 一个PUT代表一行数据,再NEW一个PUT表示第二行数据,每行一个唯一的ROWKEY,此处rowkey为put构造方法中传入的值 put.add("column1".getBytes(), null, "aaa".getBytes());// 本行数据的第一列 put.add("column2".getBytes(), null, "bbb".getBytes());// 本行数据的第三列 put.add("column3".getBytes(), null, "ccc".getBytes());// 本行数据的第三列 try { table.put(put); } catch (IOException e) { e.printStackTrace(); } System.out.println("end insert data ......");}
修改后的代码:解决方法:
table.put(put); 换成
pool.getTable(tName).put(put);
** * 插入数据 * @param tableName */public static void insertData(String tableName) { System.out.println("start insert data ......"); HTablePool pool = new HTablePool(configuration, 1000); Put put = new Put("112233bbbcccc".getBytes());// 一个PUT代表一行数据,再NEW一个PUT表示第二行数据,每行一个唯一的ROWKEY,此处rowkey为put构造方法中传入的值 put.add("column1".getBytes(), null, "aaa".getBytes());// 本行数据的第一列 put.add("column2".getBytes(), null, "bbb".getBytes());// 本行数据的第三列 put.add("column3".getBytes(), null, "ccc".getBytes());// 本行数据的第三列 try { //如今应用的api版本中pool.getTable返回的类型是HTableInterface ,无法强转为HTable pool.getTable(tableName).put(put); }catch (Exception e){ } System.out.println("end insert data ......");}
阅读全文
0 0
- Java 向Hbase表插入数据报错(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apa)
- Java 向Hbase表插入数据报(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac
- Java 向Hbase表插入数据报(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac)
- hadoop、zookeeper、hbase整合,使用java查询hbase数据报错org.apache.hadoop.hbase.client.NoServerForRegionException:
- cannot be cast to org.apache
- org.apache.hadoop.hive.metastore.api.InvalidOperationException cannot be cast to java.lang.RuntimeEx
- Error: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException
- 处理org.apache.hadoop.hbase.client.ScannerTimeoutException
- tomcat启动报错:java.lang.ClassCastException: org.apache.jasper.runtime.ELContextImpl cannot be cast to o
- Mysql数据导入到Hbase报错:org.apache.hadoop.hbase.HTableDescriptor.addFamily
- HDFS上数据保存到Hbase运行报错:NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
- Hbase 启动报org.apache.hadoop.hbase.TableExistsException: hbase:namespace
- spark1.4 读取hbase 0.96 报错 java.io.NotSerializableException: org.apache.hadoop.hbase.io.ImmutableBytes
- java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcesso
- java.lang.ClassCastException:org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcesso
- Hbase源码分析之org.apache.hadoop.hbase.client包
- 【HBase】关于包org.apache.hadoop.hbase.client
- 解决HBase org.apache.hadoop.hbase.client.RetriesExhaustedException:
- zookeeper 的安装
- TCP连接探测中的Keepalive和心跳包. 关键字: tcp keepalive, 心跳, 保活
- Expected one result (or null) to be returned by selectOne(), but found: 2
- springboot+mockito 异常解决方案
- 牛B的Glide图片加载解析地址
- Java 向Hbase表插入数据报错(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apa)
- tomcat启动异常,Unable to load configuration.
- git远程删除分支后,本地git branch -a 依然能看到的解决办法
- BZOJ
- 简化Presenter,Nucleus组件
- hexo 学习链接
- Android Studio导入项目非常慢的解决办法
- 对象池
- 自然语言处理(一)