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

я использую комбинацию phoenix с jdbcTemplate для вставки данных в Hbase.

  • Феникс4.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

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


person Z.xie    schedule 19.08.2016    source источник
comment
В нем говорится о несоответствии типов, поэтому вставленное значение не синхронизировано с типом данных, который принимает столбец. Не могли бы вы опубликовать код с некоторыми образцами данных? Посмотрите по ссылке, они диагностировали ту же проблему, вызванную подобным оператором. issues.apache.org/jira/browse/PHOENIX-1938   -  person xCodeZone    schedule 19.08.2016
comment
! думаю у очень много, я решил это! пока перезапускаю проект   -  person Z.xie    schedule 19.08.2016
comment
Рад, что вы сделали. Продолжай учиться! Ваше здоровье!!   -  person xCodeZone    schedule 19.08.2016


Ответы (1)


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

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

person Balkrushna Patil    schedule 13.06.2017