Phoenix использует jdbcTemplate для batchUpdate, в то время как столбец содержит последовательность

Я использую Phoenix в сочетании с jdbcTemplate для вставки данных в Hbase.

  • Phoenix4.7.0
  • База 1.1.2

Один из столбцов (id) в таблице генерируется монотонно с последовательностью, в общем, я использую метод "jdbcTemplate.execute(sql)" для вставки данных. Например, "вставить в таблицу (идентификатор строки) значения ( " строка "," СЛЕДУЮЩЕЕ ЗНАЧЕНИЕ ДЛЯ table.id_sequence")" Второй столбец (идентификатор) генерируется автоматически с помощью последовательности. Это нормально. Но когда я использую метод "jdbcTemplate.batchUpdate", то же самое sql для batchInsert, что-то не так с этим.

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

Как я могу это исправить?

1 ответ

Пожалуйста, добавьте hbase-protocol.jar в classpath. Так что это доступно для программирования..

Пожалуйста, ответьте мне, если в случае каких-либо проблем.

Другие вопросы по тегам