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

出错代码如下:

//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

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

//ht.put(put); 换成
hp.getTable(tName).put(put);
时间: 2024-11-10 18:56:08

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

Hbase 创建表 插入数据Hb

Hbase 创建表 插入数据 创建表 public static void main(String[] args) throws IOException { // Instantiating configuration class 初始化配置文件 Configuration con = HBaseConfiguration.create(); // Instantiating HbaseAdmin class 初始化HbaseAdmin HBaseAdmin admin = new HBaseA

Java 向Hbase表插入数据报(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac

org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac 代码: //1.create HTablePool HTablePool hp=new HTablePool(con, 1000); //2.get HTable from HTablepool HTable ht=(HTable)hp.getTable(tName); 原因:如今应用的api版本中pool.getTable返回的类型

Java 向Hbase表插入数据报(org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac)

org.apache.hadoop.hbase.client.HTablePool$PooledHTable cannot be cast to org.apac 代码: //1.create HTablePool HTablePool hp=new HTablePool(con, 1000); //2.get HTable from HTablepool HTable ht=(HTable)hp.getTable(tName); 原因:如今应用的api版本中pool.getTable返回的类型

hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)

本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info' hdfs上的文本文件如下[data/hbase_input/hbase.txt] 1,xiejl,20 2,haha,30 3,liudehua,40 4,daoming,41 可以通过命令查看hadoop的classpath现在包含哪些jar包: [[email protected] ~]$

向oracle中的表插入数据的方法

向oracle中的表插入数据的方法有以下几种: 假设表名为User 第一种方法:select t.*,rowid from User t;-->点击钥匙那个标记就可向表中添加数据 第二种方法:select t.*,rowid from User t for update;-->点击钥匙那个标记就可向表中添加数据 第三种方法:在oracle中的table表中选中你要添加数据的那个表-->点击右键-->选中Edit data-->就可向表中添加数据 第四种方法:通过DAO层来添加

SQL-Oracle存储过程-循环A表,向B表插入数据

--存储过程,查询A表,向B表插入数据 create or replace procedure prc_sg_sjtj_config(p_flag out varchar2) IS BEGIN FOR c_row IN (SELECT T.UNIT_NAME, T.DATA_NAME, T.TABLE_NAME, T.UPDATE_ODR, DECODE(T.DATA_METHODS, '文件', '拷贝', '接口', '服务接口', '交换平台') AS DATA_METHODS FROM

JS 向web sql数据表插入数据

var strSQL = "insert into tableName values (?,?,?)"; var info=[1,1,1]; //向web sql数据表插入数据. function insertInfo(strSQL,info){ //连接数据库(http://www.cnblogs.com/nb08611033/p/8227560.html) db = openDB(); if (db) { db.transaction(function(tr) { tr.execu

HBase表的数据导出和导入

1. 表数据导出 hbase org.apache.hadoop.hbase.mapreduce.Export test file:///home/hadoop/test (导入到本地) hbase org.apache.hadoop.hbase.mapreduce.Export test /user/hadoop/test (导入到hdfs上) #创建一个test表,一个列簇info hbase(main):004:0* create 'test','info' 0 row(s) in 4.3

org.apache.hadoop.hbase.master.HMasterCommandLine: Master exiting java.lang.RuntimeException: HMaster Aborted

前一篇的问题解决了,是 hbase 下面lib 包的jar问题,之前写MR的时候加错了包,替换掉了原来的包后出现另一问题:@ubuntu:/home/hadoop/hbase-0.94.6-cdh4.5.0/bin$ ./start-hbase.sh starting master, logging to /home/hadoop/hbase-0.94.6-cdh4.5.0/logs/hbase-master-ubuntu.outlocalhost: starting regionserver,