Функция Hive INSTR некорректно работает со строкой с символами UTF8

Функция Hive INSTR некорректно работает со строками с символами UTF8. Когда символ ударения является частью строки, INSTR возвращает неправильное расположение символов для последующих символов. Кажется, он считает байты вместо символов.

С символом ударения как частью строки возвращает 8

select INSTR("Réservation:", 'a'); returns 8 

Без символа ударения как части строки возвращает 7

select INSTR("Reservation:", 'a'); returns 7

Есть ли какое-то исправление для этой или альтернативной функции, которую я мог бы использовать?

1 ответ

Это то, что я получаю с улья 1.1.0,

hive>select INSTR("Réservation:", 'a');
OK
7

Так что никаких проблем с Hive. Если вам все еще нужна проблема с использованием INSTR написать свой собственный UDF для достижения этой цели. Для написания UDF обратитесь по ссылке ниже,

Нажмите здесь для UDF

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