1

我正在使用 phoenix 与 jdbcTemplate 结合将数据插入 Hbase。

  • 凤凰4.7.0
  • Hbase 1.1.2

表中的一列(id)是用序列单调生成的,一般来说,我使用“jdbcTemplate.execute(sql)”方法插入数据。例如,"upsert into table(row id) values("row"," NEXT VALUE FOR table.id_sequence")" 第二列(id)是自动生成的,带有一个序列。没关系。但是当我使用“jdbcTemplate.batchUpdate”方法时,与batchInsert相同的sql,它有问题。

Caused by: org.apache.phoenix.exception.BatchUpdateExecution: ERROR 1106 (XCL06): Exception while executing batch.
at org.apache.phoenix.jdbc.PhoenixStatement.executeBatch(PhoenixStatement.java:1226)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:905)
at org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:890)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589)
... 45 more
Caused by: org.apache.phoenix.schema.TypeMismatchException: ERROR 203 (22005): Type mismatch. BIGINT and VARCHAR for NEXT VALUE FOR AQMDATA_ALL.id_sequence

我该如何解决?

4

1 回答 1

0

请在类路径中添加 hbase-protocol.jar。以便它可以编程..

如果有任何问题,请回复我。

于 2017-06-13T07:29:30.420 回答