#hadoop #hive #parquet
Вопрос:
У меня есть разделенная внешняя таблица улья. В нем есть данные, загруженные из файлов parquet. У меня есть несколько столбцов в этой таблице, которые требуют изменения типа данных (МЕТКА ВРЕМЕНИ -> СТРОКА). В настоящее время при запросе этих столбцов он возвращает нулевые значения из-за неправильного типа данных.
Я побежал ALTER TABLE table_name CHANGE col_1 col_1 STRING;
, чтобы успешно изменить тип данных для этого столбца на СТРОКУ, но когда я снова запрашиваю таблицу, данные в этой таблице по-прежнему показывают значение NULL. Есть ли способ обновить данные без удаления разделов и повторной загрузки данных с нуля?
Комментарии:
1. как вы загрузили данные и почему изначально есть нули? Пожалуйста, опишите подробнее. Если вы загрузили с помощью вставки, а метки времени не удалось преобразовать из строк, то наверняка теперь в файлах данных есть нули, ничто не поможет, кроме повторной загрузки
2. @leftjoin Они изначально не являются нулевыми. Исходные данные содержат правильные данные. Проблема в том, что тип данных для столбца неверен. Поэтому он показывает значение NULL.
3. Теперь стол хранится как паркет, верно?. Могу я спросить, как вы проверили, что он не содержит нулей? Также, как вы загрузили его, до сих пор не ясно? пожалуйста, предоставьте более подробную информацию