После изменения имени столбца в кусте значение столбца становится равным NULL - PullRequest
1 голос
/ 17 апреля 2020

Работа с таблицей улья, где мне нужно изменить имя столбца, как показано ниже, его работа работает как положено, и имя столбца меняется, но значение подчеркивания этого столбца становится равным NULL.

ALTER TABLE bdahd01p_dlaai1_aai_pag.raw_esg_sustainalytics_pi_b CHANGE hdfs_loaddate hdfs_load_date String;

Здесь изменено имя столбца hdfs_load_date и значения получают NULL после переименования имени столбца.

Есть ли у кого-нибудь идеи, чтобы это исправить. Заранее спасибо !!

1 Ответ

3 голосов
/ 17 апреля 2020

@ Ajay_SK Ссылка на эту статью: Изменение таблицы Hive Alter Имя столбца

Есть комментарий:

Обратите внимание, что изменение столбца не изменится исходные данные, если это паркетный стол. То есть, если у вас уже есть данные в таблице, переименование столбца не сделает данные в этом столбце доступными под новым именем: выберите a из test_change; 1 изменить таблицу test_change изменить a1 int; выберите a1 из test_change; null

Он указывает c на паркет, но описанный вами сценарий аналогичен, когда вы успешно изменили имя, но куст все еще думает, что исходные данные находятся в исходном ключе.

Лучшим подходом к решению вашей проблемы было бы создание новой таблицы схемы, которую вы хотите, с изменением имени столбца. Затем выполните вставку INTO новой таблицы и выберите FROM * old table.

...