Позволяет ли авросердце в улье обновлять или удалять записи?

У меня есть таблица в улье, созданная с использованием ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'.

Пытаюсь обновить запись, но получаю следующее сообщение об ошибке:

FAILED: SemanticException [Error 10294]: Attempt to do update or delete using transaction manager that does not support these operations. (state=42000,code=10294)

Похоже, что AvroSerDe не поддерживает транзакции ACID, но я не могу найти никакой информации об этом.


person sektor    schedule 13.04.2016    source источник


Ответы (1)


Транзакции Hive не поддерживают форматы файлов Avro в последнем выпуске Hive. И в настоящее время он интегрирован для работы только с форматами файлов ORC.

Согласно документации Hive «В этом первом выпуске поддерживается только формат файла ORC. Эта функция была построена таким образом, что транзакции могут использоваться любым форматом хранения, который может определять, как обновления или удаления применяются к базовым записям (в основном, это явный или неявный идентификатор строки), но до сих пор работа по интеграции выполнялась только для ORC."

Дополнительную информацию о транзакциях Hive можно найти здесь

person ninja123    schedule 13.04.2016
comment
Спасибо, Рик, за быстрый ответ. - person sektor; 14.04.2016