2016-08-19 6 views
1

Я использую феникс-комбайн с jdbcTemplate для вставки данных в Hbase.Использование Phoenix jdbcTemplate для batchUpdate в то время как столбец содержит последовательность

  • Phoenix4.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, тот же 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 

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

+0

В нем указано несоответствие типа, поэтому вставленное значение не синхронизируется с типом данных, который принимает этот столбец. Не могли бы вы отправить код с некоторыми образцами данных? Посмотрите на ссылку, они поставили диагноз той же проблемы, вызванной подобным оператором. https://issues.apache.org/jira/browse/PHOENIX-1938 – xCodeZone

+0

! думаю, очень, я решил! в то время как я перезапускаю проект –

+0

Рад, что вы это сделали. Продолжай учиться! Ура !! – xCodeZone

ответ

0

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

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

Смежные вопросы