Как обновить метаданные таблицы куста с помощью последнего файла схемы AVRO

FAILED: RuntimeException MetaException (сообщение: org.apache.hadoop.hive.serde2.SerDeException Обнаружена схема определения AvroSerdeException. Возврат схемы сигнала для указания проблемы: невозможно прочитать схему по указанному пути: /master_data/XYZ/DA12195/business_date=20181126/_schema .avsc)

Файл схемы существует в новом разделе с business_date=20181129, но таблица куста по-прежнему указывает на файл схемы в более старом разделе.


person S_K    schedule 30.11.2018    source источник
comment
не могли бы вы попробовать msck repair table <table_name>   -  person Gaurang Shah    schedule 30.11.2018
comment
Это не помогает, поскольку мы сбросили базовые данные таблицы AVRO, а затем скопировали их обратно. В этом случае метаданные таблицы неверны.   -  person S_K    schedule 03.12.2018
comment
что это означает: «мы очистили базовые данные таблицы AVRO, а затем скопировали их обратно», вы удалили данные всей таблицы или должны были удалить один раздел?   -  person Gaurang Shah    schedule 03.12.2018
comment
Мы удалили данные AVRO для всей таблицы на этапе тестирования. Теперь у нас есть набор данных из Hadoop TRASH. Но при попытке выполнить запрос к таблице происходит сбой с указанной выше ошибкой.   -  person S_K    schedule 05.12.2018


Ответы (1)


Удаление внешней таблицы и ее повторное создание помогло решить эту проблему. Также команда MSCK REPAIR помогла воссоздать разделы куста.

Файл _schema.avsc содержит информацию о схеме таблицы AVRO. Нам нужно указать метаданные таблицы куста, чтобы указать правильное местоположение этого файла. Для внесения этого изменения необходимо обновить свойства serde и tblproperties.

person S_K    schedule 21.12.2018