У меня есть таблица Hive External со столбцом сложного типа данных, который хранится как ORC.
CREATE EXTERNAL TABLE IF NOT EXISTS TEST_TABLE
test_attributes STRUCT<id:STRING, name:STRING, data:MAP<STRING, STRING>>
STORED AS ORC
LOCATION '/user/test/test_table';
Я записываю в каталог HDFS /user/test/test_table
, а затем создаю структуру таблицы в этом месте - как онавыполняется нормально.
Я также могу сделать select count(*) from test_table;
и посмотреть соответствующий счет.
Однако при попытке прочитать из таблицы с select * from test_table
я получаю следующую ошибку:
Ошибка: java.io.IOException: org.apache.orc.impl.SchemaEvolution $ IllegalEvolutionException: ORC не поддерживает преобразование типов из карты типов файлов <строка, строка> (22) в тип чтениястрока (19) (состояние =, код = 0)
Примите во внимание мысли по этому вопросу.